我将表中一行的属性列表回显到一个选项列表中供用户选择,以后将用于将其插入到另一个表中。我想要做的是,存储“身份证”。该行 - 不是分别使用外键 - 但是' id'我一直在得到的是“id'列表中的最后一行以下是我的代码片段:
<?php
$conn = mysqli_connect('localhost', 'root', '', 'database');
$result = mysqli_query($conn, "SELECT * FROM myTable WHERE region = '{$thisRegion}' ");
//$result .= " ");
while ($row = mysqli_fetch_assoc($result))
{
$selected = (isset($_POST['list']) && $_POST['list'] == $row['id']) ? 'selected' : '';
echo "<option value='$row[streetAddress] $row[apt] $row[city] $row[zip] $row[_state] $row[country]' $selected >$row[city] $row[zip] $row[_state] $row[country] $row[streetAddress] $row[apt]</option>";
$thisId= $row['id'];
$_SESSION["thisId"] = $thisId;
}
?>
</select>
答案 0 :(得分:0)
你的问题出在代码上
while ($row = mysqli_fetch_assoc($result))
{
...
$thisId= $row['id'];
$_SESSION["thisId"] = $thisId;
}
该代码意味着在每次迭代时,$ _SESSION [“thisId”]将被替换为当前行的id,使得在循环结束时只有最后一行的ID将存在。
我认为这样做的方法是将id添加到选项中,并将行打印为显示。
echo "<option value='{$row['id']}'> {$row['apt']} {$row['city']}... </option>";
然后,接收页面可以读取
$selectedRowId = $_GET['optionKey']
我希望有所帮助,你应该阅读更多有关php和表单的内容,因为它会让你的编码更容易。这是一个基本教程http://www.w3schools.com/php/php_forms.asp