Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP/MYSQL] sortowanie dziwny błąd
tomek55
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 8.09.2003
Skąd: olsztyn

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


Mam taki kod

[php:1:d00898a8f5]<?php
function list_rows($limit, $page) {

global $h1_tbl, $PHP_SELF, $op, $id;

echo'<form name="sortowanie" action="humor.php" method="get"><input
type="hidden" name="id" value="'.$id.'">oceń: <select name="sort"
size="1"><option name="sort" value="date-ASC">wg daty</option>
</select> <input type="submit" value="Sortuj">';


$query = "SELECT * FROM $h1_tbl WHERE cat=$id AND stat<>5 ORDER by $sort";

echo mysql_error();


$result = mysql_query($query);
$ile = mysql_num_rows($result);

if($ile==0) {

echo '<center>Nie znaleziono dowcipów w tej kategorii!<br><br>';

} else {

$znk = $page * $limit;
mysql_data_seek($result, $znk);


///// dalszy kod

?>[/php:1:d00898a8f5]

moim zdaniem powinno być wszystko ok ale wyświetla mi taki błąd:

Kod
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web31/html/module/humor.aim.php on line 211



Nie znaleziono dowcipów w tej kategorii!



Jak ktoś potafi mi pomóc będe wdzięczny...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




[php:1:31fe7a871b]<?php
$result = mysql_query($query) or
die(mysql_error());
$ile = mysql_num_rows($result) or
die(mysql_error());
?>[/php:1:31fe7a871b]
I Ci wyswietli porblem :]
Go to the top of the page
+Quote Post
tomek55
post
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 8.09.2003
Skąd: olsztyn

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


takie coś sie pojawiło:

Kod
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


Co teraz mam zrbić...?
Go to the top of the page
+Quote Post
hwao
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Po 1 poprawic troche zapytanie do mysql:
[php:1:57a0882ce3]<?php
$query = "SELECT * FROM ".$h1_tbl." WHERE cat='".$id."' AND stat<>5 ORDER by '".$sort."' ";
?>[/php:1:57a0882ce3]
Pozatym nie znam czegos takiego:
[...]WHERE cat='".$id."' AND stat<>
Może chodziło o <= :?:
Jeżeli nadal nie bedzie działać to najlepiej wziac sobie zapytanie w phpmyadmina i wklajic takie zawsze dziala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tomek55
post
Post #5





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 8.09.2003
Skąd: olsztyn

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


Teraz nie wyświetla błędu ale nie chce sortować, coś mam źle w formularzu... może da sie jakoś przekazać wartoś zmiennej $sort np przez link... bo w formularzu nie wiem taki adres sie w przeglądarce pojawia: humor.php?id=11&sort=ocena-DESC&id=170&mark=3

a chyba powinien taki..

humor.php?id=11&sort=ocena-DESC - ale ten nawet jak sam wpisze to nie działa...

Jeśli chodzi o "<>" to jest z jportala i działało wcześniej chcem se dorobić sortowanie...
Go to the top of the page
+Quote Post
FiDO
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Akurat operator <> w MySQL'u istnieje, więc nie to jest błędne.
Na jakiej wersji php odpalasz ten skrypt? Podejrzewam, że chodzi o problem z register_globals...
Go to the top of the page
+Quote Post
tomek55
post
Post #7





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 8.09.2003
Skąd: olsztyn

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


wersja 4.3.3
Go to the top of the page
+Quote Post
FiDO
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Tak wlasnie myslalem...
Zmien na chwile register_globals na on (w php.ini) i sprawdz czy zadziala (powinno). Potem przywroc to na off i bedziesz musial zamienic wszystkie odwolania do parametrow GET czy POST. Nie wiem, ktore to beda zmienne u Ciebie, wiec najlepiej napisz, ktore zmienne w tej funkcji skad pochodza (np. z formularza czy z paska adresu).

Przed mysql_query mozesz dac tez: echo $query;, w ten sposob latwiej znalezc blad w zapytaniu.
Go to the top of the page
+Quote Post
tomek55
post
Post #9





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 8.09.2003
Skąd: olsztyn

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


A jak moge zmienić register_globals na on nie mam dostępu do tego pliku...
Go to the top of the page
+Quote Post
hwao
post
Post #10


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




To pozamieniaj dane z
Formularza a action="post" na
$_POST['nazwa_inputa'];
Formularza a action="get" na
$_GET['nazwa_inputa'];
Cookie na
$_COOKIE['nazwa'];
Sessje na:
$_SESSION['nazwa'];

Albo daj cos takiego na poczatku kodu:
[php:1:b15b446440]<?php
foreach($_POST AS $nazwa => $wartosc)
{
$$nazwa = $wartosc;
}
?>[/php:1:b15b446440]
O ile dobrze pamietam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) to zamieni Ci dane z np: $_POST['cos'] = '2'; na $cos = '2'; (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tomek55
post
Post #11





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 8.09.2003
Skąd: olsztyn

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


jeśli dobrze zrozumiałem to formularz i zapytanie powinno wyglądać tak:

[php:1:870a4f9944]<?php
echo'<form name="sortowanie" action="humor.php" method="get"><input
type="hidden" name="id" value="'.$id.'">oceń: <select name="sort"
size="1"><option name="sort" value="date-ASC">wg daty</option>
</select> <input type="submit" value="Sortuj">';

$query = "SELECT * FROM $h1_tbl WHERE cat=$id AND stat<>5 ORDER by '$_GET[sort]'";
?>[/php:1:870a4f9944]

Ale to niestety nie działa znowu sie jakiś dziwny adres w przeglądarce pojawia..
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 07:48