2015-02-10 36 views
-1
<script> 
$(function() { 
    var name = [ 

     <?php 

     $Database = "database name"; 
     $DatabaseUserName = "db_user"; 
     $DatabasePass = "db_pass"; 

     $connect = mysql_connect("~", $DatabaseUserName, $DatabasePass); 
     @mysql_select_db($Database) or ("Database not found"); 

     $query = "SELECT ~ FROM ~"; 
     $result = mysql_query($query) or die ($result."<br/><br/>".mysql_error()); 

     while ($row = mysql_fetch_array($result)) { 
     echo "\"". $row['~']."\", "; 
     } 

     // $result = mysql_query($query) or die ($result."<br/><br/>".mysql_error()); 

     mysql_close($connect); 

     ?> 
    ]; 

    $("#~").autocomplete({ 
     source: name 
    }); 
}); 
</script> 

基本上,我得到正確的輸出,除了關閉的PHP標記「?>」包含在輸出中時,我不希望它是。有一個更好的方法嗎?如何在不輸出關閉PHP標記「?>」的情況下將PHP MySQL查詢轉換爲Javascript變量?

+0

您目前的產量是多少?預期產量是多少? – Rizier123 2015-02-10 06:14:53

+0

當前輸出:以用戶類型填充的自動完成組合框,但在框右側打開「?>」PHP標記 – bob 2015-02-10 06:16:14

+0

預期/輸出我在尋找:相同的輸出減去結束的「?>」PHP標記在組合框的右側 – bob 2015-02-10 06:16:48

回答

-1

運行此代碼並檢查它是否還在。我無法重現錯誤。

<html> 
<head> 
<script> 
    var name = [ 

     <?php 


     $row=array("Volvo", "BMW", "Toyota"); 
     for($i=0;$i<count($row);$i++) { 
     echo "\"". $row[$i]."\", "; 
     } 



     ?> 
    ]; 
</script> 
</head> 
<body> 
</body> 
</html> 
+0

謝謝,但它沒有工作,我要學習更多關於如何將PHP嵌入到Javascript中,然後再次詢問是否出現相同的錯誤...謝謝你的回覆 – bob 2015-02-10 06:27:07

+0

爲什麼我得到了一個投票? – 2015-02-10 06:41:42

+0

我沒有那麼做 – bob 2015-02-10 06:42:05

0

使用json_encode()來輸出JavaScript安全數據。例如...

<script> 
<?php 

// connect, query, etc 

$data = []; 
while ($row = ...) { 
    $data[] = $row['~']; 
} 
?> 

var name = <?= json_encode($data) ?>; 
</script> 

這裏有一個簡單的演示〜eval.in


當然,這裏的強制性"don't use the deprecated mysql extension, etc"附錄。

+0

謝謝你的答覆,我發現我的錯誤...我有一個遺留在HTML體內 – bob 2015-02-10 06:37:18

相關問題