![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 28.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Problem jest taki mam nastepujacy kod (show3.php)
stronka ma pokazywac ogloszenia z wybranej kategorii formularz wyboru na gorze kategoria sprzedam samochod ma np id = 1 wiec show3.php?rodzaj_id=1 powinno pokazywac ogloszenia z tej wlasnie kategorii i analogicznie pozostale 4 kategorie wszystko dziala "niby" poprawnie ale wywala blad "Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/login/ftp/show3.php on line 88" wiersz 88 to "if(mysql_num_rows($result) == 0)" blad ten pokazuje sie jesli ktoras z kategorii wybiore pierwszy raz np wchodze na strone i wybieram sprzedam samochod, klikam wybierz i wywala ten blad, klikam drugi raz ta sama kategorie i Wybierz i pokazuje ok, jesli pozniej wybiore inna znowu jest ten blad, a po ponownym jej wybraniu pokazuje tak jak powinno byc zauwazylem tez, ze jesli wybiore np kategorie 4 czyli Kupie czesci i klikne Wybierz pokaze sie blad a w pasku adresu jest show3.php?ogl=1 (zamiast 4) i teraz jesli wybiore ponownie kategorie 4 to w pasku adresu pokazuje sie show3.php?ogl=4 i prawidlowe ogloszenia natomiast jesli wybiore kategorie nr 2 to wywala blad i w pasku adresu pokazuje sie nadal ?id=4 (czyli tak jakby dzialalo z opoznieniem o jeden "cykl" czy jak to tam nazwac pewnie gdzies jest skopana kolejnos ale jako baardzo pocatkujacy tego nie widze ponadto jesli otworze nowe okno przegladarki i wpisze w pasek adresu np www.adresstrony.pl/show3.php?ogl=3 to tez wywala mi blad na innej stronie ten sam skrypt zachowuje sie ciut inaczej po wyborze show3.php?ogl=2 czy tez innej kategorii, tez wywala blad ALE - po wybraniu w formularzu kategorie wyswietla bezblednie juz za pierwszym razem(czyli tak jak powinno byc -ale jednoczesnie w pasku adresu pokazuje show3.php?ogl= czyli bez zadnej kategorii (choc wlasnie ja przegladamy to nie mozna do niej sie dostac z paska adresu :/ nic z tego nie rozumiem sorry, ze tak przydlugo ale chcialem dokladnie i w miare czytelnie to wszystko opisac zeby bylo latwiej zdiagnozowac (choc i tak pewnie bedzie ciezko zrozumiec po takim zagmatwaniu sprawy ![]() Ten post edytował wupasek 1.03.2008, 18:56:00 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 355 Pomógł: 50 Dołączył: 20.08.2007 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Moze WHERE rodzaj=$rodzaj_id Wedlug mnie cos z tym zapytaniem jest nie tak ![]() ![]() -------------------- przetwornik yt na czasie :)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 28.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
podmienilem na to co proponowales, ale jest bez zmian wiec raczej nie to
zwlaszcza, ze pare linijek wczesniej przy warunku if ($rodzaj_id==5) w zapytaniu SELECT nie ma ani WHERE, ani LIKE i tez wywala blad ;( raz dla eksperymentu skasowalem ta "problematyczna" linijke czyli mysql_num_rows i wtedy wywalalo jako wadliwa linie "mysql_fetch_array" choc oba sa powiazane z $result, a $result z query wiec moze cos w tym jest ale mysle ze to nie o WHERE i LIKE chodzi ;( |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 1 Dołączył: 1.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się, że problem polega na tym:
Jeśli warunek Kod //POBIERANIE ID KATEGORII if ($_GET['ogl']==$rodzaj_id) nie zaskoczy, to nadal przejdzie następny: Kod if(mysql_num_rows($result) == 0) { A w ramach pierwszego ustanawiasz połączenie z bazą danych, w wyniku czego zmienna $result zaczyna istnieć ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 28.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
czyli wedlug ciebie powinienem po prostu inaczej poustawiac { } ?
o ile dobrze zrozumialem podpowiedz ale czemu raz mialby nie zaskakiwac a raz nie? sprawdzilem i chyba masz racje ale tylko czesciowo po usunieciu "}" z linii 50 i wstawieniu go w jedyne wg mnie mozliwe miejsce czyli na sam koniec do linii 118 blad sie nie pojawia, natomiast nadal wybor "zaskakuje" dopiero za drugim razem ![]() moze mam cos nie tak z GET i POST ? tylko co, gdzie, jak? i czemu nie "pobiera" odpowiednio kategorii po wpisaniu do paska adresu? Ten post edytował wupasek 1.03.2008, 20:31:23 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 1 Dołączył: 1.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Używasz tutaj zmiennej $rodzaj_id. Masz włączone register globals? Inicjalizujesz ją w innym pliku?
Kod echo "<form method='POST' action='show3.php?ogl=$rodzaj_id' ENCTYPE='multipart/form-data'> Ponadto raz zmieniasz kategorię poprzez GET, a raz poprzez POST, a sprawdzasz tylko przez $_GET. Wydaje mi się, że sprawę może załatwić zamiana powyższego kodu na: Kod echo "<form method='get' action='show3.php' ENCTYPE='multipart/form-data'> i niżej Kod $rodzaj_id = $_POST['rodzaj_id']; na Kod $rodzaj_id = $_GET['rodzaj_id']; Strasznie zagmatwany jest ten kod, swoją drogą. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 28.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
po zmianie na to co proponujesz nie wyswietla nic, poza formularzem wyboru
ani bledu, ani zawartosci za to w pasku adresu jak wybiore kategorie 1 to pokazuje show3.php?rodzaj_id=1 czyli numer jest prawidlowy ale wczesniej bylo show3.php?ogl=jakistam_numer co do zagmatwania to wierze na slowo, w zyciu nic nie robilem w php a i z programowaniem nie mialem praktycznie nic wspolnego ![]() EDIT: juz robi zrobilem to co mi podpowiedziales plus jeszcze w pierwszym if zmienilem GET['ogl'] == $rodzaj_id na GET['rodzaj_id']==$rodzaj_id dzieki wielkie Ten post edytował wupasek 1.03.2008, 21:20:20 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 21:44 |