Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Веб-программирование > PHP / MySQL

PHP / MySQL Создание динамических Веб-ресурсов

Ответ
 
Опции темы
Старый 20.06.2010, 15:54   #1
MotoMustanger
Нуждающийся
 
Регистрация: 13.11.2006
Сообщений: 60
Написано одно полезное сообщение
Условие в условии

Есть такой код:
if ($action == "lastmsgs")
{
    
$conn mysql_connect($host$user$pass) or die("Could not connect"); // Попытка соединиться с MySQL сервером
    
mysql_select_db($base) or die("Can't select database."); 

    
$result mysql_db_query($base"SELECT `id` FROM `scores` ORDER BY `id` DESC LIMIT 1;"); 
        while(
$row mysql_fetch_array($result)) 
    {
        
$id $row['id']; 
    }
    if (
$action2 $id)
    {
    echo 
$id."|";
    }

Посылаю на него запрос
http: //сайт/index.php?action=lastmsgs&action2=275
Но выводит пустую строку. Переменная $id равна 274, так что условие должно выполняться. Где у меня ошибка?
(Offline)
 
Ответить с цитированием
Старый 21.06.2010, 03:11   #2
devolonter
Разработчик
 
Аватар для devolonter
 
Регистрация: 17.01.2007
Сообщений: 409
Написано 114 полезных сообщений
(для 281 пользователей)
Ответ: Условие в условии

А ты не забыл определить $action2?
до условия : $action2 = $_GET['action2'];

Если переменная определена, попробуй вывести $action2 там я думаю видно будет
(Offline)
 
Ответить с цитированием
Старый 21.06.2010, 08:54   #3
MotoMustanger
Нуждающийся
 
Регистрация: 13.11.2006
Сообщений: 60
Написано одно полезное сообщение
Ответ: Условие в условии

Сообщение от devolonter Посмотреть сообщение
А ты не забыл определить $action2?
до условия : $action2 = $_GET['action2'];

Если переменная определена, попробуй вывести $action2 там я думаю видно будет
Нет, все есть вроде:
$action "none"
$action2 "none";

if (isset(
$_GET['action'])) $action $_GET['action']; 
if (isset(
$_GET['action2'])) $action2 $_GET['action2']; 
Но первое условие action выполняется, а второе action2 не хочет, хотя должно. Может запрос неправильный?
(Offline)
 
Ответить с цитированием
Старый 21.06.2010, 16:21   #4
devolonter
Разработчик
 
Аватар для devolonter
 
Регистрация: 17.01.2007
Сообщений: 409
Написано 114 полезных сообщений
(для 281 пользователей)
Ответ: Условие в условии

Сообщение от MotoMustanger Посмотреть сообщение
Но первое условие action выполняется, а второе action2 не хочет, хотя должно. Может запрос неправильный?
Ну ты вроде написал, что $id = 274, тогда с запросом все хорошо или ты имел в виду, что в базе храниться это значение? Если непосредственно переменную в скрипте не проверял тогда советую строчку:
$result mysql_db_query($base"SELECT `id` FROM `scores` ORDER BY `id` DESC LIMIT 1;"); 
поменять на:
$result mysql_db_query($base"SELECT `id` FROM `scores` ORDER BY `id` DESC LIMIT 1;") OR die(mysql_error()); 
Тогда если есть ошибка в запросе - ты сразу ее вычислишь
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
MotoMustanger (28.06.2010)
Старый 22.06.2010, 17:13   #5
Nord
Знающий
 
Регистрация: 07.10.2006
Сообщений: 269
Написано 22 полезных сообщений
(для 30 пользователей)
Ответ: Условие в условии

Цикл тут не нужен, ты же только одну запись выбираешь (LIMIT 1).
(Offline)
 
Ответить с цитированием
Старый 22.06.2010, 23:23   #6
devolonter
Разработчик
 
Аватар для devolonter
 
Регистрация: 17.01.2007
Сообщений: 409
Написано 114 полезных сообщений
(для 281 пользователей)
Ответ: Условие в условии

Сообщение от Nord Посмотреть сообщение
Цикл тут не нужен, ты же только одну запись выбираешь (LIMIT 1).
Ну ошибкой это назвать нельзя в конечном итоге функция все равно вызовется один раз
(Offline)
 
Ответить с цитированием
Старый 22.06.2010, 23:36   #7
Nord
Знающий
 
Регистрация: 07.10.2006
Сообщений: 269
Написано 22 полезных сообщений
(для 30 пользователей)
Ответ: Условие в условии

Я не говорил, что это ошибка, но усложнять код тоже не нужно, это всё равно что написать:
$a=1;
if(
$a==1) echo $a
Глаз мозолит
(Offline)
 
Ответить с цитированием
Старый 22.06.2010, 23:39   #8
devolonter
Разработчик
 
Аватар для devolonter
 
Регистрация: 17.01.2007
Сообщений: 409
Написано 114 полезных сообщений
(для 281 пользователей)
Ответ: Условие в условии

Ну если так, то мне глаз мозолит что нет ООП Я к тому, что как бы там ни было все равно это оффтоп. Думаю если человек молчит, скорее всего проблему решил)
(Offline)
 
Ответить с цитированием
Старый 22.06.2010, 23:49   #9
Nord
Знающий
 
Регистрация: 07.10.2006
Сообщений: 269
Написано 22 полезных сообщений
(для 30 пользователей)
Ответ: Условие в условии

Когда я вижу такие конструкции, у меня появляются мысли, что человек сам не понимает что у него написано. Никого оффтопа тут не вижу, если человек приводит самописный листинг кода, есть смысл его прокомментировать. А оффтоп начинается после 5-го сообщения.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 17:28.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com