Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z baza danych mysql
Forum PHP.pl > Forum > PHP
tabbi
Witam,

nie wiem jak przejsc cala baze danych i kazda zmienna z tablicy dopisac do zmiennej.

  1. $sql = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM pacjenci LIMIT 1"));
  2. $koniec=$sql[0];
  3. $licznik_kobiet=0;
  4. for($i=1;$i<=$koniec;$i++)
  5. {
  6. $sql=mysql_fetch_assoc(mysql_query("SELECT imie FROM pacjenci where id='$i' "));
  7. $newsstring = $sql['imie'];
  8. $newstring = substr($newsstring, -1);
  9. if($newstring=="a")
  10. {
  11. $licznik_kobiet++;
  12. }
  13. }
  14. $dane[0]=$licznik_kobiet;
  15. $licznik_men = $koniec-$licznik_kobiet;
  16. $dane[1]=$licznik_men;
ADeM
Poczytaj o JOIN.
phpion
Cytat(ADeM @ 26.11.2010, 15:52:02 ) *
Poczytaj o JOIN.

W jakimś konkretnym celu?

@tabbi:
To powinno Ci zadziałać:
  1. $mezczyzni = 0;
  2. $kobiety = 0;
  3.  
  4. $q = 'SELECT imie FROM pacjenci';
  5. $q = mysql_query($q);
  6.  
  7. while ($r = mysql_fetch_assoc($q)) {
  8. if (substr($r['imie'], -1) == 'a') {
  9. $kobiety++;
  10. }
  11. else {
  12. $mezczyzni++;
  13. }
  14. }
  15.  
  16. echo 'Mezczyzn: '.$mezczyzni.', kobiet: '.$kobiety;


// Edit:
Możesz zrobić to od razu w MySQL:
  1. SELECT IF(RIGHT(imie, 1) = 'a', 'kobiet', 'mezczyzn') AS plec, COUNT(*) FROM pacjenci GROUP BY plec;
zordon
całą bazę czy tablicęquestionmark.gif
Po pobieżnej analizie Twego kodu wydaje mi się że źle się za to zabrałeś. Zamiast wysyłać zapytanie z count, w drugim zapytaniu nie dawaj warunku where. W ten sposób pobierzesz wszystkie wiersze tabeli w 1 zapytaniu, a nie wielu.
Liczbe wierszy otrzymasz stosując count() na tablicy wynikowej.
do iterowania po tablicy wynikowej zamiast for zastosuj while.

Ponadto założyłeś, że najwyższe id jest takie samo jak count(*), a to przecież nieprawda!
np wiersze maja id 1, 3, 4. Twój sposób poinformuje Cię, że są 3 wiersze, ale pobierzesz wiersz 1, 2(nie istnieje) i 3.
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.