Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Wyświetlanie rekordów według alfabetu z nagłówkiem, błąd: Warning: mysql_fetch_array():
kononowicz
post 26.01.2009, 13:45:29
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


Napisałem taki kod do wyświetlania rekordów z tabeli mysql według alfabetu. każde rekordy zaczynające się od danej litery są zgrupowane i maja nagłówek właśnie z tą literą. Taki był moj zamysł ale w praktyce męcze sie już jakiś czas z błędem:
  1. <?php
  2. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:xampplitehtdocs&#092;testalfabet.php on line 23
  3. ?>


  1. <?php
  2. $litery = array('A', 'Ą', 'B', 'C', 'Ć', 'D', 'E', 'Ę', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'Ł', 'M', 'N', 'Ń', 'O', 'Ó', 'P', 'R', 'S', 'Ś', 'T', 'U', 'W', 'Y', 'Z', 'Ź', 'Ż');
  3.  
  4. foreach($litery as $litera)
  5.    {
  6.    echo "<h1>".$litera."</h1>";
  7.    $query = "SELECT * FROM `alfabet` where `alfabet`.`nazwa` LIKE '".$litera."%' ";
  8.    $wynik=mysql_query($query);
  9.    $ile = mysql_num_rows($wynik);
  10.    if($ile >0)
  11.        {
  12.        echo "<ul>";
  13.        while($wiersz = mysql_fetch_array($wynik))
  14.            {
  15.            echo '<li><a href="'.$wiersz['link'].'">   '.$wiersz['nazwa'].'  </a></li>';
  16.            }
  17.        echo "</ul>";
  18.        }
  19.        else{echo "brak";}
  20.    }
  21. ?>


pozdrawiam i liczę na Waszą pomoc!


--------------------
gdy moderator śpi - budzą się demony ]:->
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
blooregard
post 26.01.2009, 16:18:08
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Sprawdź, czy wszędzie masz dobre kodowanie ustawione (w skrypcie i w bazie). Problemem mogą być polskie krzaczki (ą, ę itp)

Ten post edytował blooregard 26.01.2009, 16:18:22


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
kefirek
post 26.01.2009, 16:37:15
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Najproscie to mozna to zrobic tak
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM alfabet WHERE alfabet LIKE '".$_GET['litera']."%'");
  3. while ($wiersz = mysql_fetch_assoc($wynik)) {
  4.  
  5. echo $wiersz['nazwa'].'<br>';
  6.  
  7. }  
  8.  
  9. $litery = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R");
  10.  
  11. for ($i = 0; $i < count($litery ); $i++) {
  12. echo "<a href='".basename($_SERVER['PHP_SELF'])."?litera=".$litery[$i]."'>".$litery[$i]."</a>";
  13. }
  14. ?>
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: 20.07.2025 - 09:34