Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Nie zlicza rekordów. Funkcja COUNT!
bartek4175
post 21.03.2014, 20:00:36
Post #1





Grupa: Zarejestrowani
Postów: 284
Pomógł: 1
Dołączył: 15.08.2013

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


Kod:
  1. <?php
  2. require_once("szkielet.php");
  3. ?>
  4. <div class="main box_black">
  5. <span style="color:white;"><center>
  6. <?
  7. if($user['admin'] == 1){
  8. $opiss = mysql_query("SELECT `opis` FROM `ustawienia` WHERE 1") or die("Błąd w zapytaniu!");
  9. ?>
  10. <h1>Ustawienia</h1><Br>
  11. <div class="btn_green"><a href="#">Ustawienia Strony</a></div><br>
  12. <form action="" method="post">
  13. <? $tt = mysql_query("SELECT * FROM ustawienia");
  14. while($r = mysql_fetch_assoc($tt)) { ?>
  15. <b>Opis Strony:</b> <? echo'<input type="text" name="opis" value="'.$r['opis'].'" />'; ?> <Br>
  16. <br><br> <? } ?>
  17. <?
  18. ?>
  19. <input type="hidden" name="send" value="1" /><br>
  20. <input type="submit" value="Zmień!" />
  21. </form>
  22. <?
  23. if ($_POST['send'] == 1) {
  24. $opis = $_POST['opis'];
  25.  
  26. mysql_query("UPDATE `ustawienia` SET `opis`='$opis'") or die("Wystąpił Błąd w Zapytaniu!");
  27. echo "<h1>Pomyślnie zmieniono ustawienia!</h1>";
  28. }
  29.  
  30. ?>
  31.  
  32. <?
  33. $online = mysql_query("SELECT COUNT(*) FROM users WHERE onlinne = 1")or die(mysql_error());
  34.  
  35. $ofline = mysql_query("SELECT COUNT(*) FROM users WHERE onlinne = 0")or die(mysql_error());
  36.  
  37. $onlinne = mysql_fetch_assoc($online);
  38. $oflinne = mysql_fetch_assoc($ofline);
  39. ?>
  40. <div class="btn_green"><a href="#">Statystyki ONLINNE</a></div><br>
  41. <b>Zalogowanych w Tej chwili:</b><? $onlinne ?><br><br>
  42. <b>Niezalogowanych w Tej chwili:</b><? $oflinne ?>
  43.  
  44.  
  45. <?
  46. } else {
  47. echo "<h1>Nie masz uprawnien administratora!</h1>";
  48. }
  49. ?>
  50. </div></span></center>
  51.  
  52. <?
  53. require_once("stopka.php");
  54. ?>



a wyświetla się:

Go to the top of the page
+Quote Post
trueblue
post 21.03.2014, 20:02:35
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. WHERE onlinne =

czy tu nie powinno być
  1. WHERE online =


--------------------
Go to the top of the page
+Quote Post
nospor
post 21.03.2014, 20:03:29
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Po pierwsze: mysql_fetch_assoc zwraca tablice a nie pojedyncza zmienną
PO drugie: by wyswietlic cos w php to sie uzywa ECHO a nie sama zmienna podaje...

@trueblue jakby byl blad zapytani to by sie wysietlil error z DIE. Patrzymy co jest w kodzie.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bartek4175
post 21.03.2014, 20:06:21
Post #4





Grupa: Zarejestrowani
Postów: 284
Pomógł: 1
Dołączył: 15.08.2013

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


Cytat(nospor @ 21.03.2014, 20:03:29 ) *
Po pierwsze: mysql_fetch_assoc zwraca tablice a nie pojedyncza zmienną
PO drugie: by wyswietlic cos w php to sie uzywa ECHO a nie sama zmienna podaje...

@trueblue jakby byl blad zapytani to by sie wysietlil error z DIE. Patrzymy co jest w kodzie.

