2016-05-28 17 views
1

我想利用datalist元素。一切都與1小小的順利。可選列表顯示2列,即street_id和street列。我需要將被提交的street_id,但不希望street_id在數據列表中顯示。如何防止ID在數據列表元素中顯示?

<?php 
 

 
require 'connect_mysqli.php'; 
 

 
$sql = "SELECT * FROM streets"; 
 
$result = mysqli_query($con, $sql) or die ("Error " . mysqli_error($con)); 
 
?> 
 
<form action="test.php" name="test" method = "post"> 
 
<datalist id="street" name="streets"> 
 
    <?php while($row = mysqli_fetch_array($result)) { ?> 
 
     <option value="<?php echo $row['street_id']; ?>"><?php echo $row['street']; ?></option> 
 
    <?php 
 
    } 
 
?> 
 
</datalist> 
 
<input type="text" name="street_val" id="test" autocomplete="off" list="street"> 
 
<input type="submit" value="Submit"> 
 
</form> 
 
<?php 
 
mysqli_close($con); 
 
//test the output value 
 
echo $_POST['street_val'];// 
 
?>

回答

1

您已經編寫了一個選擇列表 - 這對於顯示不同的值,返回值。在數據列表中,您只需要value =「」選項,然後它只會返回該值。最好將服務器代碼和顯示代碼分開:即用查詢填充或構建PHP中的數組,然後在HTML中僅顯示它。

+0

如果我理解正確,你的建議將只顯示街道,而不是street_id,這是我想要顯示的,但我需要street_id稍後在查詢中使用。我沒有看到如何捕捉身份證。 –

+0

使用select元素:使用返回值的ID和innHTML顯示描述 –

+0

Nicholas,我需要能夠添加一個當前不存在的值。我對所有這些都是陌生的,無法理解如何使用SELECT元素,並允許使用java或jquery添加。我看過一些例子,但似乎超出了我的想象。 –