[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не допонимаю условие
Slavok47
имеется код:
if ($myrow['data'] != 0)
{
echo $myrow['data'];
}
else
{
echo "Нет ни чего";
}


вопрос в следующем, если есть данные то их выводим, если нет, пишем "Нет ни чего", такая конструкция не работает, тоесть если выводить данные от id=1?
то они выводятся, из остальных полей пишет нет ни чего, даже если там и есть записи



Спустя 5 минут, 38 секунд (3.02.2010 - 13:53) baston написал(а):
Может быть вместо равенства надо проверять на эквивалентность?
Например:
if ($myrow['data'] !== false)

Спустя 35 секунд (3.02.2010 - 13:53) sergeiss написал(а):
Покажи более полный код, чтоб понятнее было, что же работает и что не работает.

Спустя 6 минут, 18 секунд (3.02.2010 - 14:00) Slavok47 написал(а):
в процессе эксперимента выяснилось, что все работает правильно если в базе цифры, а вот если там буквы то пишет ни чего нет

Спустя 1 минута, 51 секунда (3.02.2010 - 14:02) Slavok47 написал(а):
Цитата (sergeiss @ 3.02.2010 - 10:53)
Покажи более полный код, чтоб понятнее было, что же работает и что не работает.

<?php 
$db = mysql_connect("localhost", "log", "pass");
mysql_select_db("base", $db);
$result = mysql_query("SELECT data FROM user WHERE userid='1'",$db);
$myrow = mysql_fetch_array($result);
if ($myrow['data'] != 0)
{

echo $myrow['data'];
}
else
{
echo "Нет ни чего";
}

echo mysql_error();
$num_rows = mysql_num_rows($result);
?>

Спустя 10 минут, 28 секунд (3.02.2010 - 14:12) sergeiss написал(а):
Тип поля data какой?

И как ты сравниваешь "если там буквы"?

Спустя 53 секунды (3.02.2010 - 14:13) Slavok47 написал(а):
Цитата (baston @ 3.02.2010 - 10:53)
Может быть вместо равенства надо проверять на эквивалентность?
Например:
if ($myrow['data'] !== false)</span>

да помогло, теперь и текст выводится, а вот если нет ни чего, то не пишет что нет, а просто пустая страница

Спустя 4 минуты, 5 секунд (3.02.2010 - 14:17) Slavok47 написал(а):
Цитата (sergeiss @ 3.02.2010 - 11:12)
Тип поля data какой?

И как ты сравниваешь "если там буквы"?

1) тип поля text
2) не знаю, ни как))

Спустя 14 минут, 25 секунд (3.02.2010 - 14:31) baston написал(а):
Цитата (Slavok47 @ 3.02.2010 - 14:13)
да помогло, теперь и текст выводится, а вот если нет ни чего, то не пишет что нет, а просто пустая страница

При равенстве проверяется значение, при эквивалентности - тип и значение. В вашем случае проверяется наличие чего-либо в массиве $myrow (значение). Попробуйте проверять на равенство false, пустой строке...
Может, я глупости говорю, но я обычно в таких случаях перечитываю мануалы. В вашем случае я бы засел за массивы, что они возвращают и т.д.

Спустя 1 минута, 24 секунды (3.02.2010 - 14:33) DedMorozzz написал(а):
проверь на "пустоту" if(!empty(тут что делать если не пустое))

Спустя 13 минут, 32 секунды (3.02.2010 - 14:46) sergeiss написал(а):
Slavok47 - ну ты уж определись... Сначала говоришь, что "в процессе эксперимента выяснилось, что все работает правильно если в базе цифры, а вот если там буквы то пишет ни чего нет".

А затем на вопрос 'И как ты сравниваешь "если там буквы"?' утверждаешь "не знаю, ни как))".

Так ты определись до конца, что ли. Либо ты сравниваешь данные в текстовом виде, либо ты этого не делаешь. А если делаешь, то знаешь, как ты делаешь.

Спустя 9 минут, 4 секунды (3.02.2010 - 14:55) Slavok47 написал(а):
sergeiss
ни надо мне ни чего сравнивать, нужно определить пусто в ячейке или нет, если есть что то то вывести это что то на экран, в противном случае вывести что там нет ни чего

Спустя 5 минут, 38 секунд (3.02.2010 - 15:01) DedMorozzz написал(а):
if(!empty(тут что делать если не пустое)) else echo "тут пусто";

Спустя 23 секунды (3.02.2010 - 15:01) Slavok47 написал(а):
Цитата (DedMorozzz @ 3.02.2010 - 11:33)
проверь на "пустоту" if(!empty(тут что делать если не пустое))

Спасибо! вроде заработало))

Спустя 6 минут, 30 секунд (3.02.2010 - 15:08) sergeiss написал(а):
В случае (начальном) сравнения с нулем получаем: текстовая строка, не начинающаяся на цифру, преобразуется как раз в ноль!!! Отсюда и следует, что у тебя всё изначально работало верно (с точки зрения ПХП): что спросил, то и получил.

Спустя 21 минута (3.02.2010 - 15:29) Slavok47 написал(а):
sergeiss
Спасибо))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.