Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobranie danych i losowe wybieranie
Forum PHP.pl > Forum > Bazy danych > MySQL
basf
Witam

Istnieje sobie tabela users z polami login i plec
Druga tabela to tabela fotka z polami login.

Chce stworzyc zapytanie tzn pobrac login tak aby wpierw sprawdzic w tabeli users czy jest on konkretnej plci (WHERE users.plec='Kobieta') i czy istnieje wogole w tabeli fotka.
I teraz po pobraniu wszystkch o danej plci i majacych jednoczesnie wpis login w tabeli fotka chcialbym wylosowac jednego.


Reasumujac - chodzi o wylosowanie jakiegos loginu o konkretnej plci.
Znam podstawy mysql, ale mam jeszcze problem z zapytaniami do dwoch czy wiecej tabel.
Dzieki z gory za pomoc


A.K.
mario
A po co do tego 2 tabele? Proponuję to wrzucić to jednej USERS tyle, że dodajesz w niej dodatkowe pole FOTKA. I wtedy w jednej tabeli masz wszystkie dane.

Zapytanie powinno wyglądać tak:
  1. <?php
  2. $baza = mysql_connect($hostname, $username, $password) or die (&#092;"Chwilowe problemy. Zapraszamy za kilka chwil.....\");
  3. mysql_select_db ($database,$baza);
  4.  
  5.  $query = &#092;"SELECT * FROM users WHERE plec='K' AND login !='' AND fotka !='' ORDER BY RAND() LIMIT 1\";
  6.  $result = mysql_query ($query, $baza);
  7.  $istnieje = mysql_num_rows ($result);
  8.  
  9.  If ($istnieje!=0)
  10. {
  11.  while ($r = mysql_fetch_array($result))
  12. {
  13.  $login = $r [login];
  14.  echo $login;
  15. }
  16. }
  17.  else
  18. echo &#092;"brak rekordów\";
  19. ?>

Zapytanie pobiera tylko jedną wartość z bazy losowo gdzie musi być wypełnione pole fotka. Parametr LIMIT określa ile ma wyciągnąć rekordów z bazy.
basf
gdyby bylo to w jednej tabeli nie bylo by problemu
jest i musi byc w dwoch
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.