Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie
Forum PHP.pl > Forum > Przedszkole
Remx
Witam
zaczynam przygode z php+MySQL

zrobiłęm wyswietlanie tabeli i jeden sposob działa ale drugi juz niechce sad.gif
a wszystko robie tak jak w kursie który znalazłem yh sad.gif

to są przykłądy:
działający na 100% smile.gif
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM nba") 
  3.         or die("Bł&plusmn;d w zapytaniu!"); 
  4.             mysql_close();
  5. echo '<table border=2 bordercolor=black>';
  6.  
  7. while($wiersz = mysql_fetch_array($wynik))
  8. {
  9. $a=$wiersz['id'];
  10. $b=50;
  11. $z=$a+$b;
  12.   //echo $wiersz['name']."<br />"; 
  13. echo '<tr><td>&nbsp;'. $wiersz['id'] .'&nbsp;</td><td>&nbsp;'. $z .'&nbsp;</td></tr>';
  14.  
  15. }
  16. echo '</table>';
  17. ?>


oraz nie działąjący przykład:

  1. <?php
  2. echo('<CENTER><BR>***** NEXT TEST ***** <BR></CENTER>');
  3.  
  4. $zapytanie = "SELECT * FROM nba";
  5. $dzialaj=mysql_query($zapytanie);
  6. while ($pole = mysql_fetch_row($dzialaj))
  7. {
  8. print "$pole[1], ";
  9. }
  10. ?>

wyświetla sie cos takiego

Cytat
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\www\baz_start.php on line 67


Jeszcze mam jedno pytanie chodzi mi o zapytania SQL w php
które są poprawne a zarazm i wydajne..

1).
Cytat
$wynik = mysql_query("SELECT * FROM nba") ;

2).
Cytat
$zapytanie=("SELECT * FROM nba");
     $wynik = mysql_query($zapytanie);


oraz dla czego nie mogę zastosować

Cytat
   $wynik = mysql_query("SELECT 'id', 'name' FROM nba");

musze koniecznie uzyc gwiazki zamiast nazwy kolumny.


mam jeszcze dodatkowe pytanko
co znaczy ta małpa przy @mysql_query



Za szybką pomoc będe wdzieczny.
Pozdrawiam
Fipaj
@ - nie wyświetla błędów, haha smile.gif lepiej ją po prostu usuń

Cytat
musze koniecznie uzyc gwiazki zamiast nazwy kolumny.

nie, nie musisz. po prostu nazwy kolumn pisze się bez apostrofów/cudzysłowów...

Cytat
które są poprawne a zarazm i wydajne..

oba są mniej więcej tak samo wydajne, ale:
po co jest ta zmienna, skoro to zapytanie wykonasz tylko raz? Jaka jest różnica w tych dwóch skryptach:
  1. <?php
  2. print ('lalala')
  3. ?>

a
  1. <?php
  2. $zmienna = 'lalala';
  3. print ($zmienna)
  4. ?>

Żadna! Zmienne służą do zapamiętywania danych wartości, aby się nie powtarzać. ale w tym przykładzie nie mają żadnego zastosowania...
Remx
1). Dziękuje za odpowiedzi dzieki temu skróci mi to kod smile.gif nie bede go rozpisywał hehe


2). czyli to co ponizej juz powino byc Ok ale nie jest sad.gif

  1. <?php
  2. $wynik =mysql_query("SELECT * FROM nba");
  3. while ($pole = mysql_fetch_row($wynik))
  4. {
  5. print "$pole[1], ";
  6. }
  7. ?>


a i jeszcze jedna sprawa tam gdzie jest $pole[1], powino tak zostac czy wpisywac nazwe kolumny tak jak to bylo w array questionmark.gif


Cytat
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\www\baz_start.php on line 66


Linia 66 to ta
Cytat
while ($pole = mysql_fetch_row($wynik))


czy ten while dzila tak ze jak sie nic nie pojawi w wyniku czyli koniec tabeli zakonczy sie pętla ?

i co zrobic by działąło sad.gif bo juz nie raz widze wykozystanie row a anie array
ale zawsze mi niechce to działac sad.gif


a i jeszcze jdno pytanko array to to ze sprawdzamy zawartosci komorki ? i wyswietlamy owąlinie ?

a row to szukamy i wyswietlamy dana linie po ID ale te ID jest niewidzialne
ID=LINIA/WIERSZ
smile.gif

Pozdrawiam
mike
1
Cytat(Remx @ 2006-02-22 16:57:51)
Cytat
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\www\baz_start.php on line 66

Komunikat ten mówi, że to co podajesz jako argument dla funkcji mysql_fetch_row() nie jest poprawnym wynikiem zapytania.
Sprawdź za pomocą mysql_errno() i mysql_error() czy zapytanie się wykonuje czy mysql zwraca jakieś błędy po wykonaniu mysql_query.
I przede wszystkim czy w tabel nba są jakieś dane (czy są zwrócone jakies rekordy)

2.
Zasady działania funkcji mysql_fetch_row() oraz mysql_fetch_array() są dokładnie takie same - zwracany jest aktualny wiersz (rekord) ze zbioru wyników zapytania. Różna jest tylko postać zwracanych danych. Więcej doczytasz w manualu.

3.
Dlaczego nadużywasz cudzysłowiów?
  1. <?php
  2. //...
  3. $wynik = mysql_query("SELECT * FROM nba");
  4. //...
  5. ?>

-->
  1. <?php
  2. //...
  3. $wynik = mysql_query('SELECT * FROM nba');
  4. //...
  5. ?>

____________
  1. <?php
  2. //...
  3. print "$pole[1], ";
  4. //...
  5. ?>

-->
  1. <?php
  2. //...
  3. echo $pole[1] . ', ';
  4. //...
  5. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.