![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 8.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jak można poprawić ten błąd i co on oznacza , który wyświetla mi się na kodzie źródłowym strony ? Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /media/disk/projekty_www/staz/wyswietlanie.php on line 20.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 53 Dołączył: 18.09.2007 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
nie przekazujesz żadnych danych z wyniku mysql_query do mysql_fetch_array();
Zapraszam tutaj Jak poprawnie zadać pytanie |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 8.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Problem pojawia się gdy drugi raz odwołuje się do tego samego zapytania odwołując się do tej samej tabeli przy drugim wywołaniu funkcji mysql_fetch_array($wyniki), bo jak pierwszy raz się odwołuje to zapytania sql i tej tabeli przy wykorzystaniu mysql_fetch_array($wyniki) to wyniki są zwracane poprawnie.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
daj kod?
|
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Funkcje mysql_fetch_* (array,row, assoc) pobierają z wyniku wiersz i przesuwają wskaźnik wyniku o 1. Jeśli więc doszedłeś do ostatniego to następne wywołanie tych funkcji zwróci FALSE. By tego uniknąć, musisz odpowiednio ustawić wskaźnik rekordu. Zapewne chcesz by znowu był na początku. Polecam zobaczyć funkcję mysql_data_seek().
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 8.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kod function wysw() i ta funkcja działa dane zwraca mi prawidłowe a teraz to funkcję chciałbym wykorzystać do wyświetlania danych { podlaczeniebd(); $zapyt = "SELECT * FROM `pozycja_w_google`.`google` "; $zapytaniegoogle = mysql_query($zapyt); $danedoaktualizacji = array(array()); // echo '<table border="1"><tr><td>L.P.</td><td>SERWERY GOOGLE</td><td>STRONY WWW</td><td>SŁOWA FRAZY</td><td>DATA</td><td>POZYCJA W GOOGLE</td></tr>'; $rek = 0; while($google = mysql_fetch_array($zapytaniegoogle)) { $danedoaktualizacji[$rek][0] = $google['SERWERY GOOGLE']; $danedoaktualizacji[$rek][1] = $google['STRONY WWW']; $danedoaktualizacji[$rek][2] = $google['SLOWA FRAZY']; $danedoaktualizacji[$rek][3] = $google['L.P.']; // echo '<tr><td>'.$google['L.P.'].'</td><td>'.$google['SERWERY GOOGLE'].'</td><td>'.$google['STRONY WWW'].'</td><td>'.$google['SLOWA FRAZY'].'</td><td>'.$google['DATA'].'</td><td>'.$google['POZYCJA W GOOGLE'].'</td></tr>'; $rek ++; } echo '</table>'; return $danedoaktualizacji; } Kod $zapytanie = "SELECT * FROM pozycja_w_google.google;"; to samo select dla 'STRONY WWW' gdzie po wyborze odpowiednich pól select wyświetlą mi się właściwe dane dla 'serwery google' i 'strony www' problem jest taki <option></option> jest puste a albo pojawiają się dziwne wartości.
$wynik = mysql_query($zapytanie); print "<!-- Zapytanie; $zapytanie -->"; $rek = 0; print '<form action="wyswietlanie.php" method="post"><select name= "serwery_google">'; while($google = mysql_fetch_array($wynik)) { echo $google[$rek]['SERWERY GOOGLE']; $poka_ser = $google[$rek]['SERWERY GOOGLE']; print '<option value="'.$poka_ser.'">'.$poka_ser.'</option>'; $rek++; } print '</select></form>'; |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
Co to za zapytanie? (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował Wicepsik 6.07.2010, 11:09:56 |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Co to za zapytanie? (IMG:style_emoticons/default/winksmiley.jpg) Normalne. Wybiera wszystkie rekordy z tabeli google z bazy danych pozycja_w_google. Zaskoczony? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
zobacz jak powinno wygladac , jak chcesz wyswietlac dane , jesli dobrze zrozumialem:
http://php.net/manual/en/function.mysql-fetch-array.php i daj kod w dobre znaczniki , w tym przypadku php , bo nie da sie tego czytac. Ten post edytował gigzorr 6.07.2010, 11:11:51 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
Normalne. Wybiera wszystkie rekordy z tabeli google z bazy danych pozycja_w_google. Zaskoczony? Oj.. tak. Nigdy się z czymś takim nie spotkałem (IMG:style_emoticons/default/dry.gif) mój błąd :/ |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Maksymalnie wykroiłem co się dało niepotrzebnego. Pierwsze działa ok i prawidłowo. Ale popatrz co masz w drugim. Skąd wytrzasnąłeś $google[$rek]['SERWERY GOOGLE'] ? Skąd Ci się w zmiennej wyniku $google pobranej mysql_fetch_* znalazła $rek? Zmień na ... i myśl następnym razem co robisz zamiast walić Copy-Paste. Twój błąd wynika z innego podejścia do danych. W 1 przypadku wszystko wrzucałeś do tablicy. Inna sprawa, że też bezsensownie. Można było użyć składni, która redukuje potrzebę użycia zmiennej $rek: . W 2 wariancie kod od razu waliłeś wewnątrz pętli przez echo do wyświetlania i $rek też było zbędne. Bo po czym miałbyś iterować na zewnątrz? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.09.2025 - 20:21 |