根据先前的输入填充选择列表

时间:2013-06-03 05:12:03

标签: php sql database populate

我编写了一些PHP / SQL来填充选择列表,其中包含来自数据库的数据,其中选项是根据文本框中的先前数字条目填充的。目前我给它一个去,但我真的不知道如何正确地做到这一点,目前这段代码不起作用(不显示任何选项),所以任何建议都会很棒。这是我的代码:

<?php

$conn = mysqli_connect("localhost", "*****", "*****");
mysqli_select_db(twa312, $conn)
or die ('Database not found ' . mysqli_error() );

$options = '<option value="0"></option>';
$postcode = $_POST["post"];

if (isset($postcode) && !empty($postcode)) {
$sql = "SELECT school_info.Name AS Name, valid_postcodes.postcode AS postcode FROM  school_info INNER JOIN local_schools ON local_schools.schoolID = school_info.schoolID";
$sql .= " JOIN valid_postcodes ON local_schools.postcodeID = valid_postcodes.id ";
$sql .= " where postcode = '$postcode' ";

$rs = mysqli_query($sql, $conn)
or die ('Problem with query' . mysqli_error());

echo "<pre>";
print_r(mysqli_fetch_assoc($rs));
echo "</pre>";
mysql_data_seek($rs, 0);

while ($row=mysqli_fetch_array($rs)) {
$name=$row["Name"];
$options .= '<OPTION VALUE="' . $name . '">' . $name ."</option>";
}

?>

<form name="eoiform" method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>" id="eoi">

<b>Post Code</b>
<br>
<input type="text" id="post" name="post" /><?php echo $msgp; ?>

<b>Student's Current Primary School</b>
<br>
<select name="primary" id="primary"><?php echo $options; ?></select>

</form>

我基本上要做的是根据在“帖子”字段中输入的邮政编码,在数据库中填写学校名称列表的“主要”选项列表,所以当然它应该在数据库中搜索学校与输入的邮政编码相同。学校的名称在“school_info”表中作为“名称”列,邮政编码列表在“valid_postcodes”表中作为“邮政编码”列。这两个表通过第三个表中的列连接为“local_schools”。我可能无法正确解释所有问题,我已经拍摄了截图并进行了编辑,以显示三个表格之间的联系,希望能够澄清有关该链接的内容:

http://i40.tinypic.com/2zsywkx.png

因此“valid_postcodes”(邮政编码所在的)中的“id”列连接到“local schools”中的“postcodeID”列,“local_schools”中的“id”列连接到“schoolID”列在“school_info”中,这是学校的名称。

任何人都可以帮我解决这个问题,我对这些语言都很陌生,所以我遇到了很多麻烦,所以任何帮助都会很棒。如果我没有做足够清楚的事情或留下一些信息,请告诉我。

这里也是print_r的结果(mysql_fetch_assoc($ rs));

Array
(
[Name] => St Marys Primary School
[postcode] => 2747
)

0 个答案:

没有答案