Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zliczanie rekordów
Forum PHP.pl > Forum > Przedszkole
kujol
Witam. Mam w bazie danych 8 rekordów ale gdy ich liczba osiągnie 10 nie może zostać dodany 11. Zrobiłem takie coś, ale to mi nie działa.

Kod
<?

mysql_connect("baza", "login", "haslo")or die("Nie można nawiązać połączenia z bazą");    //łącze z bazą danych
mysql_select_db("baza")or die("Wystąpił błąd podczas wybierania bazy danych");

$to= $_POST['MAX'];       //pobiera dane z formularza  
$toto= $_POST['MAX_FILE'];

$wynik=mysql_query ("SELECT COUNT(*) AS id FROM uzytkownicy ");      //pobieram ilość rekordów
$wynik2=mysql_fetch_array($wynik);

if ($wynik2 < 10)    //jeśli jest ich mniej niż 10 dodaje kolejny

{
mysql_query("INSERT INTO `uzytkownicy` (`login`,`haslo`) VALUES ('".$to."','".$toto."')");
echo "<a href=robota2.php>uzytkownicy</a>";
}

else // jeśli jest więcej niż 10 wyświetla komunikat

{
echo "NO";
}

?>
b4rt3kk
Zapytanie:

  1. $wynik=mysql_query ("SELECT COUNT(*) AS id FROM uzytkownicy "); //pobieram ilość rekordów
  2. $wynik2=mysql_fetch_array($wynik);


Zwróci tylko 1 wiersz, z wynikiem (liczbą) rekordów z tabeli uzytkownicy. Jeśli nie jesteś czegoś pewien, to nie możesz wyświetlić sobie wyniku? Nawet nie wiesz czym jest zmienna $wynik2, jest tablicą. Po pierwsze nie tak się sprawdza rozmiar tablicy:

  1. if ($wynik2 < 10) //jeśli jest ich mniej niż 10 dodaje kolejny


A po drugie wspominałem już wcześniej, że jako wynik otrzymasz 1 wiersz. Tak więc prawidłowe sprawdzenie:

  1. if ($wynik2[0]['id'] < 10) //jeśli jest ich mniej niż 10 dodaje kolejny

kujol
Zamiast tego
Kod
if ($wynik2[0]['id'] < 10)    //jeśli jest ich mniej niż 10 dodaje kolejny

użyłem
Kod
if ($wynik2['id'] < 10)    //jeśli jest ich mniej niż 10 dodaje kolejny
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.