Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wynik z Pętli w zapytaniu SQL
JOHNY
post
Post #1





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

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


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
Go to the top of the page
+Quote Post
ikioloak
post
Post #2





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

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


Pokombinuj cos z podzapytaniami. Cos podobnego do:
  1. SELECT *
  2. FROM tab1 WHERE id = (SELECT id
  3. FROM tab2);

Wiecej poczytasz w dokumentacji
Go to the top of the page
+Quote Post
JOHNY
post
Post #3





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

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


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
Go to the top of the page
+Quote Post
ikioloak
post
Post #4





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

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


moze w podzapytaniu zamiast * daj pole ktoremu ma sie rownac id z pierwszego zapytania.
Go to the top of the page
+Quote Post
JOHNY
post
Post #5





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

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


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

Ten post edytował JOHNY 15.01.2006, 13:32:50
Go to the top of the page
+Quote Post

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 Aktualny czas: 21.08.2025 - 19:31