как использовать значение элемента ввода в новом файле (метод GET) - PullRequest
1 голос
/ 05 июня 2011
<?php
// code that connects to database
?>
<table>

    <form method="get" action="processorder.php">
            <?php
            while (list($pizzaId, $pizzaName, $pizzaNumber, $pizzaPrice) = mysql_fetch_row($resultaat))
                    {

                        echo           "<tr>
                                    <td>".$pizzaName."</td>
                                    <td>".$pizzaNumber."</td>
                                    <td>".$pizzaPrice."</td> 
                                    <td> <input type='text' name='$pizzaId' value='$qty' size='3' /></td>
                                    </tr>";
                    }
            mysql_close($db);        
            ?>
        <input type="submit" value="Order now" />

Я хотел бы отобразить пиццу, где есть значение в элементе ввода. файл processorder.php будет выглядеть так: Мой URL показывает PizzaId со значениями после '='. Поэтому я решил, что у меня на руках ассоциативный массив. Я думал, что поместил бы цикл foreach в свой файл processorder.php, как

   foreach ($_GET['pizzaId'] as $pizza => $qty)    
            {
                echo $pizza." ".$qty."<br />";
            }

Тем не менее, когда я использую цикл foreach, ошибка в моем браузере говорит, что аргумент моего цикла foreach недопустим, потому что $ _GET ['pizzaId'] не является массивом для начала (я проверил с помощью is_array). Итак, как мне получить доступ к этим значениям в моем атрибуте value элемента input?

Ответы [ 2 ]

1 голос
/ 05 июня 2011

Ваш $ pizzaId является целым числом.Я бы изменил имя элементов ввода на name = "pizzas [$ pizzaId]", и тогда вы могли бы получить к нему доступ через PHP следующим образом:

foreach ($_GET["pizzas"] as $pizzaId => $pizzaQty) {
    echo "$pizzaId $pizzaQty<br />";
}

с помощью этого метода вместо простого имени ="pizzas []", вы также сохраняете связь с фактическим идентификатором пиццы.

0 голосов
/ 05 июня 2011

Если вам нужно поместить массив в $ _GET, тогда ваш URL должен выглядеть так:

//site/page?pizzaID[]=123&pizzaID[]=124

Вы можете достичь этого с помощью аналогичного использования name поля ввода

<input name="pizzaID[]" />
<input name="pizzaID[]" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...