|
|
|
|
<?php
include "config_forum.php";
$ath = mysql_query("select * from forums;");
if ($ath)
{
echo "<table border=1>";
echo "<tr>
<td></td>
<td>Название</td>
<td>Правила</td>
<td>Приветствие</td>
<td>Позиция</td>
<td>Скрытый/Доступный</td>
</tr>";
while (list($id_forum, $name, $rule, $logo, $pos, $hide) = mysql_fetch_row($ath))
{echo "<tr>";
if ($id_forum === NULL) echo "<td> - </td>";
else echo "<td>$id_forum</td>";
if ($name === NULL) echo "<td> - </td>";
else echo "<td>$name</td>";
if (!isset($rule)) echo "<td> - </td>";
else echo "<td>$rule</td>";
if ($logo === NULL) echo "<td> - </td>";
else echo "<td>$logo</td>";
if ($pos === NULL) echo "<td> - </td>";
else echo "<td>$pos</td>";
if ($hide === NULL) echo "<td> - </td>";
else echo "<td>$hide</td>";
echo "</tr>";
}
echo "</table>";
}
else
{
echo "<b>ERROR: ".mysql_error()."</b>";
exit();
}
?>
|
Не получается проверка на значение NULL
По идее поля rule и logo у меня пустые и должны заполнятся "-"
Но они просто пустые... | |
|
|
|
|
|
|
|
для: Mpak
(28.10.2006 в 12:05)
| | Приведите содержимое таблицы forums? | |
|
|
|
|
|
|
|
для: cheops
(28.10.2006 в 12:17)
| |
+----------+--------+-------+------+------+------+
| id_forum | name | rule | logo | pos | hide |
+----------+--------+-------+------+------+------+
| 1 |Форум1 | | | 5 | 0 |
| 2 |Форум2 | | | 4 | 0 |
| 3 |Форум3 | | | 3 | 0 |
| 4 |Форум1 | | | 2 | 0 |
| 5 |Форум1 | | | 1 | 0 |
+----------+--------+-------+------+------+------+
|
| |
|
|
|
|
|
|
|
для: Mpak
(28.10.2006 в 12:48)
| | У вас в полях rule и logo пустые строки вместо значений NULL - поэтому значения полей определены. | |
|
|
|
|
|
|
|
для: cheops
(28.10.2006 в 12:52)
| | В них же нет ничего, я их не заполнял (ставил ''), это не NULL? | |
|
|
|
|
|
|
|
для: Mpak
(28.10.2006 в 12:57)
| | Нет, это не NULL - это пустая строка. Дело в том, что в SQL NULL имеет специальное значение - не определённая переменная, т.е. если в поле rule вы помещаете правила - это означает, что правила имеются, если пустую строку - правил нет. Если NULL - не известно имеются правила или нет (они в реальной жизни могут быть, а могут не быть). Поэтому все операции с NULL дают NULL, так как сложение, умножение и любые другие преобразования с неизвестным результатом имеет неизвестное. | |
|
|
|