RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 482
от 09.10.2006, 03:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 368, Экспертов: 54
В номере:Вопросов: 2, Ответов: 5


Вопрос № 57525: скрипт обрабатывает POST и GET запросы, проблема в том, что названия переменных неизвестны и воспользоваться массивами $_POST и $_GET нет возможности, для метода GET выход нашел в аргументах argv, вопрос: нет ли чего-нибудь подобного для POST, или во...
Вопрос № 57626: Здравствуйте, уважаемые Эксперты! Есть вот такой код: $kol=mysql_result(mysql_query("SELECT COUNT(*) FROM gb",$link),0,0); echo "Kol-vo: ".$kol."<hr>"; if ($kol<10) $zap=$kol; el...

Вопрос № 57.525
скрипт обрабатывает POST и GET запросы, проблема в том, что названия переменных неизвестны и воспользоваться массивами $_POST и $_GET нет возможности, для метода GET выход нашел в аргументах argv, вопрос: нет ли чего-нибудь подобного для POST, или вообще метод решения проблемы подскажите пожалуйста.
Отправлен: 03.10.2006, 09:50
Вопрос задал: Georgian (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Straight
Здравствуйте, Georgian!

foreach($_POST as $key => $value) { ... }

В этом цикле перебираются все переменные POST-запроса. $key - название переменной, $value - значение.
Ответ отправил: Straight (статус: Студент)
Ответ отправлен: 03.10.2006, 10:02
Оценка за ответ: 5
Комментарий оценки:
хм, надо учить основы :) спасибо

Отвечает: Константин
Здравствуйте, Georgian!
А они совсем неизвестны? Или просто названия могут меняться? если второй вариант, то можно так:
foreach ($_POST as $var => $value)
{
switch ($var)
{
case "name": /*do something*/ break;
case "money": /*do something*/ break;
case "...": /*do something*/ break;
}
}
Т.е. просматриваем весь масссив, а работаем только с нужными нам переменными.
---------
Лучше сделать и жалеть, чем жалеть о том что не сделал
Ответ отправил: Константин (статус: 7-ой класс)
Ответ отправлен: 03.10.2006, 10:45
Оценка за ответ: 4

Отвечает: Uman
Здравствуйте, Georgian!
А почему бы Вам не обрабатывать массив $_REQUEST[]...
Все переменные переданные из-вне.. помещаются и в него... =)
Ответ отправил: Uman (статус: 2-ой класс)
Ответ отправлен: 03.10.2006, 11:20


Вопрос № 57.626
Здравствуйте, уважаемые Эксперты!

Есть вот такой код:
$kol=mysql_result(mysql_query("SELECT COUNT(*) FROM gb",$link),0,0);
echo "Kol-vo: ".$kol."<hr>";
if ($kol<10) $zap=$kol;
else $zap=10;
$nach = $kol - 10;
$result = mysql_query("SELECT * FROM gb LIMIT $nach,$zap");
........

Где gb -- база данных.

Вопрос в следующем: как вывести полученные данные в обратном порядке?

Заранее благодарен.
Отправлен: 03.10.2006, 22:18
Вопрос задал: Н.В. (статус: 6-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Крюков
Здравствуйте, Н.В.!
Легко - добавьте во второй запрос в конец конструкцию ORDER BY поле_сортировки DESC
---------
Большинство ответов на вопросы в рассылках находиться через Яндекс за 1 мин.
Ответ отправил: Евгений Крюков (статус: Студент)
Ответ отправлен: 03.10.2006, 22:27
Оценка за ответ: 5
Комментарий оценки:
Спасибо!

Отвечает: Загиров Рустам
Здравствуйте, Н.В.!
Вообще-то данные в mysql - неупорядоченный набор записей, если нет автоинкремённых полей. Можно конечно сортировать средствами PHP, но не зря же сделали сортировку прямо в MySQL.Лучше сделать так, как написал Евгений Крюков, только с одной поправкой: ORDER BY нужно расположить не в конце запроса, а перед LIMIT.
Пусть в Вашей таблице есть поле stamp, которое содержит дату записи, тогда Ваш запрос будет выглядеть так:
SELECT * FROM gb ORDER BY stamp LIMIT $nach,$zap
---------
Этот мир обречён на нас
©Сергей Маврин
Ответ отправил: Загиров Рустам (статус: Практикант)
Ответ отправлен: 03.10.2006, 23:07
Оценка за ответ: 5
Комментарий оценки:
Спасибо!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное