Witam - mam kilka pytań kwestii kodu.
Jak wy to robicie ? Przeczytałem pewien artykuł na temat zagnieżdzania zapytań poprzez zadanie jednego zapytania które prowadzi do tablic a z tablic odczytujemy ją pętlą foreach, ale kiedy to tak naprawdę należy zastosowac ?
1. Jakie macie medoty na GET czy mój sposób jest prawidłowy ?
2. Czy jest możliwe wykonanie tego kodu za pomoca jednego zapytania i zrobienie tego jak wyzej napisalem ?
3. Jak wyglada poprawnośc, wydajnośc, optymalizacja tego kodu?
Z góry dziękuję za pomoc i pozdrawiam Was ciepło (IMG:
style_emoticons/default/czarodziej.gif)
Oto mój kod:
$id_get = $_GET['id'];
include_once ("connection.php");
$zapytanie = "
SELECT kategoria_pl AS kategoria,
kategoria.id AS id
FROM kategoria
ORDER BY kategoria_pl
";
$kategoria = $row['kategoria'];
$id = $row['id'];
echo '<a href="index.php?id='.$id.'">'.$kategoria.'</a>';
}
}
// KATEGORIE
$pod = (int)$id_get;
$zapytanie = "
SELECT DISTINCT podkategorie.podkategoria AS podkategoria,
podkategorie.id AS id,
podkategorie.id AS id_pod
FROM podkategorie, katalog_firm
WHERE podkategorie.id_kategoria = $pod
ORDER BY podkategoria
";
$podkategoria = $row['podkategoria'];
$pod = $row['id'];
$id_pod = $row['id_pod'];
//tutaj nowe
$zapytanie3 = "
SELECT katalog_firm.id_podkategoria AS ilosc
FROM katalog_firm
WHERE katalog_firm.id_podkategoria = $id_pod
ORDER BY katalog_firm.id_podkategoria
";
if ($suma >=1) {
echo '<a href="index.php?id='.$id.'&pod='.$pod.'">'.$podkategoria."</a><br />"; }
}
}
if (isset($_GET['pod']) && !isset($_GET['firma'])) { // PODKATEGORIE
$id = (int)$_GET['pod'];
$zapytanie = "
SELECT katalog_firm.id AS id_firm,
katalog_firm.nazwa_firmy,
katalog_firm.adres,
ulica.ulica AS ulica,
miasta.miasto AS miasto,
podkategorie.podkategoria AS podkategoria
FROM katalog_firm
JOIN podkategorie ON katalog_firm.id_podkategoria = podkategorie.id
JOIN ulica ON katalog_firm.id_ulica = ulica.id
JOIN miasta ON katalog_firm.id_miasto = miasta.id
WHERE podkategorie.id = $id
ORDER BY katalog_firm.nazwa_firmy
";
$nazwa_firmy = $row['nazwa_firmy'];
$adres = $row['adres'];
$ulica = $row['ulica'];
$miasto = $row['miasto'];
$podkategoria = $row['podkategoria'];
$id_firm = $row['id_firm'];
echo '<a href="index.php?firma='.$id_firm.'"><b>'.$nazwa_firmy.'</b></a><br />'; echo $ulica." ".$adres."<br />"; echo "<b>podkategoria</b>: ".$podkategoria."<br /><br /><br />"; }
}
//firma
if (isset($_GET['firma'])) { // PODKATEGORIE
$id_firma = (int)$_GET['firma'];
$zapytanie = "
SELECT katalog_firm.id,
katalog_firm.nazwa_firmy,
katalog_firm.adres,
ulica.ulica AS ulica,
miasta.miasto AS miasto,
podkategorie.podkategoria AS podkategoria
FROM katalog_firm
JOIN podkategorie ON katalog_firm.id_podkategoria = podkategorie.id
JOIN ulica ON katalog_firm.id_ulica = ulica.id
JOIN miasta ON katalog_firm.id_miasto = miasta.id
WHERE katalog_firm.id = $id_firma
ORDER BY katalog_firm.nazwa_firmy
";
$nazwa_firmy = $row['nazwa_firmy'];
$adres = $row['adres'];
$ulica = $row['ulica'];
$miasto = $row['miasto'];
$podkategoria = $row['podkategoria'];
echo "<b>".$nazwa_firmy."</b><br />"; echo $ulica." ".$adres."<br />";
echo "<b>podkategoria</b>: ".$podkategoria."<br /><br /><br />"; }
}