[英]SQL Query to select from a table using a WHERE clause on another table
[英]Using the value of a select option for the sql where clause of another select
在相同的范围内,如何从第一个选项框发送值,然后在第二个选项框查询的where子句中使用该值?
即我选择一个客户,然后第二个选择框将仅显示与该客户相关的选项。
理想情况下,它将是一个页面,可以流畅地工作
Client Selection:
<?php //OPEN DROP DOWN BOX
include("../login/dbinfo.inc.php");
$comm=@mysql_connect(localhost,$username,$password);
$rs=@mysql_select_db($database) or die( "Unable to select database");
$sql= "SELECT DISTINCT ClientCode, ClientName FROM tbl_client ORDER BY ClientCode";
$result = mysql_query($sql);
echo "<select name='ClientCode'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['ClientCode'] ."'>" . $row['ClientName'] ."</option>;
}
echo "</select><br>"; //CLOSE DROP DOWN BOX
?><br>
Vessel Selection:
<?php //OPEN DROP DOWN BOX
$client = $_GET["$client"];//assign client code from first drop down to this value & use in query 'WHERE' clause
include("../login/dbinfo.inc.php");
$comm=@mysql_connect(localhost,$username,$password);
$rs=@mysql_select_db($database) or die( "Unable to select database");
$sql= "SELECT VesselName FROM tbl_import WHERE ClientCode='".$client."' ORDER BY VesselName";
$result = mysql_query($sql);
echo "<select name='VesselName'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['VesselName'] ."'>" . $row['VesselName'] ."</option>";
}
echo "</select><br>"; //CLOSE DROP DOWN BOX
?>
PHP是一种服务器端语言-所有查询都在浏览器接收之前执行。 如果您希望菜单的内容根据您的第一个选择(客户端)而变化,则您需要在选择客户端之后提交表单,或者在收到第一个菜单后使用javascript填充第二个菜单一个选择。
第二点-您正在使用mysql
函数-PHP5中已弃用了这些功能,PHP7中已将其删除了; 研究至少要更新您的代码以使用mysqli
函数。
第三点-您将用户数据直接插入查询中,这意味着您可以使用SQL注入打开网站。 通过mysqli
或(更好) pdo
函数使用准备好的语句和绑定参数来访问数据库,可以避免这种情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.