Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Closed TopicStart new topic
> [PHP][MYSQL]zlicznie z tabeli, statystyka
paddy79
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.07.2009

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


witam
potrzebuje zrobic cos takiego zeby na stronie pojawialy mi sie proste statystyki.Wyglada to mniej wiecej tak ze mam baze i w niej tabele i chcialbym zeby na tronie pojawialo mi sie ile jest danych rekordow:
np tabela ma 10 rekordow i chcialbym zeby zliczalo ile jest wpisow z poszczegolnych pol.

Z gory dziekuje za pomoc
Powód edycji: [Spawnm] przeniosłem.
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Zainteresuje się funkcja COUNT w mysql.


--------------------
Go to the top of the page
+Quote Post
paddy79
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.07.2009

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


pewnie tak ale moglbys podpowiedziec jak to konkretnie zrobic. czy mam utworzyc nowa tabele? z taka funkcja?
W sumie to stawiam pierwsze kroki w php i mysql.

dzieki
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nie podałeś czego to są statystyki.
http://dev.mysql.com/doc/refman/5.1/en/gro...#function_count

Przyklad
  1. SELECT count(pole) FROM tabela WHERE pole="test"

zlicza ci liczbe wystapien wartosci test w polu


--------------------
Go to the top of the page
+Quote Post
SzamanGN
post
Post #5





Grupa: Zarejestrowani
Postów: 94
Pomógł: 14
Dołączył: 11.10.2007

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


Ile rekordów w tabeli (iloscwpisow):
  1. SELECT COUNT(kolumna1) AS iloscwpisow FROM tabela LIMIT 1


Ilość wpisów użytkownika o numerze (id) 1 (wpisyuzytkownika):
  1. SELECT COUNT(kolumna1) AS wpisyuzytkownika FROM tabela WHERE uzytkownik=1 LIMIT 1


--------------------
SzamanGN
Go to the top of the page
+Quote Post
paddy79
post
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.07.2009

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


