Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zliczenie rekordow z tabeli?
kpjeziorak
post 28.03.2004, 20:38:03
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


Witam

Czy moglby mi ktos napisac jak mozna zliczyc ile jest rekordow w tabeli.

Mam na swojej stronie dzial "Weterani" a tam pilkarzy, ktorzy przewineli sie przez klub w calej historii istnienia, cala lista sie wyswietla, ale chcialbym napisac cos w stylu: Mamy xxx piłkarzy w naszej bazie!

Gdzie xxx to wlasnie liczba wszystkich pilkarz znajdujacych sie w bazie.


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post
Sh4dow
post 28.03.2004, 20:54:25
Post #2





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


przydalo by sie cos wiecej na temat tableli to mozna by podac dokladniejszy przyklad, ale moze to wystarczy
[sql:1:e97be0ac3d]SELECT COUNT(id_gracza) AS liczba FROM pilkarze[/sql:1:e97be0ac3d]
jesli masz jakies dokladniejsze wyliczenia to dospiujesz warunek na koncu np.
[sql:1:e97be0ac3d]SELECT COUNT(id_gracza) AS liczba FROM pilkarze WHERE kolumna = 'X'[/sql:1:e97be0ac3d]
jesli natomiast wczesniej pobrałeś juz tablice np tak
[sql:1:e97be0ac3d]SELECT * AS liczba FROM pilkarze[/sql:1:e97be0ac3d]
to w php zliczysz ilosc
[php:1:e97be0ac3d]<?php
$wynik = mysql_query("SELECT * AS liczba FROM pilkarze");
$liczba = mysql_num_rows($wynik);
echo $liczba;
//... reszta skryptu
?>[/php:1:e97be0ac3d]


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
kpjeziorak
post 28.03.2004, 21:00:49
Post #3





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


W sumie nie mam pojecia co mam z tym zrobic:) Wiec napisze wiecej:

Oto kod SQL na podstawie ktorego stworzylem tabele:

[php:1:1436ebd893]<?php
CREATE TABLE `weterani` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`imienazwisko` varchar(255) NOT NULL DEFAULT '',
`email` varchar(255) NOT NULL DEFAULT '',
`gg` varchar(255) NOT NULL DEFAULT '',
`miejscezamieszkania` varchar(255) NOT NULL DEFAULT '',

PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
?>[/php:1:1436ebd893]

Nie wiem czy to wystarczy, ale chcialbym zeby wyswietlilo mi ile mam aktualnie pilkarzy w bazie.

PS: prosze nie zwracac uwagi na nazwy kolumn (gg, emial itp.) gdyz, przerobilem sobie inny skrypt dla potrzeb dzialu weterani.


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post
Sh4dow
post 28.03.2004, 21:05:27
Post #4





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


jesli chcesz otrzymac sama liczbe weteranow to to powinno wystarczyc
[php:1:d0ff317f04]<?php
$zapytanie = mysql_query("SELECT COUNT(id) FROM weterani");
$liczba = mysql_result($zapytanie, 0);
echo $liczba;
?>[/php:1:d0ff317f04]


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
JOHNY
post 28.03.2004, 21:29:11
Post #5





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Napiszę tu bo nie ma sensu zakładać nowego posta
Otórz ma takowy problem zorbiłem sobie system newsow z komentarzami i teraz problem mam ze stworzeniem prowidłowego zapytania hmm w zasadzie z wygenerowaniem liczby:

Mam taki kod:
[php:1:673d4f5d32]
<?php
require "./config.php";

$news_poz=10;
if(!$s){
$s="0";
}
$query = "SELECT * FROM newspl ORDER BY id DESC LIMIT $s, $news_poz";
$wynik = mysql_query($query);
list($ile)=mysql_fetch_row(mysql_db_query($dbname, "SELECT count(*) FROM newspl"));

?>
<script>
<!--

if (window.parent.location==window.location)
{
document.writeln('Czekaj na załadowanie ramek. Jeśli się nie pojawią, <a href="../index.php">kliknij tutaj</a>');
window.location='../index.php';
}

