我有一系列链式选择,通过调用MySQL数据库动态填充。
这很好但我必须在标签上添加另一列“Invm_InventoryDesc”,但保持值相同 (Invl_InventoryNumber)用于其中一个选项中的每个选项。
我试图改变查询以包含Invm_InventoryDesc,但它打破了它......我做错了什么?
default:
if (strpos($key, 'brandSelect-') === 0) {
$callType = str_replace('brandSelect-', '', $key);
$resBrands = mysql_query('SELECT Invl_InventoryNumber FROM ' . DB_TABLE1
. ' WHERE Invl_LocationId = ' . mysql_real_escape_string($callType) . " ORDER BY Invl_InventoryNumber");
$select = new SelectBox('What part number are you looking for?', 'Pick a part');
for ($i = 0; list($brand) = mysql_fetch_row($resBrands); $i++) {
$select->addItem($brand, 'result-' . $brand . '-' . $callType);
}
答案 0 :(得分:1)
由于你没有分享执行代码时遇到的实际php错误,我只能猜到错误。
我看到你正在使用for语句错误。
我会建议这样的事情,而不是你当前的循环:
for ($i = 0; $i < mysql_num_rows($resBrands); $i++) {
$brand = mysql_fetch_array($resBrands);
$select->addItem($brand, 'result-' . $brand . '-' . $callType);
}
现在for语句实际上做了一些事情。
$ i计算我们已经添加到$ select的行数。起初它的0“$ i = 0”。
在此之后,我们检查我们已经添加的行数是否小于我们需要添加的行数(mysql给我们的行数)。
然后我们加载一行到$ brand。并将其添加到$ select。 (我不知道你在使用$ brand和$ select做什么,所以我会留下你的代码。)
在此之后我们将一个加到$ i。我们重新开始
可能是您的代码中有更多错误。但没有更多的背景,我无法判断是否有更多的错误。