Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak zamienić te dwa zapytania na jedno..?
Norbit_24
post
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
 
Start new topic
Odpowiedzi
phpion
post
Post #2





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ę (IMG:style_emoticons/default/smile.gif)

Ten post edytował phpion 23.12.2010, 14:12:59
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: 3.10.2025 - 14:28