[PHP & MYSQL] mysql_fetch_array

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
sachcio
Posty: 6
Rejestracja: śr maja 26, 2004 12:37 pm
Lokalizacja: Gliwice
Kontakt:

[PHP & MYSQL] mysql_fetch_array

Post autor: sachcio »

mam oto taki kod:

[php]<?php
$zapytanie = "SELECT * FROM login_user ORDERED BY '$sortuj' ASC";
$wykonaj = mysql_query ($zapytanie);
$tomek = mysql_fetch_array($wykonaj);
?>[/php]

i pytanie z nim zwiazane. Otoz dlaczego wyrzuca mi blad w ostatniej lini ?
'Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\lai\includes\admin_edit.inc on line 35'

bez "ORDERED BY" dziala dobrze.
Yataman
Posty: 19
Rejestracja: pn sty 26, 2004 7:58 pm

Re: [PHP & MYSQL] mysql_fetch_array

Post autor: Yataman »

No powinno być ORDER BY, a nie ORDERED BY!

Poza tym ten kod nie ma zbyt dużo sensu bo zwraca pierwszy wiersz wg określonego sortu, a do takich rzeczy to się zazwyczaj używa WHERE.
sachcio
Posty: 6
Rejestracja: śr maja 26, 2004 12:37 pm
Lokalizacja: Gliwice
Kontakt:

Re: [PHP & MYSQL] mysql_fetch_array

Post autor: sachcio »

ale dziala :] tak jak chcialem

Dzieki za wytkniecie mi tej fatalnej literowki :/

pojawila sie za to smieszna sprawa
[php]
<TR>

<td><b><a href="index.php?page=admin_edit&sortuj=nick">Login</a></b></td>
<td><B><a href="index.php?page=admin_edit&sortuj=nazwisko">Nazwisko</a></b></td>
<td><b>Dostęp </b></td>
<td><b>CISCO|APPLE</b></td>
<td><b>Wpłata</b></td>
<td><b>Akcja</b></td>
</tr>

<?php

<?
$zapytanie = "SELECT * FROM login_user ORDER BY '$sortuj'";
$wykonaj = mysql_query ($zapytanie);
$tomek = mysql_fetch_array($wykonaj);

while($tomek=mysql_fetch_array ($wykonaj))
{
$a = $tomek['id'];
echo " <tr>
<td width=\"100\">".$tomek['nick']."</td>
<td width=\"130\">".$tomek['nazwisko']."</td>
<td width=\"100\">".$wplata."</td>
<td width=\"190\">".$cisco." | ".$apple."</td>
<td width=\"100\">".$tomek['wplata']."zł</td>
<td width=\"130\"><small> <a href=\"javascript:displayWindow('includes/kasuj.php?nick=$a',300,200) \">Kasuj</a> |
<a href=\"javascript:displayWindow('includes/edit.php?nick=$a',500,400) \">Modyfikuj</a></small></td>
</tr>";
}


?>
?>[/php]

teraz po wykonaniu tego kodu niby wszystko jest ok... tylko ze... no tak, wyswietla zawsze o jedna pozycje mniej nie zpowinno. Tzn. jesli w tabeli sa 3 wpisy do wyswietla 2 (jesli $sortuj=nick inaczej a gdy $sortuj=nazwisko inaczej) tutaj wysiadam.DLACZEGO? :]
sachcio
Posty: 6
Rejestracja: śr maja 26, 2004 12:37 pm
Lokalizacja: Gliwice
Kontakt:

Re: [PHP & MYSQL] mysql_fetch_array

Post autor: sachcio »

tzn. usuwa zawsze pierwszy wynik tj. gdy sortuje wg nick'ow usuwa pierwszy wpis z nick'eim, a gdy wg nazwisk to usuwa wpis z pierwszym nazwiskiem.. zaiscie dziwne :]
mdx
Nowy
Nowy
Posty: 84
Rejestracja: wt wrz 16, 2003 7:59 pm
Lokalizacja: Łuków
Kontakt:

Re: [PHP & MYSQL] mysql_fetch_array

Post autor: mdx »

może to przypisanie przeszkadza zdecyduj się po co 2 razy napisałeś
[php]<?php
$tomek=mysql_fetch_array ($wykonaj)
?>[/php]

napisz tak, może pomoże:

[php]<?php
$wykonaj = mysql_query ($zapytanie);
while(mysql_fetch_array ($wykonaj))
{
?>[/php]

pozdr.[/code]
ODPOWIEDZ