ďťż
Podstrony
|
telcocafeWitam serdecznie. Mam problem z wyświetleniem w pętli while...Ale od początku. Chcę zrobić tak że mam 2 tabele (grupy i firma), w grupach oczywiście są stworzone grupy, w formie jest nazwa firmy, przypisana_grupa. Chodzi o to żeby skrypt pobierał nazwę grupy i wyświetlał wszystko według przypisanej grupy. Mam grupy np. alicja, ola, magda, w firmie mam 2 firmy: ZSYP (przypisaną do grupy: alicja) i NO-IP (przypisaną do grupy: ola). Skrypt nie wyświetla mi tego a w zamian otrzymuję "piękny" błąd odnośnie mysql_fetch_array. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL Siedzę już nad tym kodem (i nie tylko) kilka godzin. Być może z przemęczenia nie widzę błędu a jest on oczywisty. Bardzo proszę Was o pomoc! Błąd wyświetlany jest w 19 linijce czyli: while($lista=mysql_fetch_array($a)) <? include('../config.php'); mysql_connect(BAZA_HOST,BAZA_LOGIN,BAZA_HASLO); mysql_select_db(BAZA_WYBOR); echo 'Kategorie: <br /><br />'; $pytanie=mysql_query('SELECT * FROM grupy ORDER BY nazwa_grupy ASC'); while($row=mysql_fetch_array($pytanie)) { echo '<a href="admin.php?akcja=firmy&nazwa='.$row['nazwa_grupy'].'"> '.$row['nazwa_grupy'].'<a /><br />'.$row['opis_grupy'].'<br /><br />'; $nazwa_grupy=$row['nazwa_grupy']; } echo '<hr>'; if(isset($_GET['nazwa'])) { $a=mysql_query('SELECT * FROM firmy ORDER BY id_firmy WHERE przypisana_grupa='.$nazwa_grupy.''); while($lista=mysql_fetch_array($a)) { echo 'Firmy: <br />'.$lista['nazwa_firmy'].'<br />'; mysql_error(); } } ?> Użytkownik bl4ck_b0x edytował ten post 22 sierpień 2007, 20:51 po $a=mysql_query('SELECT * FROM firmy ORDER BY id_firmy WHERE przypisana_grupa='.$nazwa_grupy.''); napisz echo mysql_error(); Bo twoj kod zwraca bład ze zapytanie nie zostało wykonane poprawnie. nic nie wyświetla, próbowałem już tak. cały czas jest ten błąd z mysql_fetch_array U mnie (nie wiem czemu) w takich przypadkach zmieniałem nazwy zmiennych i dzialalo (sam nie wiem czemu :D) proponuje ci wstawic przy kazdych funkcjach zwiazanych z baza coś takiego:polecenie or die('Błąd nr 1 '.mysql_error()) moze akurat przy mysql_fetch_array tego nie wstawiaj bo masz juz wpisane wyswietlanie bledu w petli ale przy query do jest dobre rozwiazanie Użytkownik kokoss15 edytował ten post 23 sierpień 2007, 07:09 Tuż po (NIE W WHILE) $a=mysql_query('SELECT * FROM firmy ORDER BY id_firmy WHERE przypisana_grupa='.$nazwa_grupy.''); napisz echo $a; i jeśli nic nie wyświetli to znaczy, że zapytanie zostało źle wykonane. $a=mysql_query('SELECT * FROM firmy ORDER BY id_firmy WHERE przypisana_grupa=\''.$nazwa_grupy.'\''); A może to chodzi o brak apostrofów? Spróbuj taki kod. Najpierw WHERE, potem ORDER, no i to co powiedział kiperoman - cudzysłowy albo apostrofy: $a=mysql_query('SELECT * FROM firmy WHERE przypisana_grupa="'.$nazwa_grupy.'" ORDER BY id_firmy'); A może po prostu użyć @ przed mysql_fetch_array() i problem z głowy A może po prostu użyć @ przed mysql_fetch_array() i problem z głowy Nooo taaak... błędu nie będziemy mieli, ale też nie będziemy mieli wyniku działania tej funkcji :P wykonaj sobie tą kwerendę w phpMyAdmin ;] być może w ogóle nie ma rekordów spełniających te kryteria ;] wykonaj sobie tą kwerendę w phpMyAdmin ;] być może w ogóle nie ma rekordów spełniających te kryteria ;] Gdyby tak było to nie wykonało by kodu w pętli i nie byłoby błędu... Wrzuć zapytanie w phpMyAdmin i pokaże ci błąd. |
|||
Sitedesign by AltusUmbrae. |