Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z liczeniem count()
andrzejlechniak
post 29.08.2019, 10:59:45
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Cześć,

Być może się powtarzam na TYM forum, ale mam problem z funkcją count().
Przeszukuję Internet i ręce rozkładam.

Mam taki oto wycinek kodu:
  1. $ile_wynikow = count($results);
  2. echo '<p>Ilość wyników wyszukiwania: '.$ile_wynikow.'</p>';


W przeglądarce otrzymuję komunikat, który pewnie niektórzy z Was znają. Tak czy inaczej, prośba o pomoc, co tutaj mogę zmienić.

Warning: count(): Parameter must be an array or an object that implements Countable in...
Go to the top of the page
+Quote Post
viking
post 29.08.2019, 11:07:03
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


var_dump($results)


--------------------
Go to the top of the page
+Quote Post
andrzejlechniak
post 29.08.2019, 11:13:02
Post #3





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Co mi ma to dać, wypisuje jedynie co znajduje się w tablicy...
Go to the top of the page
+Quote Post
viking
post 29.08.2019, 11:28:31
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Gdyby był tablicą to byś nie dostał tego komunikatu...


--------------------
Go to the top of the page
+Quote Post
andrzejlechniak
post 29.08.2019, 11:58:29
Post #5





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Jak to naprawić
Go to the top of the page
+Quote Post
viking
post 29.08.2019, 12:00:18
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


A możesz wkleić wynik czy to za dużo? może być kilka pierwszych znaków.
Ogólna odpowiedź. Wstawić tablicę albo zaimplementować interface Countable.


--------------------
Go to the top of the page
+Quote Post
andrzejlechniak
post 29.08.2019, 12:05:55
Post #7





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Taki mam oto cały kod - chodzi o wyszukiwanie wyników z bazy:

  1. echo 'Wyniki wyszukiwania: <br /><br />';
  2. if(isset($_POST['szukaj']))
  3. {
  4. if(isset($_POST['fraza']))
  5. {
  6. $fraza = $_POST['fraza'];
  7. }
  8. $wynik = "SELECT login, email FROM logowanie WHERE login LIKE '%{$fraza}%' OR email LIKE '%{$fraza}%'";
  9. $results = mysqli_query($link,$wynik);
  10. while($row = mysqli_fetch_array($results))
  11. {
  12. echo ' - '.$row['login'].' - '.$row['email'].'<br />';
  13. }
  14.  
  15. var_dump($result);
  16. $ile_wynikow = count($results);
  17. echo '<p>Ilość wyników wyszukiwania: '.$ile_wynikow.'</p>';
  18. }
Go to the top of the page
+Quote Post
dublinka
post 29.08.2019, 12:07:43
Post #8





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


https://www.php.net/manual/en/mysqli-result.num-rows.php


--------------------
Go to the top of the page
+Quote Post
viking
post 29.08.2019, 12:20:19
Post #9





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


No i widzisz. $results to nie żadna tablica tylko obiekt mysqli_result lub false. Poza tym jak wyżej.


--------------------
Go to the top of the page
+Quote Post
andrzejlechniak
post 29.08.2019, 18:33:09
Post #10





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Dzięki za podpowiedzi.
Skorzystałem z pomocy i w sumie sam sobie pomogłem.
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: 16.04.2024 - 15:14