PHP не может отображаться для каждого массива - PullRequest
1 голос
/ 22 июля 2011

Я пытаюсь отобразить массив для каждого, но он не отображает никаких значений.Единственные значения, которые я могу вывести, находятся в пределах секунды для каждого.

Может кто-нибудь сказать мне, что я делаю неправильно?

То, что я пытаюсь повторить, - это цена, предмет, описаниеи т.д., но я ничего не получаю.

Если вам нужно увидеть вывод массива, он здесь http://operationbraveheart.org.uk/jcart/testshop.php

while ($row = $result->fetch()) { 
    $superitem[$row['itemid']][] = $row;
}
foreach($superitem AS $subitem) {
    list($prodid,$item,$size,$description,$price) = $subitem[0];

    if ($count % NUMCOLS == 0) echo "<tr>";  # new row
    echo '<td>'; 
    var_dump($subitem);
    //Your normal code up until the select box...
    echo '<form method="post" action="" class="jcart">
            <fieldset>
                <input type="hidden" name="jcartToken" value="'.$_SESSION['jcartToken'].'" />
                <input type="hidden" name="my-item-id" value="'.$subitem['prodid'].'" />
                <input type="hidden" name="my-item-price" value="'.$subitem['price'].'" />
                <input type="hidden" name="my-item-url" value="http://yahoo.com" />';

    if(count($subitem) > 1) {

        echo '<li><select name="my-item-name" id="foo">';
        foreach($subitem AS $subsubitem) {
            echo "<option value='".$subsubitem['size']."'>".$subsubitem['size']."</option>";
        }
        echo "</select></li>";
    }
    else {
        echo '<input type="hidden" name="my-item-name" value="'.$subitem['item'].'" />'; 
    }
    echo'<li>Price: $<span class="price">'.$subitem['price'].'</span></li>
                <li>
                    <label>Qty: <input type="text" name="my-item-qty" value="1" size="3" /></label>
                </li>
            </ul>

            <input type="submit" name="my-add-button" value="add to cart" class="button" />
        </fieldset>
    </form>';

    echo '</td>';
    $count++;
    $counter++;

    if ($count % NUMCOLS == 0) echo "</tr>\n";  # end row
}

1 Ответ

2 голосов
/ 22 июля 2011

Похоже, что $ subitem содержит массив длиной 1, где первый индекс - строка.Изменить ...

$superitem[$row['itemid']][] = $row;

должно быть ...

$superitem[$row['itemid']] = $row;

и ...

list($prodid,$item,$size,$description,$price) = $subitem[0];

должно быть ...

list($prodid,$item,$size,$description,$price) = $subitem;
...