Я думаю, что вы просто не знаете как решить этот вопрос.
Не надо мне объяснять то, что я сам сделал. Просто поставил вас в известность, что тот вариант, который вы мне предложили-не работает. И возвращает пустое поле. Можете посмотреть мой ответ выше для Dilettante_Pro И вроде как я вам даже объяснил почему ваш вариант не работает. Вот вариант который приходит на почту: Из страны: 3159 Из региона: 4312 Из города: В страну: 3159 В регион: 4312 В город: Тип груза: EUR-паллет "Из города" и в "В город" - это результат отработки вашего метода. |
Цитата:
Цитата:
|
Вы прикалываетесь?
Да нет, могу. И он не работает. А вот вы, судя по всему, код прочли не до конца. |
Цитата:
В двух кустах заблудится и еще лапшу на уши вешаете. Чтобы сделать проверку чего вернуло, сделайте вывод ошибок при запросе к базе, или будете на кофейной гуще гадать что и как? |
Цитата:
Я не знаю, кто и что вам там вешает, но вы вроде как не представляете почему ваш метод не работает. Ради интереса сами постройте это. И посмотрите. |
Запрос к базе возвращает ресурс, а не значение поля, и его надо еще получить из ресурса, как это делается смотрите в своем коде обрабатывающем запросы списков. Вы этого не делаете и ожидаете чего то.
Вы же просто скопировали мой запрос который просто показывает его сделать для получения имени. А на самом деле так ID полученного города из формы непосредственно подставлять в запрос нельзя, это дыра в безопасности! И при этом вы утверждаете что все понимаете? Я и писал просто как в принципе делается, а не "окончательный код и именно под ваши конкретные данные", думая что вы и понимаете, а далее дело техники как говорят. |
Не утверждал я , что прям все понимаю, иначе бы не обращался за помощью.
Конечно я делаю что-то не так и хочу понять где ошибка и как правильно сделать. Но все, что вы мне подсказали, я подставил, поменял на свое. Получил ресурс и повесил обработчик и все равно пустое поле. |
Цитата:
Вот из вашего кода: $regs = mysql_query("SELECT name, city_id FROM city WHERE region_id=$region_id"); здесь $regs, это возвращенный запросом ресурс, содержащий множество строк (по крайней мере это ожидается), поэтому далее в цикле извлекается строки (записи в базе) из этого ресурса функцией $citys[$i] = mysql_fetch_assoc($regs); после чего $citys[$i] (пионер писал, не нужно здесь никаких итераторов) будет содержать значения name, city_id под этими именами полей таблицы как под их ключами. Вы хотите получить название конкретного города, а значит запись должна вернуться одна, следовательно цикла не нужно, но извлечь из ресурса строку надо то. $city = mysql_query("SELECT name FROM city WHERE city_id=" . $post['city_id']); здесь $city это ресурс, вот только делать так тоже нельзя - все данные пришедшие извне сервер обязан проверять и тем более не подставлять их в запросы без экранирования или приведения к ожидаемому типу. И я писал в комментариях //иначе проверка на корректность заполнения полей //имя какое разрешено, корректно ли введен email //остальные поля должны быть цифры - привести их к intereg //если же есть ошибки ввода, то возвращаем сообщения клиенту Вы это делали? Вряд ли, а ведь ожидалось что сделано будет, и $post['city_id'] будет приведен к intereg и если не будет при этом равен 0, значит не халтура, и только после этого это значение можно смело подставлять в запрос. После получения ресурса извлечь строку, и уже полученное подставлять в текст письма. Вы думаете это просто писать тут "учебники"? Взялись писать код, будьте добры хотя бы интересоваться функциями которые в нем есть, и это описано в руководстве, которое можно скачать и всегда иметь под рукой. И там же прочтите, что оригинальное API MySQL устарело и не рекомендуется. |
Дайте пример вот на это
Вы это делали? Вряд ли, а ведь ожидалось что сделано будет, и $post['city_id'] будет приведен к intereg и если не будет при этом равен 0, значит не халтура, и только после этого это значение можно смело подставлять в запрос. |
я чет не совсем понимаю, так ведь приходят целые числа, нет?
Их снова надо чтоли проверять? |
Часовой пояс GMT +3, время: 02:23. |