Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Условие с нулевым значением

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
6stprod
Отправлено: 25 Февраля, 2015 - 07:44:38
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




То, над чем я бьюсь звучит так - если в базе с этим ID нет записи (нул) или запись в столбце равна нулю то выдать первое условие, в другом случае второе... if($get['id'] == 0) работает если только есть значение и стоит ноль...


PHP:
скопировать код в буфер обмена
  1. if($get['id'] == NULL)
  2.       echo "<font color='#D16000'>Условие 1</font>";
  3.       else
  4.       echo "<font color='green'>Условие 2</font>";
  5.    }




Прошу помочь (
 
 Top
Мелкий Супермодератор
Отправлено: 25 Февраля, 2015 - 07:51:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Нулю или NULL'у?
is_null


-----
PostgreSQL DBA
 
 Top
6stprod
Отправлено: 25 Февраля, 2015 - 07:54:36
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




Мелкий пишет:
Нулю или NULL'у?
is_null


и нулю и нуллу...

Смысл в том чтобы показать пользователю что его значения нет в таблице или значение равно нулю и выдать соответственно условие
(Добавление)


выдает BOOL(FALSE)
 
 Top
exlant
Отправлено: 25 Февраля, 2015 - 08:04:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015  


Помог: 14 раз(а)




 
 Top
Мелкий Супермодератор
Отправлено: 25 Февраля, 2015 - 08:04:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Тогда, собственно, empty.


-----
PostgreSQL DBA
 
 Top
6stprod
Отправлено: 25 Февраля, 2015 - 08:06:32
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




Мелкий пишет:
Тогда, собственно, empty.


bool (false) (empty($get[id]))
 
 Top
GoDr
Отправлено: 25 Февраля, 2015 - 08:06:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




is_null() работает только с NULL, в других случаях будет FALSE..

почему бы просто не написать так:
PHP:
скопировать код в буфер обмена
  1. if(!$get['id']){
  2.       echo "<font color='#D16000'>Условие 1</font>";
  3. }else{
  4.       echo "<font color='green'>Условие 2</font>";
  5. }


или так:
PHP:
скопировать код в буфер обмена
  1. if(empty($get['id'])){
  2.       echo "<font color='#D16000'>Условие 1</font>";
  3. }else{
  4.       echo "<font color='green'>Условие 2</font>";
  5. }


-----
Система управления веб-содержимым Lotos CMS
 
 Top
6stprod
Отправлено: 25 Февраля, 2015 - 08:11:45
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  $accpr = mysql_query("SELECT * FROM `".$server_adb."`.`accpr` WHERE id='".$accid['id']."'")or die(mysql_error());
  4.  while($get = mysql_fetch_array($accpr))
  5.  {
  6.   if (empty($get['active'])){
  7.       echo "<font color='#D16000'> ответ 1</font>";
  8.          } else {
  9.      
  10.           echo "<font color='green'>ответ 2</font>";
  11.    }}
  12. var_dump($get);
  13. ?>
  14.  
  15.  
  16.  
весь код...... Выдает BOOL(FALSE)


В таблице пусто, записей нет
 
 Top
Anguis
Отправлено: 25 Февраля, 2015 - 08:25:05
Post Id



Частый гость


Покинул форум
Сообщений всего: 253
Дата рег-ции: Июнь 2012  


Помог: 2 раз(а)




6stprod, ну дык вам не $get проверять надо, а делать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.  $accpr = mysqli_query("SELECT * FROM `".$server_adb."`.`accpr` WHERE id='".$accid['id']."'")or die(mysql_error());
  5. if(mysqli_num_rows($accpr)){
  6.  while($get = mysqli_fetch_array($accpr))
  7.  {
  8. ...
  9.  }}else{
  10. echo 'записей не найдено';
  11. }
  12.  
  13.  
  14. ?>
  15.  
 
 Top
6stprod
Отправлено: 25 Февраля, 2015 - 09:19:11
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Февр. 2015  


Помог: 0 раз(а)




Anguis пишет:
6stprod, ну дык вам не $get проверять надо, а делать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.  $accpr = mysqli_query("SELECT * FROM `".$server_adb."`.`accpr` WHERE id='".$accid['id']."'")or die(mysql_error());
  5. if(mysqli_num_rows($accpr)){
  6.  while($get = mysqli_fetch_array($accpr))
  7.  {
  8. ...
  9.  }}else{
  10. echo 'записей не найдено';
  11. }
  12.  
  13.  
  14. ?>
  15.  





PHP:
скопировать код в буфер обмена
  1. $account_premium = mysql_query("SELECT * FROM `".$server_adb."`.`account_premium` WHERE id='".$accid['id']."'")or die(mysql_error());
  2. if(mysql_num_rows($account_premium)){
  3.  while($get = mysql_fetch_array($account_premium))
  4.  {
  5. echo "<font color='#D16000'>ПОЛУЧИТЬ ПРЕМИУМ?</font>";
  6.  }}else{
  7. echo "<font color='green'> ПРЕМИУМ</font>";
  8. }
работает не правильно..данный код выдает ПРЕМИУМ при отсутствии записи в базе...то есть NULL
(Добавление)
Anguis пишет:
6stprod, ну дык вам не $get проверять надо, а делать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.  $accpr = mysqli_query("SELECT * FROM `".$server_adb."`.`accpr` WHERE id='".$accid['id']."'")or die(mysql_error());
  5. if(mysqli_num_rows($accpr)){
  6.  while($get = mysqli_fetch_array($accpr))
  7.  {
  8. ...
  9.  }}else{
  10. echo 'записей не найдено';
  11. }
  12.  
  13.  
  14. ?>
  15.  




PHP:
скопировать код в буфер обмена
  1. $account_premium = mysql_query("SELECT * FROM `".$server_adb."`.`account_premium` WHERE id='".$accid['id']."'")or die(mysql_error());
  2. if(mysql_num_rows($account_premium)){
  3.  while($get = mysql_fetch_array($account_premium))
  4.  {
  5. echo "<font color='green'>ПРЕМИУМ</font>";
  6.  }}else{
  7. echo "<font color='#D16000'>ПОЛУЧИТЬ ПРЕМИУМ?</font>";
  8. }
  9.  
  10.  
так лучше НО в таблице есть столбец "active" хотелось бы сравнить с ним...а то получается если в базе значения нет то - получить премиум - если есть то - вы премиум так же когда премиум кончился все равно отображает премиум
(Добавление)
PHP:
скопировать код в буфер обмена
  1. ("SELECT * FROM `".$server_adb."`.`account_premium` WHERE id='".$accid['id']."' AND active = 1"



помогло

спасибо всем!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB