Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Problem z zapętlaniem pytania
maniak11
post
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.03.2006
Skąd: Sosnowiec

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


Witam, bardzo proszę o jakąś pomoc bo siedzę na tym już jakiś czas i lipa:(

W bazie jest

id | type | ...
1 txt
2 txt
3 gal
4 txt
5 gal
itd


i teraz chciałbym w zależności od tego jaki jest "type" wyciągać te dane ale przy pomocy 2 różnych zapytań.
Dla zobrazowania pokazuję BŁĘDNE rozwiązanie (bo nie działa, wiem dlaczego ale nie wiem jak ma być poprawnie)
  1. <?php
  2. $q = "Select id, type From tabela"
  3. $res = $q -> fetchAll();
  4.  
  5. foreach ($res as $r)
  6. {
  7.                        if($r['type'] == 'txt')
  8.                        {
  9.                          $sql  =         '....';
  10.                        }
  11.                        elseif ($r['type'] == 'gal')
  12.                        {
  13.                          $sql = '....';
  14.                        
  15.                        }
  16.            
  17. }        
  18. $stmt = $pdo -> query($sql)
  19.  
  20. // i następnie wyciągam po kolei ...teoretycznie
  21. while( $row = $stmt -> fetch() )
  22. {
  23. tu kod to wyświetlania wierszy
  24. }
  25. ?>


Jest to oczywiście źle bo pętla wykonuje się z takim selectem jaki pierwszy wiersz w bazie jest ('gal' lub 'txt')

Pliiis pomożecie jak to zrobić?
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Rafal Filipek
post
Post #2





Grupa: Zarejestrowani
Postów: 274
Pomógł: 54
Dołączył: 2.05.2006
Skąd: Nadarzyn

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


Cytat
Jest to oczywiście źle bo pętla wykonuje się z takim selectem jaki pierwszy wiersz w bazie jest ('gal' lub 'txt')

imho, petla wykona sie z takim typem jak ostatni rekord z tabeli ( cały czas zmieniasz wartośc zmiennej $sql
ja bym zrobil to tak;
  1. <?php
  2. $q = "Select id, type From tabela"
  3. $res = $q -> fetchAll();
  4.  
  5. foreach ($res as $r)
  6. {
  7.                       if($r['type'] == 'txt')
  8.                       {
  9.                         $sql  =         '....';
  10.                       }
  11.                       elseif ($r['type'] == 'gal')
  12.                       {
  13.                         $sql = '....';
  14.                      
  15.                       }
  16.                       $stmt = $pdo -> query($sql)
  17.  
  18.                       // i następnie wyciągam po kolei ...teoretycznie
  19.                       while( $row = $stmt -> fetch() )
  20.                       {
  21.                       tu kod to wyświetlania wierszy
  22.                       }
  23.          
  24. }        
  25. ?>
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: 9.10.2025 - 09:38