Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wynik z Pętli w zapytaniu SQL
Forum PHP.pl > Forum > Bazy danych > MySQL
JOHNY
czy da się jakoś przekazać do coś takiego do zapytania questionmark.gif

wynik query1
12
23
1

i chce żeby w 2 zapytaniu do sql wyszukał mi tylko te ID wyniku z query1
ikioloak
Pokombinuj cos z podzapytaniami. Cos podobnego do:
  1. SELECT *
  2. FROM tab1 WHERE id = (SELECT id
  3. FROM tab2);

Wiecej poczytasz w dokumentacji
JOHNY
No niby fajnie połączyć 2 selecty ale chbya nie w przypadku gdy wynikiem jednego selecta jest tablica

ex.


  1. $query = "SELECT *
  2. FROM $pliki WHERE id=(SELECT *
  3. FROM rattings WHERE r_rok='$rok' AND r_autor='$a' AND r_game='$game' AND r_kategoria='$kat_id' GROUP BY r_carID DESC) AND $katt=$kat_id ORDER BY id LIMIT $od, $na_stronie";


tak nie zadziała bo mi nic nie wyświetli niestety
ikioloak
moze w podzapytaniu zamiast * daj pole ktoremu ma sie rownac id z pierwszego zapytania.
JOHNY
No tak też zrobiłem i nic zamieniłem * w podzapytaniu na r_carID ale pytanie takie skoro to pozapytanie generuje wynik typu:
11
12
13

czy sql wykona to bo wynikiem z QUERY ma być pętla tych wyników i wyświetlenie w tym przypadku 3 różnych wyników na www.

Próbowałem też wydzielić to podzapytanie zapytanie i wsadzić do pętli zapytanie query ale był problem ze zliczeniem ilości r_carID:

ex. jak miałem przedtem

  1. <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#ACACAC">
  2. <?
  3. $query = "SELECT * FROM rattings WHERE r_rok='$rok' AND r_autor='$a' 
  4. AND r_game='$game' AND r_kategoria='$kat_id' GROUP BY r_carID DESC";
  5.     $wynik = mysql_query($query);
  6.  
  7.     list($ile)=mysql_fetch_row(mysql_db_query($dbname, "SELECT count
  8. (r_carID) FROM rattings WHERE r_rok='$rok' AND r_autor='$a' AND r_game='$game'
  9.  AND r_kategoria='$kat_id' GROUP BY r_carID"));
  10.  
  11.     while($row = mysql_fetch_array($wynik)) {
  12.             $car_id = $row['r_carID']; 
  13. // było by ok gdyby się 
  14. //dało zliczyć wynik $car_id bo list($ile) niestety nie działa dobrze 
  15. //ponieważ jeśli mam takie dane 12, 13, 13, 14 to zliczy mi 4 zamiast 3
  16. if(!$od){ 
  17. $od = 0;
  18. }  
  19. $na_stronie = 2;
  20.  
  21.        $query2 = "SELECT * FROM $pliki WHERE id='$car_id' AND
  22.  $katt=$kat_id ORDER BY id LIMIT $od, $na_stronie";
  23.        $wynik2 = mysql_query($query2);
  24.        
  25.  
  26.    if(mysql_num_rows($wynik2)==0) {
  27.       echo "Sorry pusto";
  28.       return;
  29.    }  
  30.  
  31.  while($row2 = mysql_fetch_array($wynik2)) {
  32. // tu wyświetla wynik
  33. } // zamknięcie query2
  34. ?>
  35. <table>
  36. <?
  37. } // zamknięcie query
  38. ?>


Może inaczej zadam pytanie
Jak zrobić żeby do 2 zapytania władować wynik z pętli czyli
Działanie
1. Tworze sobie zapytanie1 gdzie otrzymuje wyniki 12,13,14 i zamykam zapytanie
2. Tworze sobne zapytanie2 gdzie na wyświetlenie potrzebuje w WHERE id= władować array (12,13,14) i aby się tylko te rodzaję ID wyśweitliły czy taką mozliwość ma mysql questionmark.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.