Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak najoptymalniej wykonac zapytanie SQL
deirathe
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

Ostrzeżenie: (0%)
-----


Powiedzmy ze mam tabele kategorie a w niej pola id i parent
id|parent
1 |0
2 |1
3 |1
4 |2
5 |4
6 |4
7 |5

no i powiedzmy ze pobralem element o id 7, jak najlepiej wykonac zapytanie zeby zwrocilo mi wszystkich rodzicow w poprawnej kolejnosci, tj

5,4,2,1
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bim2
post
Post #2





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

Ostrzeżenie: (0%)
-----


  1. <?php
  2. public function selectCategories($iId=0, $sB4='', $sSelect = '')
  3. {
  4. if(!$this->bHeader)
  5. {
  6. $this->bHeader = true;
  7. $sSelect = '<option value="0">--SELECT--</option>';
  8.  
  9. }
  10. $this->getAction('Categories', 'parseCategories');
  11. if($iId==0) 
  12. {
  13. $sClass = 'class="glowna" ';
  14. } else {
  15. $sClass = '';
  16. }
  17.  
  18. if(!empty($this->aSelectCategories[$iId]))
  19. {
  20. foreach($this->aSelectCategories[$iId] AS $iKey => $sValue)
  21. {
  22. $sSelect = $sSelect.'<option '.$sClass.'value="'.$sValue['id'].'"';
  23. if($sValue['id']==$this->catId)
  24. {
  25. $sSelect .=' selected="selected"';
  26. }
  27. $sSelect.='>'.$sB4.$sValue['name'].'</option>';
  28.  
  29. $sSelect = $this->selectCategories($sValue['id'], $sB4.'- ', $sSelect);
  30. }
  31. }
  32. $this->sSelect = $sSelect.'<!---->';
  33. return  $sSelect;
  34. }
  35. ?>

$B4 = before, czyli co ma byc przed optionem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) np. ----

$this->getAction('Categories', 'parseCategories'); - pobiera kategorie o danym idku

@up
Po co utrudniac sobie zycie gdy można zrobić tak jak pokazałem+cache. Jak uaktualnisz wpis usuwasz cache i juz. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.12.2025 - 20:06