Autor Zpráva
walkerman
Profil
Dobrý den, chtěl bych se zeptat jakou funkcí vypíšu všechny uživatelé aby mi vyšel počet všech dohromady, např. mám účty: účet1,účet2,účet3 a potřebuji aby se vypsalo počet uživatelů dohromady: 3 zkoušel jsem

<?php
 include"./config.php";
  $vypis=mysql_query("SELECT*FROM `uzivatele`");
  while($zaznam = MYSQL_Fetch_Array ($vypis))
{echo $zaznam["nick"]."<br />"; 
}
              
?>

Ale to mi vypíše pouze jména všechn uživatelů. Předem děkuji všem co se na to aspoň podívají
Fisir
Profil
Reaguji na walkermana [#1]:
Uprav si SQL příkaz na:
SELECT * FROM uzivatele LIMIT 3;
Blázním. Na to je samozřejmě funkce mysql_num_rows();. Ten SQL vypíše první tři jména, ne počet uživatelů.
walkerman
Profil
Napsalo mi to chybu Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.3.3\www\moje\hlavni.php on line 22
Someone
Profil
Buďto v PHP:
echo mysql_num_rows($vypis);
Nebo v dotazu:
SELECT COUNT(*) AS pocet FROM uzivatele
A potom v php:
<?php
    $result = mysql_fetch_assoc($vypis)
    echo "Počet je:" . $result['pocet'];
?>
walkerman
Profil
Už jsem to pochopil, upravil jsem SQL ale pořád to vypíše jen jména
Fisir
Profil
Reaguji na walkermana [#5]:
Ano, protože jsem to nečetl pozorně. Řiď se radou Someona [#4].
walkerman
Profil
Someone:
Pozměnil jsem to ale mám teď jiný problém vypíše mi to správně číslo ale napíše to přesně tolikrát kolik je uživatelů takže mi to teď píše 55555

<?php
 include"./config.php";
  $vypis=mysql_query("SELECT*FROM `uzivatele`");
  while($zaznam = MYSQL_Fetch_Array ($vypis))
{echo mysql_num_rows($vypis); 
}
              
?>
Fisir
Profil
Reaguji na walkermana [#7]:
Tak to nedávej do cyklu.
<?php
include("./config.php");
$vypis = mysql_query("SELECT * FROM uzivatele");
echo("Počet uživatelů: ".mysql_num_rows($vypis));         
?>
pcmanik
Profil
walkerman:
A prečo si funkčné riešenie zmenil na zlé?

$sql = mysql_query("SELECT COUNT(*) FROM uzivatele");
echo mysql_result($sql, 0);

Fisirove riešenie nepoužívaj, zbytočne musíš vybrať všetky riadky a následne ich spočítať. Takto máš rovno počet.

Naviac rozhranie mysql je zastarané a v budúcnosti bude zmazané. Treba používať mysqli, alebo PDO. To ale myslím tebe bude jedno.
walkerman
Profil
Fisir:
Vyřešeno mockrát děkuji :)
Someone
Profil
pcmanik:
Fisirove riešenie nepoužívaj, zbytočne musíš vybrať všetky riadky
Pokud by tu hodnotu chtěl použít ve výpisu uživatelů, nebo vypisovat na základě počtu řádků, tak se víc hodí mysql_num_rows();
Fisir
Profil
Reaguji na pcmanika [#9]:
Fisirove riešenie nepoužívaj, zbytočne musíš vybrať všetky riadky a následne ich spočítať. Takto máš rovno počet.
Ano, to souhlasím. Ale podle technické úrovně tazatele (tím se ale nechci nad ostatní povyšovat a jeho shazovat, každý někdy začínal) bych řekl, že tam moc uživatelů mít nebude a zpomalení nebude vůbec patrné.

Naviac rozhranie mysql je zastarané a v budúcnosti bude zmazané. Treba používať mysqli, alebo PDO.
Ano. Já jsem mu to psal v originálním stylu ale sám používám mysqli.
pcmanik
Profil
Fisir, Someone:
Podľa otázky chcel vedieť len počet a preto som navrhol najlepšie riešenie, nechcel som tu zbytočne vyvolať flame :)

A tá poznámka na modernejšie rozhranie nebola na teba Fisir :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: