$sql = "
SELECT cid, parent_id, name, comment, avatar,
DATE_FORMAT(date_add, '%d %M %Y %H:%i') as date_add
FROM comments WHERE page='$page'
";
$query = mysqli_query($db, $sql);
while($row = mysqli_fetch_array($query))
{
$data[$row[cid]] = $row;
}
/* Функция для создания дерева комментариев */
function mapTree($dataset) {
$tree = array(); // Создаем новый массив
foreach ($dataset as $cid=>&$node) {
if (!$node['parent_id']) { // не имеет родителя, т.е. корневой элемент
$tree[$cid] = &$node;
} else {
$dataset[$node['parent_id']]['childs'][$cid] = &$node;
}
}
return $tree;
}
function commentsToTemplate($comment)
{
ob_start();
include 'comment_template.php';
$comments_string = ob_get_contents();
ob_end_clean();
return $comments_string;
}
function commentsString($data)
{
foreach($data as $w)
{
$string .= commentsToTemplate($w);
}
return $string;
}
$data = mapTree($data);
$comments = commentsString($data);
$data = null;
В базе на данный момент нет записей. Запара в пустом массиве $row и foreach выбивает ошибку (Warning: Invalid argument supplied for foreach() in.......) Как лучше? Проверять на наличие записей и только потом форычить?
Помогите плиз!