// -->
</script>
<br>
<table width="95%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#878057">
</table>
<div align="center">
<table width="95%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">
<tr>
<td bgcolor="#E2C56D" align="center" class="text"><div align="center"><b>News</b></div></td>
</tr>
<tr>
<td bgcolor="#EDD793" align="center"><br>
<?php

while($row = mysql_fetch_array($wynik)) {

$row = str_replace("n", "n<br />", $row);

echo "<table width="98%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#878057">"
."</table>"
."<table width="98%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">"
."<tr>"
."<td width="65%" align="left" bgcolor="#D1B04D" class="temat">&nbsp;Temat: <span class="text">" . $row['temat'] . "</span></td>"
."<td width="20%" align="center" bgcolor="#D1B04D" class="temat">Autor: <a href="mailto:". $row['email'] ."" class="tekst">" . $row['autor'] . "</a></td>"
."<td width="15%" align="center" bgcolor="#C2A345" class="windows">" . $row['data_dodania'] . "</td>"
."</tr>"
."<tr align="left" bgcolor="#E2C56D">"
."<td colspan="3">"
."<table width="98%" align="center" border="0" cellpadding="0" cellspacing="0">"
."<tr>"
."<td align="left" class="tekst">" . $row['opis'] . "</td>"
."</tr>"
."</table>"
."<tr align="left" bgcolor="#C2A345">"
."<td colspan="3" valign="middle"><a href="home.php?action=komentarz&news_id=". $row['id'] ."" class="textbold">&nbsp;&nbsp;&nbsp;Dodaj Komentarz </a><span class="tekst">(</span><span class="temat">"; echo ($koment); //tu zeminna koment wyciągające ilość komentarzy w konkretnym newsie echo"</span><span class="tekst">)</span></td>"
."</tr>"
."</table>"
."<br>";
}
for($s=0; $s<$ile; $s+=$news_poz) {
$z=$s/$news_poz+1;
echo"<a href="home.php?s=$s" class="boczne">$z</a> ";
}
if(mysql_num_rows($wynik)==0) {

echo "<p class="boczne">Nie ma nic w bazie</p>";

}
?>
<p></p>
</table>
</div>
<p></p>
?>[/php:1:673d4f5d32]
strukura sql
newspl
ID|TEMAT|AUTOR|EMAIL|OPIS
coments
ID|NEWS_ID|AUTOR|EMAIL|OPIS

Próbowałem użyć zapytania
[php:1:673d4f5d32]<?php
SELECT count(*) FROM coments WHERE news_id='$news_id';

?>[/php:1:673d4f5d32]
Ale coś nie chce trybić
Co mam zrobić questionmark.gif
Go to the top of the page
+Quote Post
kpjeziorak
post 28.03.2004, 21:33:54
Post #6





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


Sh4dow:

Niestety pokazuje sie blad, co zrobic?

[php:1:d2d53bae15]<?php
Warning: mysql_query(): Access denied for user: 'root@localhost' (Using password: NO) in /home/jeziorak/public_html/dzialy/weterani/wyswietl.php on line 8

Warning: mysql_query(): A link to the server could not be established in /home/jeziorak/public_html/dzialy/weterani/wyswietl.php on line 8

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/jeziorak/public_html/dzialy/weterani/wyswietl.php on line 9
?>[/php:1:d2d53bae15]


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post
Sh4dow
post 28.03.2004, 21:42:59
Post #7





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


JOHNY:
nie wiem czy to cos pomoze ale sproboj

[sql:1:fbb8bdfacc]SELECT count(id) FROM coments WHERE news_id='$news_id';[/sql:1:fbb8bdfacc]
w praktyce
[php:1:fbb8bdfacc]<?php
$query = mysql_query("SELECT count(id) FROM coments WHERE news_id='".$news_id."'");
$ilosc_komentarzy = mysql_result($query, 0);
echo $ilosc_komentarzy;
?>[/php:1:fbb8bdfacc]

kpjeziorak:
Według tego błędu, nie jestes polączony z bazą danych.
Cytat
...Access denied for user: 'root@localhost'...

