Я нашел это здесь: Category Hierarchy (PHP/MySQL)Категория Иерархия (PHP/MySQL) в Yii
И я хочу, чтобы отобразить этот код, но он не работает правильно.
я получил следующую иерархию:
-Airsoft
--Scopes
Это все. Но код отображения:
-Airsoft
--Scopes (So far so good)
-Scopes <--- this one should not be here!
Вот код:
public static function producten(){
$connection=Yii::app()->db; // assuming you have configured a "db" connection
$sql = 'SELECT id, parent, naam FROM categories ORDER BY naam';
$command=$connection->createCommand($sql);
$dataReader=$command->query();
$refs = array();
foreach ($dataReader as $row)
{
$ref = & $refs[$row['id']];
$ref['parent'] = $row['parent'];
$ref['naam'] = $row['naam'];
if ($row['parent'] == NULL)
{
$list[$row['id']] = & $ref;
}
else
{
$refs[$row['parent']]['children'][$row['id']] = & $ref;
}
}
function toUL(array $array)
{
$html = '<ul>' . PHP_EOL;
foreach ($array as $value)
{
$html .= '<li>' . $value['naam'];
if (!empty($value['children']))
{
$html .= toUL($value['children']);
}
$html .= '</li>' . PHP_EOL;
}
$html .= '</ul>' . PHP_EOL;
return $html;
}
print_r($refs);
echo toUL($refs);
}
print_r()
там проявляет:
Array ([1] => Array ([parent] => [naam] => Airsoft [children] => Array ([2] => Array ([parent] => 1 [naam] => Scopes))) [2] => Array ([parent] => 1 [naam] => Scopes))
Может кто-то выяснить, что случилось с кодом и помочь мне пожалуйста?
Попробуйте добавить GROUP BY Наама – Naruto
@Naruto никакой разницы :( – Refilon
Ну проблема в том, что вы не проверить, если ребенок уже существует для этого родителя .. – Naruto