| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Путаница между двумя циклами foreach |
| Автор: Гриша 18.6.2005, 20:48 | ||||
| Путаница "foreach ($cart as $idsealy => $qty)" и "foreach ($cart as $idemt => $ Здравствуйте. Подскажите пожалуйст решение. ПРИ ПОПАДАНИИ НА СТРАНИЦУ КОРЗИНЫ ДЛЯ ПОКУПОК (cart.php), в зависимоти от выбора пользователем значения на предыдущей странице, передается GET запрос: magazin/cart?new=$idsealy или magazin/cart?new=$idsealy. Если например запрос будет равным magazin/cart?new=$idsealy, то в корзине появляется строчка с именем $idsealy и количество $qty=1, т.е. срабатывает функция display_cart (где foreach ($cart as $idsealy => $qty)), но также получается, что также вызывается функция display_cart_emt (где foreach ($cart as $idemt => $qty)) и в ней тоже отображается строчка из функции display_cart, т.е. строчки дублируются. Происходится путаница между "foreach ($cart as $idsealy => $qty)" и "foreach ($cart as $idemt => $qty)". Подскажите пожалуйста, как сделать так, чтобы если например вызывается запрос: magazin/cart?new=$idsealy, то срабатывала только функция display_cart. Нужно сделать какое-то условие, но я у меня не получается. Вот часть, кода отвечающая за содержание и вывод электронной корзины.
Функция display_cart и display_cart_emt такие:
|
| Автор: PARROT 18.6.2005, 21:12 | ||
|
| Автор: o.s.a. 18.6.2005, 21:19 | ||||
так один и тот де запрос как я понял у тебя должно быть либо magazin/cart?new=$idsealy, либо magazin/cart?new=$idemt А вся разница при выводе заключается лишь в названии текстового поля. Если я все правильно понял, то делай проверку:
|
| Автор: Гриша 19.6.2005, 16:53 |
| Спасибо за ответы. Я понимаю, что нужно условие. o.s.a., вы меня правильно поняли, я попробовал ваше условие, но получается так, что в корзине ничего не выводится. Т.е. if ( isset($_GET['idsealy']) ) не подходит под этот запрос, magazin/cart?new=$idsealy. Вот я ин незнаю, как добраться до $idsealy, чтобы условие ее восприняло. |
| Автор: Гриша 19.6.2005, 19:07 |
| Вот этот пример, помоему, очень хорошо объясняет суть проблемы. Например пользователь заходит на страницу sealy.php, нажимает на ссылку "отправить" (magazin/cart.php?new=$idsealy, например $idsealy=10), и передает сценарию cart.php переменную new = $idsealy (например new = 10), в количестве равную 1 ($qty), если на ссылку нажать один раз. Получается так, что вод именно поле, где отображается количество: echo "<p><input type=\"text\" name=\"$idsealy\" value=\"$qty\" size=\"2\"></p>"; отображается также и в функции display_cart_emt (как-будто , пользователь зашел на страницу emt.php и нажал один раз на ссылку magazin/cart.php?new=$idemt, и вызвалась функция display_cart_emt, но в строке отобразтлось только количество, $emt, а значение ее не отобразилось, т.е. елибы он равнялась 10, то это в строке не отобразилось бы) |