PHP多个下拉框,带有独立的表
好的,正如标题所说,我有很多表,我需要在不同的下拉框中显示它们。到目前为止,我已经在下拉框中获得了第一个要显示的表,但我不确定如何获得下一个表的显示PHP多个下拉框,带有独立的表,php,mysql,Php,Mysql,好的,正如标题所说,我有很多表,我需要在不同的下拉框中显示它们。到目前为止,我已经在下拉框中获得了第一个要显示的表,但我不确定如何获得下一个表的显示 <?php $link = mysql_connect('server', 'user', 'password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; $selected = mysql_sele
<?php
$link = mysql_connect('server', 'user', 'password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
$selected = mysql_select_db("database",$link)
or die("Could not select examples");
$sql="SELECT * FROM MOBO CPU, RAM,GPU, PSU, COMPUTERCASE";
$result = mysql_query($sql);
echo "<select name='mobo'>";
while ($row = mysql_fetch_array($result)) {
echo '<option value="'.$row["id"].'">'.$row["mobo"].'</option>';
}
echo "</select>";
?>
所以我也希望有人,如果他们的经理来解决我的问题,详细解释它是如何完成的我是一个PHP新手 首先,您使用的是
mysql.*
函数,它们在最新版本的PHP中被删除。虽然它现在可以工作,但将来升级到更高版本的PHP时会遇到问题。使用Mysqli或PDO(PDO是我的首选)
其次,在标识符(如表名)中使用小写字母。此代码可能在Windows上工作,但如果您迁移到Linux,所有这些都将区分大小写,并且此代码将无法工作
我在这段代码中不理解的是,while($row=mysql\u fetch\u array($result)){
.mysql\u fetch\u array()从数据库返回完整的结果集。while循环将不断地重新定义它的值,而您应该使用foreach($var=mysql\u fetch\u array(…)作为$key=>$value){}
,在我的示例中,最好在foreach循环中使用$var
之前单独定义它
那么我想你的问题已经解决了
$sql="SELECT * FROM mobo, cpu, ram, gpu, psu, case";
if($result = mysql_query($sql) != false){ // you should actually check if the query ran successfully.
$data = mysql_fetch_array($result);
//echo "<select name='mobo'>";
foreach($data as $row => $value){
echo $row, $value, "</br>";
}
//echo "</select>";
}
$sql=“从mobo、cpu、ram、gpu、psu、机箱中选择*”;
如果($result=mysql\u query($sql)!=false){//您实际上应该检查查询是否成功运行。
$data=mysql\u fetch\u数组($result);
//回声“;
foreach($行数据=>$值){
echo$row,$value,“”;
}
//回声“;
}
最后,从多个表中选择所有内容是一个糟糕的数据库设置。一旦数据库中有大量结果,它会拖累您,然后这将是一个解决问题的问题。最好使用id的内部或外部联接。停止假设您的查询永远不会失败。
$result=mysql\u query($sql)或死亡(mysql_error())
,另外,你不应该再使用过时/不推荐的mysql_*()
函数。如果你刚刚开始,那么就正确开始。使用PDO或mysqli函数(注意i
)。如果你实现了一个下拉菜单,那么另一个有什么问题?不是每个表都有一个下拉菜单吗?
$sql="SELECT * FROM mobo, cpu, ram, gpu, psu, case";
if($result = mysql_query($sql) != false){ // you should actually check if the query ran successfully.
$data = mysql_fetch_array($result);
//echo "<select name='mobo'>";
foreach($data as $row => $value){
echo $row, $value, "</br>";
}
//echo "</select>";
}