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 » » Вопросы новичков » Не работает проверка

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

1. shahin - 05 Декабря, 2017 - 01:17:16 - перейти к сообщению
Здравствуйте,уже два часа копаюсь, решил ускорить процесс и пушу вам.Не рабоьает
PHP:
скопировать код в буфер обмена
  1. $sql_select2 = "SELECT * FROM `message`";
  2. $result2 = $mysqli->query($sql_select2);
  3. $row2 = mysqli_fetch_array($result2);
  4.  
  5. CLOSE();
  6.  
  7. if ($row2['status'] == "") {
  8.     $flag = '<span style="color:#f00"><b>Нет</b></span>';
  9. } else {
  10.     $flag = '<span style="color:#0c0"><b>Да</b></span>';
  11. }

Все это вывожу тут
PHP:
скопировать код в буфер обмена
  1. do {
  2.     printf('
  3.        <tr>
  4.            <td width=200>&emsp;<b><a href="">' . $row2['name'] . '</a></b></td>
  5.            <td width=80 align=center>' . $row2['time'] . '</td>
  6.            <td width=80 align=center>' . $row2['date'] . '</td>
  7.            <td width=100 align=center>' . $flag . '</td>
  8.        </tr>
  9.    ');
  10. } while ($row2 = mysqli_fetch_array($result2));
2. Faraon-san - 05 Декабря, 2017 - 14:08:53 - перейти к сообщению
и что не работает?
3. shahin - 05 Декабря, 2017 - 16:59:20 - перейти к сообщению
ecли статус не пустой все равно показывает НЕТ
4. Строитель - 05 Декабря, 2017 - 17:07:57 - перейти к сообщению
shahin, напишите var_dump($row2); die; над этой строкой :

if ($row2['status'] == "") {

И посмотрите в браузере, что там вообще есть.
5. shahin - 06 Декабря, 2017 - 13:10:54 - перейти к сообщению
Вывело все записи из бд
6. Строитель - 06 Декабря, 2017 - 13:49:28 - перейти к сообщению
shahin пишет:
Вывело все записи из бд
Все записи код выше никак не может вывести, он должен отобразить одну строку из бд, и прекратить выполнение. Ну конечно, если у вас в базе всего одна строка, то да, все записи и будут состоять из одной строки. Ну и следующее, что можно сделать, так это посмотреть, что в $row2['status']
Если и там НЕ пусто, то в блоке if отработает else, и в переменную $flag запишется "Да".
7. shahin - 06 Декабря, 2017 - 13:59:01 - перейти к сообщению
Строитель string(1) "1"
8. Строитель - 06 Декабря, 2017 - 14:03:20 - перейти к сообщению
shahin пишет:
Строитель string(1) "1"
Ну значит тут
PHP:
скопировать код в буфер обмена
  1. // при значении $row2['status'] равном 1, интерпретатор
  2. if ($row2['status'] == "") {
  3.     $flag = '<span style="color:#f00"><b>Нет</b></span>';
  4. } else {
  5.     // зайдёт в этот блок кода
  6.     $flag = '<span style="color:#0c0"><b>Да</b></span>';
  7. }

(Добавление)
shahin ->посмотреть демо
9. shahin - 06 Декабря, 2017 - 14:16:47 - перейти к сообщению
Я не правильно пишу, у меня идет вывод всех писем и мне надо чтобы письма со статусом 1 было написано прочитано, или если пусто то не прочитано. как-то id надо применить
10. Строитель - 06 Декабря, 2017 - 14:31:02 - перейти к сообщению
shahin пишет:
Я не правильно пишу, у меня идет вывод всех писем и мне надо чтобы письма со статусом 1 было написано прочитано, или если пусто то не прочитано. как-то id надо применить
Ну так в чём проблема? Пишите так
(Добавление)
shahin, да и вообще тут без условного оператора можно обойтись : пример
11. shahin - 06 Декабря, 2017 - 16:54:35 - перейти к сообщению
Строитель не работает
12. Строитель - 06 Декабря, 2017 - 16:58:00 - перейти к сообщению
shahin пишет:
Строитель не работает
А по ссылке из моего предыдущего поста вы смотрели? -- там очень даже работает )) Особенно, если кликнуть по кнопке "Execute code" Радость

Делайте по аналогии с рабочим кодом.
13. shahin - 06 Декабря, 2017 - 17:01:58 - перейти к сообщению
Вот может так будет легче помоч
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. CONNECT();
  4. $sql_select = "SELECT * FROM `mess_in` WHERE `status` = 0";
  5. $result = $mysqli->query($sql_select);
  6. $row = mysqli_fetch_array($result);
  7. $sql_select2 = "SELECT * FROM `mess_in`";
  8. $result2 = $mysqli->query($sql_select2);
  9. $row2 = mysqli_fetch_array($result2);
  10. CLOSE();
  11. $row2['status'] = 1;
  12. $status = ['<span style="color:#f00"><b>Не прочитано</b></span>', '<span style="color:#0c0"><b>Прочитано</b></span>'];
  13. $flag = $status[$row2['status']]?? false;
  14. ?>
  15. <div class="tabs">
  16. <ul class="tabs__caption">
  17. <li class="active">Новые</li>
  18. <li>Входящие</li>
  19. <li>Отправленные</li>
  20. </ul>
  21. <div class="tabs__content  active">
  22. <?PHP
  23. echo '<table border=0 width=100% class="mess">';
  24. do
  25. {
  26. '<tr>
  27. <td width=200>&emsp;<b><a href="/mess/user.php?mess='.$row['name'].'&num='.$row['id'].'">'.$row['name'].'</a></b></td>
  28. <td width=80 align=center>'.$row['time'].'</td>
  29. <td width=80 align=center>'.$row['date'].'</td>
  30. <td width=100 align=center>'.$flag.'</td>
  31. </tr>'
  32. );
  33. }
  34. while($row = mysqli_fetch_array($result));
  35. ?>
  36. </table>
  37. </div>
  38. <div class="tabs__content">
  39. <?PHP
  40. echo '<table border=0 width=100% class="mess">';
  41. do
  42. {
  43. '<tr>
  44. <td width=200>&emsp;<b><a href="/mess/user.php?mess='.$row2['name'].'&num='.$row2['id'].'">'.$row2['name'].'</a></b></td>
  45. <td width=80 align=center>'.$row2['time'].'</td>
  46. <td width=80 align=center>'.$row2['date'].'</td>
  47. <td width=100 align=center>'.$flag.'</td>
  48. </tr>'
  49. );
  50. }
  51. while($row2 = mysqli_fetch_array($result2));
  52. ?>
  53. </table>
  54. </div>
  55.  

 

Powered by ExBB FM 1.0 RC1