Avron2
Новичок
Есть функция, определяющая есть ли дочерние элементы (дерево "вложенные множества"):
Дело в том, что $db_q['id_parent'] - может быть 0.
Т.е. функция может вернуть 0 и может false. Поэтому ниже условие будет true и при 0 и при false. А на самом деле, если 0, то это ответ, что есть родитель с id = 0, а false - это ответ функии если родителей нет.
Как точно проверить, что вернуло не false, а 0.
PHP:
hasParent($id) {
......................
$db_q->fetch_assoc();
if($db_q->num_rows() > 0) {
return $db_q['id'];
}
else {
return false;
}
Т.е. функция может вернуть 0 и может false. Поэтому ниже условие будет true и при 0 и при false. А на самом деле, если 0, то это ответ, что есть родитель с id = 0, а false - это ответ функии если родителей нет.
PHP:
if(hasParent(3)) {
}