我是PHP新手。我有一个像dropbox文件中附带的数据库。它有4列
这些是我们国家的行政单位。我想创建四个下拉列表/组合框,它们将从数据库中填充。有一点必须相互关联。如果有人选择了部门名称,它将仅显示属于该部门的地区名称。同样,如果所选区域只会在第3个下拉列表中显示Thana名称。同样,第四次下拉列表将被填满。
数据库架构:
https://dl.dropboxusercontent.com/u/81313785/database_schema.xls
以下是我使用的代码:
<?php
$con = pg_connect("data connection");
if (!$con)
{
die("Could not connect: " . pg_last_error());
}
$locfindsql = "SELECT unionname, thananame, distname, divname from union_bgd";
//echo $sql;
$result = pg_query($con, $locfindsql);
$row = array();
?>
<div id="leftpanel" style="position: absolute; top: 12%; left: 1%; bottom: 2%; width: 20%; height: 86%; box-shadow: 4px 4px 4px #888888;
background: #5e5e5c; z-index:-888;">
<div id="findPlace" style= "position: absolute; left: 8px; top: 8px; right: 8px; height: 275px; background: rgb(245, 246, 246); border-radius: 4px;" >
<h4>Find a location</h4>
Division:</br>
<select name="Division">
<?
while($row = pg_fetch_array($result))
{
echo "<option>$row[divname]</option>";
}
?>
</select></br>
District:</br>
<select name="District">
<?
while($row = pg_fetch_array($result))
{
echo "<option>$row[distname]</option>";
}
?>
</select></br>
Upazila:</br>
<select name="Union">
<?
while($row = pg_fetch_array($result))
{
echo "<option>$row[thananame]</option>";
}
?>
</select></br>
Union:</br>
<select name="Union">
<?
while($row = pg_fetch_array($result))
{
echo "<option>$row[unionname]</option>";
}
?>
</select></br>
<?
pg_close($con);
?>
<button id="placebutton" style="font-size: small; font-family: Arial;"><a href="javascript:onPlaceBtnClick('findPlaceButton')">Find the Place</a></button>
</div>
</div>
答案 0 :(得分:2)
我不确定这是否是你所谈论的那种,但我希望它会对你有所帮助。这是代码从数据库填充下拉列表。这不是生产代码,但它显示了将数据库结果提供给表单的一种方法。如果您对PHP完全不熟悉并希望快速学习基础知识,可以试试w3schools.com并查看它是否对您有所帮助。在php.net上还有文档,您可以深入了解PHP的深度。
// GET LIST AND DISPLAY IN FORM
$link = mysqli_connect($db_connection, $db_user, $db_passwd, $db_name);
// check connection
if (mysqli_connect_errno())
{
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
// else echo "<p>Connected to database.</p>";
// Get value for new student id
$query = "SELECT custid, firstname, lastname FROM customer ORDER BY lastname, firstname ASC";
if($result = mysqli_query($link, $query))
{
echo '<p><form action="./index.php" method="post">';
//
//SELECT THE CUSTOMER MAKING THE PAYMENT
echo'<select name="loadcustomer">';
echo'<option value="" selected="selected" disabled="disabled">Select a Customer</option>';
while ($idresult = mysqli_fetch_row($result))
{
$custid = $idresult[0];
$firstname = $idresult[1];
$lastname = $idresult[2];
echo'<option value="' . $custid . '">' . $firstname . ' ' . $lastname . '</option>';
}
echo'</select></p><p>';
//
// SELECT THE NUMBER OF HOURS TO BE PAID
echo'<select name="numberofhours">';
echo'<option value="" selected="selected" disabled="disabled">Select # of Hours</option>';
echo'<option value="1">1</option>';
echo'<option value="2">2</option>';
echo'<option value="3">3</option>';
echo'<option value="4">4</option>';
echo'<option value="5">5</option>';
echo'<option value="6">6</option>';
echo'<option value="7">7</option>';
echo'<option value="8">8</option>';
echo'</select></p><p>';
echo'<input type="submit" value="Load Customer" />';
echo'</form></p>';
}
mysqli_free_result($result);
// close connection
mysqli_close($link);
答案 1 :(得分:1)
如果我理解正确,以下代码将正常工作,只需正确设置mysql
<?php
$con=mysqli_connect("your host","mysql_user","user_password","your_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT destrict, thana FROM your table");
?>
<select>
<?
while($row = mysqli_fetch_array($result))
{
echo "<option>$row[destrict]</option>";
}
?>
</select>
<?
mysqli_close($con);
?>