2017-08-14 9 views
-1

私はちょうど与えられた州のIDから都市を見つける都市名のデータリストのコードを書いた。しかし、都市名を選択している間は、州のIDも表示されています。選択後、都市名を表示する代わりに州IDだけが表示されます。 ここにコードがあります。あなたが$item['name']代わりの$item['id']idの代わりにcity nameを値として返す方法は?

+0

削除 '$アイテム[ 'ID']'私が推測されるべきだと思いますか?あなたがこれを書いたことがあれば、それは確かに分かります。私が何かを逃していない限り? – 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

私はprintfのが

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

を使用する必要が

<?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>'; 

    ?> 
関連する問題