在此先感謝和抱歉,但我的英語不是很好。 我在更新組合框時遇到問題。我可以讓組合框從表格中載入數據並顯示選定的表格中存儲的記錄,但是在編輯註冊表時,表格將保存爲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
沒有錯誤,因爲錯誤報告未打開。打開它或查看你的日誌,你會看到錯誤。 –