Teraz mam :
  1. <?
  2. $onlinne = mysql_query("SELECT COUNT(*) FROM users WHERE onlinne = 1")or die(mysql_error());
  3.  
  4. $oflinne = mysql_query("SELECT COUNT(*) FROM users WHERE onlinne = 0")or die(mysql_error());
  5.  
  6. ?>
  7. <div class="btn_green"><a href="#">Statystyki ONLINNE</a></div><br>
  8. <b>Zalogowanych w Tej chwili:</b><? echo"$onlinne"; ?><br><br>
  9. <b>Niezalogowanych w Tej chwili:</b><? echo"$oflinne"; ?>
  10.  
  11.  
  12. ...


i wyświetla się:


Zalogowanych w Tej chwili:Resource id #12

Niezalogowanych w Tej chwili:Resource id #13

Go to the top of the page
+Quote Post
nospor
post 21.03.2014, 20:07:08
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




W ktorym miejscu mojego posta kazalem ci wywalic mysql_fetch_assoc?
Powód edycji: [nospor]:


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bartek4175
post 21.03.2014, 20:08:39
Post #6





Grupa: Zarejestrowani
Postów: 284
Pomógł: 1
Dołączył: 15.08.2013

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


Cytat(nospor @ 21.03.2014, 20:07:08 ) *
W ktorym miejscu mojego posta kazalem ci wywalic mysql_fetch_assoc?

ale o poprzedni kod mi nie chodzi, bo działa tylko o ten biggrin.gif

  1. <?
  2. $onlinne = mysql_query("SELECT COUNT(*) FROM users WHERE onlinne = 1")or die(mysql_error());
  3.  
  4. $oflinne = mysql_query("SELECT COUNT(*) FROM users WHERE onlinne = 0")or die(mysql_error());
  5.  
  6. ?>
  7. <div class="btn_green"><a href="#">Statystyki ONLINNE</a></div><br>
  8. <b>Zalogowanych w Tej chwili:</b><? echo"$onlinne"; ?><br><br>
  9. <b>Niezalogowanych w Tej chwili:</b><? echo"$oflinne"; ?>
  10.  


Ten post edytował bartek4175 21.03.2014, 20:09:48
Go to the top of the page
+Quote Post
nospor
post 21.03.2014, 20:09:26
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Bo laskawie dodales echo jak kazalem i teraz COS ci sie wyswietla, ale to jeszcze nie znaczy ze dziala jak ma dzialac .... pozostal jeszcze pierwszy punkt mojego posta


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bartek4175
post 21.03.2014, 20:21:08
Post #8





Grupa: Zarejestrowani
Postów: 284
Pomógł: 1
Dołączył: 15.08.2013

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


Cytat(nospor @ 21.03.2014, 20:09:26 ) *
Bo laskawie dodales echo jak kazalem i teraz COS ci sie wyswietla, ale to jeszcze nie znaczy ze dziala jak ma dzialac .... pozostal jeszcze pierwszy punkt mojego posta

  1. $online = mysql_query("SELECT COUNT(*) FROM users")or die(mysql_error());
  2.  
  3. $ofline = mysql_query("SELECT COUNT(*) FROM users WHERE onlinne = 0")or die(mysql_error());
  4.  
  5. $onlinne = mysql_fetch_assoc($online);
  6. $oflinne = mysql_fetch_assoc($ofline);
  7. ?>
  8. <div class="btn_green"><a href="#">Statystyki ONLINNE</a></div><br>
  9. <b>Zalogowanych w Tej chwili:</b><? echo"$onlinne[onlinne]"; ?><br><br>
  10. <b>Niezalogowanych w Tej chwili:</b><? echo"$oflinne"; ?>


Tak? :C

Go to the top of the page
+Quote Post
nospor
post 21.03.2014, 20:23:44
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A dziala? Watpie. Wiec nie tak.