o to mi chodzi czyli rozumiem ze musze stworzyc nowa tabele ktora by mi to zliczala, cos takiego
CREATE TABLE stat(
SELECT COUNT( firstname ) AS iloscwpisow
FROM DATA LIMIT 1 ;
Go to the top of the page
+Quote Post
SzamanGN
post
Post #7





Grupa: Zarejestrowani
Postów: 94
Pomógł: 14
Dołączył: 11.10.2007

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


Nie tworzysz żadnych nowych tabel. To zapytanie jest do twojej tabeli, np:

  1. SELECT COUNT( firstname ) AS iloscwpisow FROM DATA LIMIT 1


Jeżeli chodzi o wpis "COUNT( firstname ) AS iloscwpisow", to oznacza że wynikiem zapytania będzie pole o nazwie iloscwpisow o wartości równej ilości danych rekordów.
Zastosowanie przypisania nazwy (AS nazwa) ułatwia nam odwołanie do otrzymanego wyniku, np:

  1. <?php
  2. $zapytanie=mysql_query('SELECT COUNT( firstname ) AS iloscwpisow FROM DATA LIMIT 1');
  3. $wynik=mysql_fetch_array($zapytanie);
  4. echo 'Ilość imion w tabeli DATA: '.$wynik['iloscwpisow'];
  5. ?>


--------------------
SzamanGN
Go to the top of the page
+Quote Post
paddy79
post
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.07.2009

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


wrzucilem cos takiego :
<?php
$database="elcapaa";
mysql_connect ("mysql03.iomart.com", "elcapaa", "Ezmzs2qJ");
@mysql_select_db($database) or die( "Unable to select database");
$result = mysql_query( "SELECT * FROM data" )
or die("SELECT Error: ".mysql_error());
$num_rows = mysql_num_rows($result);
$zapytanie=mysql_query('SELECT COUNT( firstname ) AS iloscwpisow FROM DATA LIMIT 1');
$wynik=mysql_fetch_array($zapytanie);
echo 'Ilość imion w tabeli DATA: '.$wynik['iloscwpisow'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>

wyrzuca mi taki blad
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www.elcap.org/admin/stats.php on line 9
Ilość imion w tabeli DATA:
Go to the top of the page
+Quote Post
SzamanGN
post
Post #9





Grupa: Zarejestrowani
Postów: 94
Pomógł: 14
Dołączył: 11.10.2007

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


Sprawdź to:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Untitled Document</title>
  5. </head>
  6. <?php
  7. $database="elcapaa";
  8. mysql_connect ("mysql03.iomart.com", "elcapaa", "Ezmzs2qJ");
  9. @mysql_select_db($database) or die( "Unable to select database");
  10. $zapytanie=mysql_query('SELECT COUNT( firstname ) AS iloscwpisow FROM DATA LIMIT 1');
  11. $wynik=mysql_fetch_assoc($zapytanie);
  12. echo 'Ilość imion w tabeli DATA: '.$wynik['iloscwpisow'];
  13. ?>
  14. </body>
  15. </html>


--------------------
SzamanGN
Go to the top of the page
+Quote Post
paddy79
post
Post #10





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.07.2009

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


niestety to samo
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /www.elcap.org/admin/stats.php on line 13
Ilość imion w tabeli DATA:
Go to the top of the page
+Quote Post
SzamanGN
post
Post #11





Grupa: Zarejestrowani
Postów: 94
Pomógł: 14
Dołączył: 11.10.2007

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


Ile masz wpisów w swojej tabeli?
Sprawdzałem opis błędu i problem może powstać, gdy nie ma danych - brak wpisów.
Jak nie masz żadnego wpisu, to dodaj kilka do testów.

Sprawdzałem u siebie i u mnie chodzi.

Ten post edytował SzamanGN 15.07.2009, 13:06:47


--------------------
SzamanGN
Go to the top of the page
+Quote Post
alegorn
post
Post #12





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


  1. <?php
  2. $zapytanie=mysql_query('SELECT COUNT(1) AS `iloscwpisow` FROM `DATA` ');
  3. ?>

powinno pomoc.

najlepiej jak sobie zainstalujesz jakis GUI do mysqla, i wszelkie polecenia wczesniej tam sprawdzal
Go to the top of the page
+Quote Post
SzamanGN
post
Post #13





Grupa: Zarejestrowani
Postów: 94
Pomógł: 14
Dołączył: 11.10.2007

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


Bardzo dobra rada z tym GUI. Ja testuję na phpMyAdmin.


--------------------
SzamanGN
Go to the top of the page
+Quote Post
Fifi209
post
Post #14





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(SzamanGN @ 15.07.2009, 13:08:04 ) *
Bardzo dobra rada z tym GUI. Ja testuję na phpMyAdmin.


A co to dział opinie?

Cytat(alegorn @ 15.07.2009, 13:05:31 ) *
  1. <?php
  2. $zapytanie=mysql_query('SELECT COUNT(1) AS `iloscwpisow` FROM `DATA` ');
  3. ?>

powinno pomoc.

najlepiej jak sobie zainstalujesz jakis GUI do mysqla, i wszelkie polecenia wczesniej tam sprawdzal


Miał dobre zapytanie, wystarczy jakby limit 1 usunął na końcu.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
alegorn
post
Post #15





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


Cytat(fifi209 @ 15.07.2009, 14:12:14 ) *
Miał dobre zapytanie, wystarczy jakby limit 1 usunął na końcu.



z tego co widze - raczej nie, limit 1 - jest zbedny w tym zapytaniu, ale nie powoduje bledu mysql (przynajmniej na 5.x)
raczej stawialbym na uzycie slowa DATA, jest slowem zastrzezonym, i prawdopodobnie jest to przyczyna tych problemow.

rowniez ilosc wierszy (wczesniejsze pytanie) jest bez znaczenia, wazne by byla tabela i tyle.

dobrze jest sobie wyrobic nawyk w stosowaniu odwrotnego apostrofa, unikamy niepotrzebnych komplikacji
Go to the top of the page
+Quote Post
paddy79
post
Post #16





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.07.2009

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


niestety dalej nie dziala tym razem nie wyrzuca zadnego bledu ale ekran jest pusty
Go to the top of the page
+Quote Post
alegorn
post
Post #17





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


hmm, przed chwila napisalem cos zle - wywalilem to juz.. tak bywa jak sie wali z pamieci, a wieki juz nie musialme bawic sie z mysql na tym poziomie smile.gif

teoretycznie powinno juz zadzialac.
walnij w skrypcie: var_dump($wynik);die; i sprawdz co ci wtedy wyswietli.....
Go to the top of the page
+Quote Post
paddy79
post
Post #18





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.07.2009

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


no cos wkoncu zadzialalo z tym ze pokazuje liczbe 3 a jest 6 wpisow

nie sorki moj blad ciagle pusty ekran
<?php require_once('Connections/asdfasf.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

mysql_select_db($database_asdfasf, $asdfasf);
$query_Recordset1 = "SELECT * FROM stat";
$Recordset1 = mysql_query($query_Recordset1, $asdfasf) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php
$zapytanie=mysql_query('SELECT COUNT(*) AS `iloscwpisow` FROM `DATA` var_dump($wynik);die; ');
?>
</body>
</html>

to co udalo mi sie wytworzyc
Go to the top of the page
+Quote Post
erix
post
Post #19





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Domyśl się, po co jest bbcode, wtedy pogadamy.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
alegorn
post
Post #20





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


ugh....
  1. <?php
  2. $zapytanie=mysql_query('SELECT COUNT(*) AS `iloscwpisow` FROM `DATA` var_dump($wynik);die; ');
  3. ?>


noo. teraz tos mnie zaskoczyl.
zapraszam do lektury:
var_dump" title="Zobacz w manualu PHP" target="_manual
die" title="Zobacz w manualu PHP" target="_manual

zlaczyles php z sql...
var_dum sluzy do debugowania w php
  1. <?php
  2. $zapytanie=mysql_query('SELECT COUNT(*) AS `iloscwpisow` FROM `DATA`');
  3. $wynik = mysql_fetch_assoc($zapytanie);
  4. var_dump($wynik);die; );
  5. ?>


mysle ze dobrym wyjsciem bylo by zainwestowanie w ksiazke z podstawami php i mysql....
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 11:53