簡體   English   中英

如何將PHP變量與Typeahead變量一起傳遞

[英]How to pass PHP variables along with a Typeahead variable

我將其簡化為盡可能簡單。 我創建了一個完美的預輸入變量。 但是我需要傳遞其他兩個與$ ahead無關的變量$ php_var1和$ php_var2。 PHP變量在start.php中定義。 提前輸入腳本調用search_script.php,然后調用cart.php。 cart.php是我將需要將兩個PHP變量傳遞給的地方。 預先感謝您的任何幫助

start.php

<?php
  $php_var1 = "my php variable 1";
  $php_var2 = "my php variable 2";
?>


<script>

$(document).ready(function() {

    var php_var1 = <?php echo $php_var1; ?>;
    var php_var2 = <?php echo $php_var2; ?>;


    $('#my_input').typeahead({
        source: function(query, result) {
            $.ajax({
                url: "search_script.php",
                method: "POST",
                data: {
                    query: query
                },
                dataType: "json",
                success: function(data) {
                    result($.map(data, function(item) {
                        return item;

                    }));
                }

            })
        },
        updater: function(item) {
            location.href = 'cart.php?shop_name=' + item
            return item
        }
    });

    });

</script>

<form action="cart.php" action="post">

<input type="text"  id="my_input" placeholder="Typeahead Search" />

</form>

search_script.php

<?php

$php_var1  = isset($_REQUEST['php_var1']) ? $_REQUEST['php_var1'] : "empty";
$php_var2  = isset($_REQUEST['php_var2']) ? $_REQUEST['php_var2'] : "empty";

$connect = mysqli_connect($servername, $username, $password, $dbname);
$request = mysqli_real_escape_string($connect, $_POST["query"]);
$query = " SELECT * FROM all_shops WHERE p_shop_name LIKE '%".$request."%'";

$result = mysqli_query($connect, $query);

$data = array();

if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_assoc($result))
{
$data[] = $row["p_shop_name"];
}
echo json_encode($data);

}
?>

cart.php

$php_var1  = isset($_REQUEST['php_var1']) ? $_REQUEST['php_var1'] : "empty";
$php_var2  = isset($_REQUEST['php_var2']) ? $_REQUEST['php_var2'] : "empty";

echo $php_var1;
echo $php_var2;

?>

您需要在php輸出中加上引號,以生成javascript字符串

var php_var1 = "<?php echo $php_var1; ?>";
var php_var2 = "<?php echo $php_var2; ?>";

Stackoverflow是一個很好的資源,但是有時您找不到答案,因此您需要堅持不懈並繼續嘗試。 昨天我整天都在工作,只是想不通。 早上醒來,它就來了。 答案如下。 在預輸入腳本中更改以下行

location.href = 'cart.php?shop_name=' + item      

location.href = 'cart.php?shop_name=' + item + '&php_var1=<?php echo $php_var1 ?>' + '&php_var2=<?php echo $php_var2 ?>'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM