Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak zamienić te dwa zapytania na jedno..?
Norbit_24
post 23.12.2010, 14:00:09
Post #1





Grupa: Zarejestrowani
Postów: 163
Pomógł: 2
Dołączył: 7.03.2009

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


Witam,

Chciałem połączyć te dwa zapytania w jedno.. jak to zrobić?

  1. $idds1 = intval($dane["id"]);
  2. $sql1 = mysql_query("SELECT * FROM znajomi WHERE id_twoj='$idds1'");
  3. $ile_znajomi1 = mysql_num_rows($sql1);
  4.  
  5. $idds2 = intval($dane["id"]);
  6. $sql2 = mysql_query("SELECT * FROM znajomi WHERE id_znajomego='$idds2'");
  7. $ile_znajomi2 = mysql_num_rows($sql2);
  8.  
  9. $ile_znajomi = $ile_znajomi1 + $ile_znajomi2;


Ten post edytował Norbit_24 23.12.2010, 14:07:39
Go to the top of the page
+Quote Post
Szadow
post 23.12.2010, 14:06:59
Post #2





Grupa: Zarejestrowani
Postów: 47
Pomógł: 6
Dołączył: 21.11.2010

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


Prosze:
Kod
SELECT * FROM `znajomi` WHERE `id_twoj`='$idds1'  AND `id_znajomego`='$idds2'


Ten post edytował Szadow 23.12.2010, 14:07:57


--------------------
Pomogłem? Kliknij przycisk Pomógł. ;)
Go to the top of the page
+Quote Post
nospor
post 23.12.2010, 14:07:03
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Dodac OR?
war1 OR war2

pozatym nie zlicza sie liczby rekordow poprzez ich wszystkich pobranie. Do tego sluzy COUNT w mysql


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Norbit_24
post 23.12.2010, 14:11:40
Post #4





Grupa: Zarejestrowani
Postów: 163
Pomógł: 2
Dołączył: 7.03.2009

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


Próbowałem już wczesniej jeden i drugi przykład i nie działa OR ani AND.

Wywala: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
Go to the top of the page
+Quote Post
phpion
post 23.12.2010, 14:12:04
Post #5





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Po pierwsze: do zliczania rekordów używaj COUNT(), a nie pobieraj wszystkich rekordów i zliczaj je mysql_num_rows().
Po drugi: takie coś powinno Ci zadziałać:
  1. $query = 'SELECT (
  2. (SELECT COUNT(*) FROM znajomi WHERE id_twoj=X)
  3. +
  4. (SELECT COUNT(*) FROM znajomi WHERE id_znajomego=Y)
  5. ) AS ile';
  6.  
  7. $result = mysql_query($query);
  8.  
  9. echo mysql_result($result, 0);

Pod X i Y podstaw sobie odpowiednie wartości.

// Edit:
Hehe, OR pewnie też by załatwił sprawę smile.gif

Ten post edytował phpion 23.12.2010, 14:12:59
Go to the top of the page
+Quote Post
nospor
post 23.12.2010, 15:29:12
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Hehe, OR pewnie też by załatwił sprawę
Nie pewnie a na pewno. Tylko pewnie źle to wstawil


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Wersja Lo-Fi Aktualny czas: 13.07.2025 - 14:35