a dokładniej dostęp do bazy jest zablokowany dla usera root. Zobacz czy prawidlowo masz wpisane haslo i usera


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
kpjeziorak
post 28.03.2004, 22:15:29
Post #8





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


Hasło i user mam wpisane dobrze, ponieważ gdy usune Twój kod, który mi podałeś to wszystko jest ok, nie wiesz może co jest przyczyną?
Oto kod pliku na którym ma się znaleźć ilość weteranów - przy okazji plik ten wyświetla listę weteranów.

wyswietl.php
[php:1:32671ae503]<?php
<TABLE border="0" cellspacing="0" cellpadding="5" width="560" style="font-size: 10px; font-family: verdana">
<TR>
<TD>
Lista piłkarzy, którzy kiedykolwiek zagrali w iławskim klubie. Jeżeli potrafisz uzupełnić tą listę, choćby o jedną datę urodzenia, to napisz do nas!<br />
<br />
<TABLE border="0" cellspacing="0" cellpadding="1" style="font-size: 10px; font-family: verdana">
<TR>
<TD align="center" width="70"><B>Nazwisko</B></TD>
<TD align="center" width="70"><B>Imię</B></TD>
<TD align="center" width="70"><B>Pozycja</B></TD>
<TD align="center" width="70"><B>Data ur.</B></TD>
</TR>
<?php

include('connection.php');

{
$zapytanie = sql("SELECT * FROM weterani ORDER BY imienazwisko ASC;");
while ($rekord = mysql_fetch_array($zapytanie))

{
$imienazwisko = $rekord['imienazwisko'];
$email = $rekord['email'];
$gg = $rekord['gg'];
$miejscezamieszkania = $rekord['miejscezamieszkania'];

echo "<TR>";
echo "<TD>$imienazwisko</TD>";
echo "<TD>$email</TD>";
echo "<TD>$gg</TD>";
echo "<TD>$miejscezamieszkania</TD>";
echo "</TR>";
}
}

?>
</TABLE>
</TD>
</TR>
</TABLE>
?>[/php:1:32671ae503]

To jest kod, ale bez tego co mi podałeś, czyli plik, który działa całkowicie dobrze, czy mógłbyś wstawić gdzieś nad tabelą kod, który będzie poprawnie wyświetlał ilość weteranów?


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post
Sh4dow
post 29.03.2004, 08:14:20
Post #9





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Nie wiem gdzie dodawałeś tą moją linie, ale musisz zrobić to po połączeniu się z bazą danych. czyli po
[php:1:5bef41e029]<?php
include('connection.php');
?>[/php:1:5bef41e029]


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
kpjeziorak
post 29.03.2004, 11:51:48
Post #10





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Iława

Ostrzeżenie: (0%)
-----


Wstawilem Twoj kod po polaczeniu sie z baza, ale i tak nie dzialalo, postanowilem sie troche pobawic i udalo sie:) Oto poprawny kod, praktycznie ten Twoj, ale troszke zmieniony:

[php:1:7da1e49328]<?php
$cos = sql("SELECT COUNT(id) FROM weterani");
$liczba = mysql_result($cos, 0);
echo $liczba;
?>[/php:1:7da1e49328]

&zapytanie zmienilem na &cos, bo dalej wystpejuje zmienna &zapytanie w kodzie i pomyslalem, ze moze przez to, dalej zamiast mysql_query("SELECT COUNT(id) FROM weterani"); wstawilem sql("SELECT COUNT(id) FROM weterani"); i teraz dziala, wiec WIELKIE dzieki za pomoc! Bo bez Ciebie nie doszedlbym sam do tego. Pozdrawiam


--------------------
Jeziorak-Iława.pl
www.jeziorak-ilawa.pl
krystian@jeziorak-ilawa.pl
Go to the top of the page
+Quote Post
JOHNY
post 29.03.2004, 17:36:35
Post #11





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Cytat
JOHNY:
nie wiem czy to cos pomoze ale sproboj  

[sql:1:789ebd22aa]SELECT count(id) FROM coments WHERE news_id='$news_id';[/sql:1:789ebd22aa]
w praktyce
[php:1:789ebd22aa]<?php
$query = mysql_query("SELECT count(id) FROM coments WHERE news_id='".$news_id."'");
$ilosc_komentarzy = mysql_result($query, 0);
echo $ilosc_komentarzy;
?>[/php:1:789ebd22aa]

