Циклы по каждому элементу, если проблема - PullRequest
1 голос
/ 21 сентября 2011

Я пытаюсь получить 0 результат из этого цикла foreach, но он остается пустым. Однако он выполняет часть else if.

Я просто хочу отобразить записи из базы данных. Если нет записи, я просто хочу простой 0.

$entries = array();


$sql = "SELECT   `id`   FROM   `events` where creator_id='$id'  ORDER BY  `id` DESC         
LIMIT 1";


 $query = mysql_query($sql);
 while(($row = mysql_fetch_assoc($query)) !== false)
 {
 $entries[] = $row['id'];
  }


$value1 = "0";
foreach($entries as $entry) 
{  
  if ($entry == false) 
   {
    echo "0";
   }      
  else 
 if($entry > $value1) 
  {
   echo "$entry";
   }
} 

в чем может быть проблема?

Ответы [ 2 ]

2 голосов
/ 21 сентября 2011

Попробуйте это:

if (count($entries) == 0)
    echo "0";
else foreach($entries as $entry)
{
    if($entry > $value1)
    {
        echo "$entry";
    }
}

Обратите внимание, что это все равно может ничего не отображать, если все в $ entry <= $ value1. Возможно, вы захотите перенести эту логику в свой оператор SQL, в зависимости от того, что именно вы пытаетесь сделать. </p>

0 голосов
/ 21 сентября 2011

Это может решить вашу проблему.

используйте != вместо !== в цикле while.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...