在此先感谢和抱歉,但我的英语不是很好。 我在更新组合框时遇到问题。我可以让组合框从表格中载入数据并显示选定的表格中存储的记录,但是在编辑注册表时,表格将保存为0(零)。我找不到错误。php mysql combobox更新不工作
这里的INSERT
Laboratorio:
<select name="lab" size="0">
<?php
$sql = 'SELECT * FROM laboratorios order by lab_Nombre asc';
$res = mysql_query($sql);
while ($array = mysql_fetch_array($res)) { ?>
<option value="<?php echo $array['lab_Id']?>"><?php echo $array['lab_Nombre']?> </option>
<?php } ?>
</select><br/><br/>
这里的组合框代码的组合框的更新
Laboratorio:
<select name="lab" size="0">
<?php
$sqlLab = 'SELECT * FROM laboratorios order by lab_Nombre asc';
$resLab = mysql_query($sqlLab);
while ($arrayLab = mysql_fetch_array($resLab))
{ ?>
<option value=<?php
if ($array['ac_Lab']==$arrayLab['lab_Id'])
{
echo $arrayLab['lab_Id']?> selected="selected"><?php echo $arrayLab['lab_Nombre']?> </option>
<?php }
else
{ ?>
<option value=<?php echo $arrayLab['lab_Id']?> ><?php echo $arrayLab['lab_Nombre']?> </option>
<?php } ?>
<?php } ?>
</select><br/><br/>
修改表的代码是:
CREATE TABLE IF NOT EXISTS `laboratorios` (
`lab_Id` smallint(3) NOT NULL AUTO_INCREMENT,
`lab_Nombre` varchar(50) NOT NULL,
`lab_Contacto` varchar(50) DEFAULT NULL,
`lab_Mail` varchar(50) DEFAULT NULL,
PRIMARY KEY (`lab_Id`)
) ENGINE=MyISAM AUTO_INCREMENT=42
未来来自下表:
`ac_Id` smallint(6) NOT NULL AUTO_INCREMENT,
`ac_Desc` varchar(50) NOT NULL,
`ac_Cat` varchar(50) NOT NULL,
`ac_Lab` smallint(6) NOT NULL,
`ac_Apli` varchar(200) NOT NULL,
`ac_Prov` smallint(6) NOT NULL,
`ac_Alm` smallint(6) NOT NULL,
`ac_Vol` smallint(6) NOT NULL,
`ac_Dil` varchar(50) DEFAULT NULL,
`ac_Img` varchar(50) DEFAULT NULL,
`ac_Obs` varchar(200) DEFAULT NULL,
PRIMARY KEY (`ac_Id`)
好的,非常感谢!
mysql_函数已被弃用。使用别的东西。另外,打开错误报告,你会发现'$ array'在你的“更新”循环中是未定义的。您没有展示足够的代码来提供任何有关如何解决问题的建议。 –
非常感谢您的回答。没有错误,只是不进行修改,并将值作为0离开字段。我使用mysql_functions,因为这是我现在知道的。如有必要,我可以将整个代码放在一起...谢谢 – MaxHD
没有错误,因为错误报告未打开。打开它或查看你的日志,你会看到错误。 –