Tak juz próbowałem najgorsze jest ot ze muszę w pliku wyswietlającym newsy czyli news.php odnieść sie do zmiennej $ile w pliku komentarze.php to w tedy by pokazało bo używając powyższego wywołania nie zatrybi.
Albo musiałbym w zapytaniu do coments zmiast zmiennej w formule news_id='$news_id' wstawić zmienną $id za zapytania do tabeli newspl - a to chyba zbytnio nie jest możliwe.

Najlepiej do by było w news.php odwołać sie jakoś do zmiennej $ile w pliku komentarze.php ale jak questionmark.gif
Jak ktoś miał takie problem jak jak to niech pomoże

EDIT 1

OK zrobiłem problem usunięty
Postać kodu
[php:1:789ebd22aa]
<?php
require "./config.php";

$news_poz=10;
if(!$s){
$s="0";
}
$query = "SELECT * FROM newspl ORDER BY id DESC LIMIT $s, $news_poz";
$wynik = mysql_query($query);
list($ile)=mysql_fetch_row(mysql_db_query($dbname, "SELECT count(*) FROM newspl"));
?>
<script>
<!--

if (window.parent.location==window.location)
{
document.writeln('Czekaj na załadowanie ramek. Je&para;li się nie pojawi&plusmn;, <a href="../index.php">kliknij tutaj</a>');
window.location='../index.php';
}

// -->
</script>
<br>
<table width="95%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#878057">
</table>
<div align="center">
<table width="95%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">
<tr>
<td bgcolor="#E2C56D" align="center" class="text"><div align="center"><b>News</b></div></td>
</tr>
<tr>
<td bgcolor="#EDD793" align="center"><br>
<?php

while($row = mysql_fetch_array($wynik)) {

$row = str_replace("n", "n<br />", $row);

echo "<table width="98%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#878057">"
."</table>"
."<table width="98%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">"
."<tr>"
."<td width="65%" align="left" bgcolor="#D1B04D" class="temat">&nbsp;Temat: <span class="text">" . $row['temat'] . "</span></td>"
."<td width="20%" align="center" bgcolor="#D1B04D" class="temat">Autor: <a href="mailto:". $row['email'] ."" class="tekst">" . $row['autor'] . "</a></td>"
."<td width="15%" align="center" bgcolor="#C2A345" class="windows">" . $row['data_dodania'] . "</td>"
."</tr>"
."<tr align="left" bgcolor="#E2C56D">"
."<td colspan="3">"
."<table width="98%" align="center" border="0" cellpadding="0" cellspacing="0">"
."<tr>"
."<td align="left" class="tekst">" . $row['opis'] . "</td>"
."</tr>"
."</table>"
."<tr align="left" bgcolor="#C2A345">"
."<td colspan="3" valign="middle"><a href="home.php?action=komentarz&news_id=". $row['id'] ."" class="textbold">&nbsp;&nbsp;&nbsp;Dodaj Komentarz </a><span class="tekst">(</span><span class="temat">";?><? list($sumkom)=mysql_fetch_row(mysql_db_query($dbname, "SELECT count(*) FROM coments WHERE news_id='".$row['id']."'")); echo ($sumkom);?>// no tak jak mówiłem musiłaem się odnieść do id z tablicy newspl i jedynym sposobem było jak widać strorzenie zapytania w wywołaniu wyniku z tablicy newspl
<? echo"</span><span class="tekst">)</span></td>"
."</tr>"
."</table>"
."<br>";
}
for($s=0; $s<$ile; $s+=$news_poz) {
$z=$s/$news_poz+1;
echo"<a href="home.php?s=$s" class="boczne">$z</a> "; #to wyswietli linki w postaci 1 2 3 4
}
if(mysql_num_rows($wynik)==0) {

echo "<p class="boczne">Nie ma nic w bazie</p>";

}
?>
<p></p>
</table>
</div>
<p></p>
?>[/php:1:789ebd22aa]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:57