Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zamienić te dwa zapytania na jedno..?
Forum PHP.pl > Forum > Bazy danych > MySQL
Norbit_24
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;
Szadow
Prosze:
Kod
SELECT * FROM `znajomi` WHERE `id_twoj`='$idds1'  AND `id_znajomego`='$idds2'
nospor
Dodac OR?
war1 OR war2

pozatym nie zlicza sie liczby rekordow poprzez ich wszystkich pobranie. Do tego sluzy COUNT w mysql
Norbit_24
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
phpion
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
nospor
Cytat
Hehe, OR pewnie też by załatwił sprawę
Nie pewnie a na pewno. Tylko pewnie źle to wstawil
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.