2017-08-14 143 views
-1

我剛剛寫了一個城市名稱的datalist代碼,它將從給定的狀態id中找到城市。但在選擇城市名稱時,它也顯示州ID,選擇後只顯示州ID,而不顯示城市名稱。 這是代碼。如何將城市名稱作爲值而不是id返回?

<?php 
    echo '<input type="text" list="city" class="form-control" /> 
       <datalist id="city" >'; 
    $con = mysql_connect("localhost","root",""); 
    $db = mysql_select_db("placedb",$con); 

    $query = mysql_query("SELECT * FROM `cities` WHERE state_id BETWEEN 1 AND 41 ORDER BY name ASC ") or die(mysql_error()); 

    $items = array(); 
    while ($row = mysql_fetch_array($query)) { 
     $items[] = $row; 
    } 

    foreach($items as $item){ 

     printf('<option id="city" value="%s">%s</option>', $item['id'], $item['name']); 
    } 
    echo '</datalist>'; 

    ?> 
+0

刪除'$項目[ '身份證']'我猜?如果你剛剛寫了這個肯定你會知道這一點。除非我錯過了什麼? – Script47

+0

**不要**使用**棄用和不安全的** _mysql _ * - 函數。從PHP 5.5(2013年)開始,它們已被棄用,並且在PHP 7中(2015年)完全刪除。改用MySQLi或PDO。 2.您對** [SQL Injections](http://php.net/manual/en/security.database.sql-injection.php)廣泛開放,並且確實應該使用[Prepared Statements](http:/ /php.net/manual/en/mysqli.quickstart.prepared-statements.php)而不是連接你的查詢,如果你使用上面提到的MySQLi或PDO,可以使用它們。 –

+0

看起來像複製粘貼。 – Sand

回答

0

你必須使用的$item['name']代替$item['id']

0

我認爲printf的應該是

printf('<option id="city" value="%d">%s</option>', $item['id'], $item['name']); 
相關問題