Strona 1 z 1

[PHP/MySQL]Kategorie

: pt gru 24, 2004 1:41 pm
autor: Krzysztof Kurzydło
Zrobiłem sobie skrypt który wyświetla kategorie przy użyciu bazy danych MySQL oto struktura tabeli

Kod:
[sql]
categories (
id int(11) NOT NULL auto_increment,
title text NOT NULL,
category_id text NOT NULL,
PRIMARY KEY (id)
)
[/sql]

a oto kod napisany w PHP

[php]
<?
function category ($id) {

$query = "SELECT * FROM categories WHERE id='$id' ORDER BY id ASC ";
$result = @mysql_query($query);
if ($result) {
$row = mysql_fetch_assoc($result);

if ($row[category_id] !== kg) {
echo '<a href="'.$_SERVER[PHP_SELF].'?id='.$row[id].'">'.$row[title].'</a>  »  ';
}
if ($row[category_id] == kg) {
// Jeżeli kategoria jest kategorią główna zakończ wywoływanie funkcji
echo '<a href="'.$_SERVER[PHP_SELF].'?id='.$row[id].'">'.$row[title].'</a>';

}
else {
// Jeżeli kategoria nie jest kategorią główną wywołaj funkcje jeszcze raz
echo category ($row[category_id]);

}
}

}

echo category($_GET[id]);
?>
[/php]

działa to w taki sposób że kolumna category_id odpowiada za kategorie do której została dodana i jeżeli category_id ma wartość kg to jest już kategorią główną w pokazanym niżej przykładzie jest to kategoria download i tutaj zaczyna się problem podana funkcja wyświetla po jednym rekordzie na każde wywołanie. Pod koniec wywoływania ukazuje mi się coś takiego
phpblabla >>systemy portalowe>>skrypty php> download
a chciałbym aby wyświetlało się to tak
download >> skrypty php>> systemy portalowe >> phpblabla

czy da się to jakoś rozwiążać ??
A może trzeba napisać inny kod ??

Za wszelką pomoc dziękuje.

Re: [PHP/MySQL]Kategorie

: sob sty 01, 2005 1:09 am
autor: Seth
Zamiast:
[sql]...ORDER BY id ASC[/sql]
daj
[sql]...ORDER BY id DESC[/sql]


P.S. Czy Tobie przypadkiem nei chcodzi o stworzenie drzewka SQLowego ?

Re: [PHP/MySQL]Kategorie

: ndz sty 02, 2005 7:12 pm
autor: Krzysztof Kurzydło
ORDER BY nic nie daje ponieważ każde wywołanie pobiera jeden rekord a nie więcej.