Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> UNION i while
Apo
post 8.02.2006, 15:24:21
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam
Pisze sobie funkcje która ma za zadanie wygenerowanie listy select i zaznaczenie odpowiedniej pozycji (option) selected. Mam w bazie 2 tabele. W jednej są wyszstkie kategorie artykułów:

|id|nazwa_kategorii

a w drugiej artykuły:

|id|wpis|autor|kategoria

No i robie zapytanie do bazy:

  1. SELECT id, kategoria
  2. FROM arty
  3. WHERE id='$id' UNION SELECT id, nazwa
  4. FROM arty_cat


Dzięki temu wybieram 2 rekordy z tabeli artykuów i wszystkie kategorie z tabeli kategorii artykułów.
No i następnie musze porównać którą kategorie posiada artykuł aby zrobić ją selected w pole a reszte nie, więc robie:

  1. <?php
  2. Public Function Cat_Select( $id )
  3. {
  4. $this -> db -> query( "SELECT id, kategoria FROM arty WHERE id='$id' UNION SELECT id, nazwa FROM arty_cat" );
  5. while($array = $this -> db -> fetch_row())
  6. {
  7. $tablica[] = $array;
  8. }
  9.  
  10. for($i=0; $i<count($tablica); $i++)
  11. {
  12. if($tablica[0][1] == $tablica[$i][0])
  13. {
  14. echo '<option value="'.$tablica[$i][0].'" selected>'.$tablica[$i][1].'</option>';
  15. }
  16. else
  17. {
  18. echo '<option value="'.$tablica[$i][0].'">'.$tablica[$i][1].'</option>';
  19. }
  20. }
  21. }
  22. ?>

No i niby wszystko jest ok, a efekt jest taki:
  1. <?php
  2. <option value="7">3</option>
  3. <option value="1">programowanie</option>
  4. <option value="2">grafika</option>
  5. <option value="3" selected>Inne</option>
  6. ?>


No i pierwszej pozycji wole nie powinno być a sie pojawie i nie wiem czemu :?
Dodatkowo dam printa tablicy $tablica:

  1. <?php
  2. (
  3. [0] => Array  <---------- jako $tablica[0] zawsze jest artykuł a reszta to kategorie
  4. (
  5. [0] => 7
  6. [1] => 3
  7. )
  8.  
  9. [1] => Array
  10. (
  11. [0] => 1
  12. [1] => programowanie
  13. )
  14.  
  15. [2] => Array
  16. (
  17. [0] => 2
  18. [1] => grafika
  19. )
  20.  
  21. [3] => Array
  22. (
  23. [0] => 3
  24. [1] => Inne
  25. )
  26.  
  27. )
  28. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:51