Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql]Zapytanie w zależności od wyniku
OlgaG
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 8.04.2007

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


Mam następujący problem:

mam dwa rozbudowania zapytania do bazy danych:
  1. <?php
  2. $query-str= "SELECT... ";
  3. $query-str1= "SELECT... ";
  4.  
  5. //korzystam z mysqli
  6.  
  7. $result = $conn->query($query_str);
  8.  
  9. $result1 = $conn->query($query_str1);
  10. ?>


Chciałabym pobierać wyniki drugiego zapytania za pomocą fetch_assoc(), ale tylko jeżeli z pierwszego zapytania mam pusty wynik. Robię to następująco:

  1. <?php
  2. //najpierw obsługa błędów
  3. if($result === FALSE or $result1 === FALSE)
  4. {
  5. $errno = $conn->errno;
  6. $errmsg = $conn->error;
  7.  
  8. echo "Niestety nie udało się wylosować bloga z kategorii klienta dla tego artykuł
    u:($errno) $errmsg>br />\n"
    ;
  9. }
  10.  
  11. //jeśli wszystko jest ok
  12. else
  13. {
  14. //jeżeli pierwsze zapytanie nie zwróciło pustego wyniku
  15. while(($row_data = $result->fetch_assoc()) !== NULL)
  16. {
  17. //tutaj instrukcje
  18.  
  19.  }
  20. //jeżeli pierwsze zapytanie zwróciło pusty wynik
  21. while(($row_data = $result->fetch_assoc()) == NULL){
  22. while($row_data1 = $result1->fetch_assoc()){
  23.  
  24. //tutaj instrukcje
  25.  }
  26.  }
  27. }
  28. ?>



Problem w tym, że przeglądarka miele skrypt i w końcu go przerywa, bo przekroczony jest limit czasu. Skrypt nie chce się wykonać tylko jeżeli pierwsze zapytanie zwraca pusty wynik, czyli gdy skrypt przechodzi do pętli while w while . Chyba coś przekombinowałam (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)

Można jakoś inaczej zapisać tę instrukcję warunkową tak, by najpierw sprawdzać czy pierwsze zapytanie zwraca wynik puty, a jeśli tak to dane pobiera z 2 zapytania?

Dzięki za pomoc.
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 - 21:27