print_r($onlinne);
i bedziesz wiedzial co ta tablica ma.....


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bartek4175
post 21.03.2014, 20:25:25
Post #10





Grupa: Zarejestrowani
Postów: 284
Pomógł: 1
Dołączył: 15.08.2013

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


Cytat(nospor @ 21.03.2014, 20:23:44 ) *
A dziala? Watpie. Wiec nie tak.

print_r($onlinne);
i bedziesz wiedzial co ta tablica ma.....

Zalogowanych w Tej chwili:Array ( [COUNT(*)] => 10 )
Go to the top of the page
+Quote Post
nospor
post 21.03.2014, 20:26:24
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




To ja wiem. To ty sie miales przyjrzec i wybrac wlasciwy index z tej tablicy. Zacznij wkoncu myslec. Wszystko juz masz podane na tacy.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bartek4175
post 21.03.2014, 20:45:43
Post #12





Grupa: Zarejestrowani
Postów: 284
Pomógł: 1
Dołączył: 15.08.2013

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


Cytat(nospor @ 21.03.2014, 20:26:24 ) *
To ja wiem. To ty sie miales przyjrzec i wybrac wlasciwy index z tej tablicy. Zacznij wkoncu myslec. Wszystko juz masz podane na tacy.

Może jakaś wskazówka? Poradnik ? biggrin.gif
Go to the top of the page
+Quote Post
viking
post 21.03.2014, 20:54:10
Post #13





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Matko.

  1. SELECT
  2. (SELECT count(*) FROM users) AS wszyscy,
  3. (SELECT count(*) FROM users WHERE onlinne = 0) AS aktywni


Zrób sobie dump tego zapytania a do tablicy chyba umiesz się dostać?


--------------------
Go to the top of the page
+Quote Post
kujol
post 21.03.2014, 21:06:43
Post #14





Grupa: Zarejestrowani
Postów: 324
Pomógł: 27
Dołączył: 21.07.2013

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


  1. $zlicz= mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `onlinne ` = '1'"));
  2. echo $zlicz;


--------------------
;)
Go to the top of the page
+Quote Post
sowiq
post 21.03.2014, 22:26:14
Post #15





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Cytat(kujol @ 21.03.2014, 21:06:43 ) *
  1. $zlicz= mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `onlinne ` = '1'"));
  2. echo $zlicz;


O kurde, ambitnie biggrin.gif

Proponuję mały upgrade - iterować po rekordach i za każdym razem inkrementować licznik facepalmxd.gif
Go to the top of the page
+Quote Post
nospor
post 22.03.2014, 09:18:49
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




facepalmxd.gif

@viking, @kujol PRzeciez on juz ma wszystkie dane......

Jedyno co musi zrobic to zamiast
echo"$onlinne[onlinne]";
zrobic:
echo $onlinne['COUNT(*)'];



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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post 22.03.2014, 12:52:37
Post #17





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

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


Ja wiem. Ale zwróciłem tez przy okazji uwagę ze bez sensu wysyła po kilka zapytań tam gdzie można to na raz robić. Może się chłopak. przy okazji zainteresuje bardziej podstawami bd


--------------------
Go to the top of the page
+Quote Post
nospor
post 22.03.2014, 20:00:09
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Tak, tylko ze jak on nie potrafi banalnego indeksu z tablicy wyswietlic, mimo ze ma podane jaki toindex, to mieszanie mu podstawami w bazach zagubi go jeszczebardziej wink.gif


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ZaXaZ
post 24.03.2014, 00:37:00
Post #19





Grupa: Zarejestrowani
Postów: 285
Pomógł: 18
Dołączył: 30.01.2014
Skąd: <?=$_GET['city']?>

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


od siebie dodam żeby zamienić wszystkie otwarcia skryptu (<?) na (<?php)
<? jest już wycofywane ponoć.
I często większość skryptu nie działa przez to (nawet jeśli część działa)


--------------------
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: 18.07.2025 - 02:42