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
Форумы портала PHP.SU :: Версия для печати :: Не могу понять почему не работает
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Не могу понять почему не работает

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

1. Ejik - 17 Сентября, 2008 - 09:00:20 - перейти к сообщению
Доброе время, помогите разобраться с этим участком кода:

PHP:
скопировать код в буфер обмена
  1. $query = "SELECT * FROM new  WHERE 1 ORDER BY id DESC LIMIT ".$start.", ".PAGE;
  2.  $res = mysql_query( $query );
  3.  
  4.  while( $new = mysql_fetch_array( $res ) )
  5.  {
  6.  
  7. echo"<table width=100% border=1 bordercolor=#dae8d7 cellpadding=0 cellspacing=0><tr><td>".$new['data']."</td></tr></table>";
  8. echo $new['comment']."<br><br>";
  9.   else ($new['path']==true){
  10. echo "<a href=id=".$new['id']."&path=".$new['path']." target=_blank>Подробно<img border=0 src=images/127.gif></a><br><br>";
  11.  }
  12.  }

суть такая: если в базу заносят текст без закрепления файла, то на страницы выходит текст без ссылки "Подробно".
В таком варианте у меня выходит на странице такая ошибка:syntax error, unexpected T_ELSE
2. Lostoffuture - 17 Сентября, 2008 - 09:07:03 - перейти к сообщению
Ну тка смотрите у вас же написанно в коде
PHP:
скопировать код в буфер обмена
  1. else ($new['path']==true){
  2. echo "<a href=id=".$new['id']."&path=".$new['path']." target=_blank>Подробно<img border=0 src=images/127.gif></a><br><br>";
  3.  }

как правильно понял, если в $new['path'] есть какое либо значение то производим действия с выводом ссылки на "Подробно", в противном случае у вас выполняется первичное условие.... либо у вас не правильно проработан уикл, либо вы не передаете данные в $new['path']))
3. Champion - 17 Сентября, 2008 - 09:32:18 - перейти к сообщению
Ну во-первых, mysql_fetch_array возвращает обычный массив, а не ассоциативный. И в $new['чего-то'] у Вас ничего нет. Когда пишете ошибку, было бы здорово еще написать, на какой она строчке.
А вообще ошибка гласит, что в Вашем тексте присутствует неожиданный оператор else. Он действительно неожиданный, т.к. я не вижу if.
4. Singularis - 17 Сентября, 2008 - 10:03:16 - перейти к сообщению
Champion пишет:
А вообще ошибка гласит, что в Вашем тексте присутствует неожиданный оператор else. Он действительно неожиданный, т.к. я не вижу if.

Точно! Ха-ха
5. valenok - 17 Сентября, 2008 - 22:32:53 - перейти к сообщению
Champion А вообще mysql_fetch_array возвращает ассоциативный массив, и не только.
6. Champion - 18 Сентября, 2008 - 08:49:25 - перейти к сообщению
valenok пишет:
Champion А вообще mysql_fetch_array возвращает ассоциативный массив, и не только.


Хм...действительно. Я почему-то раньше думал, что fetch_assoc - ассоциативный, а fetch_array - только нумерованый, а оно вот как Улыбка
Спасибо, буду знать
7. Ejik - 19 Сентября, 2008 - 07:18:47 - перейти к сообщению
Champion

Точно место else нужно было поставить if и все работает, что-то я затупил, Всем большое СПАСИБО.

 

Powered by ExBB FM 1.0 RC1