0

我有一系列通过调用 MySQL 数据库动态填充的链接选择。

这很好用,但我必须在标签中添加另一列“Invm_InventoryDe​​sc”,但在其中一个选择中保持每个选项的值相同(Invl_InventoryNumber)。

我试图更改查询以包含 Invm_InventoryDe​​sc 但它破坏了它......我做错了什么?

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);
        }
4

1 回答 1

1

由于您没有共享执行代码时遇到的实际 php 错误,我只能猜测出了什么问题。

我看到您错误地使用了 for 语句。

我会建议这样的事情,而不是你当前的 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。我们重新开始

可能是您的代码中有更多错误。但如果没有更多上下文,我无法判断是否还有更多错误。

于 2012-10-12T14:07:08.477 回答