Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zliczanie rekordów!
Forum PHP.pl > Forum > Bazy danych > MySQL
tiramizu
Za pomocą zapytania sql (count) za bardzo nie umie policzyć ile wpisów jest w bazie. Bardzo proszę o podpowiedzi. Jak to zrobić.
bela
  1. SELECT count(id)
  2. FROM tabela GROUP BY id

?
SongoQ
GROUP BY jest nie potrzebne. Daje sie tylko COUNT(*)
tiramizu
Cytat(bela_666 @ 2005-08-04 22:42:15)
  1. SELECT count(id)
  2.  
  3. FROM tabela GROUP BY id

?

Gdzie on trzyma wynik tego zapytania SQL, jak go wyswietlić. Zawsze robiłem że jak wartość zapytania jest prawdą to wyciągałem jakieś dane z bazy. A jak to zrobić aby wyswietlic tą prawdę, czyli ilość tych rekordów ?
SongoQ
Chyba nie rozumiesz sensu SQLa. Radze poczytac.

  1. SELECT COUNT(*) AS ilosc
  2. FROM tabela


Zapytanie zwraca 1 rekord z polem ilosc i tam masz ile to jest rekordow.
tiramizu
Cytat(SongoQ @ 2005-08-05 17:45:14)
Chyba nie rozumiesz sensu SQLa. Radze poczytac.

  1. SELECT COUNT(*) AS ilosc
  2. FROM tabela


Zapytanie zwraca 1 rekord z polem ilosc i tam masz ile to jest rekordow.

$kontrola=0;
include("connect.php");
{
$sql="select * from ryby where kat like\"%$_POST[b]%\" or kat_gl like\"%$_POST[b]%\" or nazwa like\"%$_POST[b]%\" or nazwa_l like\"%$_POST[b]%\"";
//echo "*********************************************<br>";
//echo "$sql<br>";
//echo "*********************************************<br>";
}
if(isset($_POST[b]))
{
$result=mysql_query($sql,$link);
while($row=mysql_fetch_array($result))
{
$kontrola=$kontrola+1;
$str2=$row[2];
if(isset($str2))
{
$kat_gl=$row[kat_gl];
$kat=$row[kat];
$foto=$row[foto];
$nazwa=$row[nazwa];
$nazwa_l=$row[nazwa_l];
$opis=$row[opis];
$dlugosc=$row[dlugosc];
$pochodzenie=$row[pochodzenie];
$dyforyzm=$row[dyforyzm];
$latwosc_chowu=$row[latwosc_chowu];
$pokarm=$row[pokarm];
$sposob_roz=$row[sposob_raz];
$rozrod=$row[rozrod];
$woda=$row[woda];
$temp=$row[temp];
$typ_zbiornika=$row[typ_zbiornika];
$siedlisko=$row[siedlisko];
$uwagi=$row[uwagi];

print ("<table border='3' BORDERCOLOR='teal' width='400' align='center' BGCOLOR='silver'>\n");
print ("<tr><td colspan=2><FONT COLOR='navy'><img src='foto/$foto.jpg'></td></tr>");
print ("<tr><td><b>Kategoria : <td><b> $kat_gl </td></td></tr>");
print ("<tr><td><b>Gatunek : <td><b> $kat </td></td></tr>");
print ("<tr><td><b>Nazwa : <td><b> $nazwa </td></td></tr>");
print ("<tr><td><b>Nazwa Ł : <td><b><I> $nazwa_l </I></td></td></tr>");
print ("<tr><td><b>Opis : <td><b> $opis </td></td></tr>");
print ("<tr><td><b>Długość : <td><b> $dlugosc mm </td></td></tr>");
print ("<tr><td><b>Pochodzenie : <td><b> $pochodzenie </td></td></tr>");
print ("<tr><td><b>Dyforyzm : <td><b> $dyforyzm </td></td></tr>");
print ("<tr><td><b>Łatwość chowu : <td><b> $latwosc_chowu </td></td></tr>");
print ("<tr><td><b>Pokarm : <td><b> $pokarm </td></td></tr>");
print ("<tr><td><b>Sposób rozrodu : <td><b> $sposob_roz </td></td></tr>");
print ("<tr><td><b>Rozród : <td><b> $rozrod </td></td></tr>");
print ("<tr><td><b>Woda : <td><b> $woda </td></td></tr>");
print ("<tr><td><b>Temperatura : <td><b> $temp &ordm;C </td></td></tr>");
print ("<tr><td><b>Typ zbiornika : <td><b> $typ_zbiornika </td></td></tr>");
print ("<tr><td><b>Siedlisko : <td><b> $siedlisko </td></td></tr>");
print ("<tr><td><b>Uwagi : <td><b> $uwagi </td></td></tr>");
print ("</tabela><br>");
}
}
if($kontrola==0)
{
echo "($_POST[b]) nieznależiono w bazie - wprowadz dane ponownie";
}
}

?>

To jest przykład, zawsze jak zapytanie sql ma wartosc prawda, to pobieram cos z bazy. I jestem w stanie wyciągnąć wszystko co tam jest fizycznie. Problem mam z ilością rekordów, ogólnie takiej informacji w bazie nie ma. Jak napiszę select count(*) from tabela, to w samej bazie mi sie wyświetli wynik. Ale ja to chce wyświetlić na stronie www za pomocą php. Nie wiem jak to zrobić, bo nie wiem gdzie php trzyma wynik tego zapytania sql. Nie w iem czy to jasno wytłumaczyłem.
SongoQ
Jasno wytlumaczyles. Podalem CI zapytanie, analogicznie robisz tak ja w Twoim skrypcie.

Masz zapytanie.
  1. SELECT COUNT(*) AS ilosc
  2. FROM tabela


Na takie cos musisz sobie zmienic.
  1. <?php
  2.  $result=mysql_query($sql,$link);
  3. $row=mysql_fetch_array($result);
  4. $iIloscZBazy = $row['ilosc'];
  5. ?>
tiramizu
Wielkie dzięki, działa. php dopiero sie uczę, z góry przepraszam za nie jasno postawione pytania. Wielkie dzieki SongoQ
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.