Trochę roboty



Lubię takie rzeczy:
Przed:

$q = "SELECT id,nazwa,nadrzedna_id FROM lokalizacja ORDER BY nazwa ASC";

Po:

$q = "SELECT l1.id,l1.nazwa,l1.nadrzedna_id,l2.nazwa AS nadnazwa ";
$q.= "FROM lokalizacja AS l1, lokalizacja AS l2 ";
$q.= "WHERE l1.nadrzedna_id = l2.id OR l1.nadrzedna_id = 0 OR l1.nadrzedna_id IS NULL ";
$q.= "ORDER BY nadnazwa,l1.nazwa ASC";

Do tego jeszcze mała zmiana niżej:

while ($row = mysql_fetch_array($res)) {
$tab[$row['id']] = (is_numeric($row['nadrzedna_id']) &&
- $row['nadrzedna_id'] > 0 ? " - " : "").$row['nazwa'];
+ $row['nadrzedna_id'] > 0 ? "(".$row['nadnazwa'].") - " : "").$row['nazwa'];

Efekt (od strony użytkownika) jest o wiele lepszy, więcej widać, przejrzyściej, a co najważniejsze, to wciąż jeden SELECT :-]. SQL czasami rządzi.

Comments


Comments powered by Disqus