Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]Wyciąganie danych z sql
Forum PHP.pl > Forum > Przedszkole
maxil
Chciałbym napisać skrypt który będzie wyciągać z tabeli sql wszystkie rekordy które będą spełniać dwa warunki.

próbowałem z zapytaniem

  1. SELECT * FROM tabela WHERE cos = 'warunek' AND nazwa = 'warunek2';


ale to zapytanie mi wyciągało tyko jeden rekord a chciałbym wyciągnąć wszystkie.
jeśli by ktoś mógł mi pomóc to był bym bardzo wdzięczny.
nospor
no widac jest tylko jeden rekord, ktory spelnia jednoczesnie warunek pierwszy i drugi
zelu
są dwie opcje... albo faktycznie jest tylko jeden wiersz spelniajacy warunek... Albo nie uzyles petli do wyswietlania wyniku w skrypcie PHP


sprawdz co robi
  1. <?php
  2. while($row = mysql_fetch_array($wynik_z_bazy))
  3. {
  4. ...
  5. }
  6. ?>


pozdro
maxil
tych rekordów w bazie jest 16 a wyciąga tylko jeden, a wszyskie 16 spełniają te warunki

zelu sprawdze to rzeczywiście nie użyłem pętli
MicNeo
Pokaż kod którym chcesz wyświetlić te rekordy.
maxil
kod jest w moim pierwszym poście
Pawel_W
nawet jakby kod był dobry (nie widzę błędów) to bez pętli zobaczysz tylko 1 rekord z bazy...

zrób pętlę while() tak jak to doradził zelu, tylko podaj tam jakąś instrukcję np. i++; żebyś wiedział ile razy się wykonała ;]
Spawnm
Cytat(maxil @ 16.06.2009, 14:10:32 ) *
kod jest w moim pierwszym poście

kod != zapytanie sql smile.gif
maxil
zrobiłem tak:

  1. <?php
  2. while ($i=0; $i<mysql_fetch_array($wynik); $i++)
  3. ?>


jednak wywala mi błąd że jest coś nie tak z znacznikami ;
jeśli to jest źle to poprawcie to
wookieb
O jezu...
mysql_num_rows

Poza tym to jest petla FOR!
MicNeo
  1. <?php
  2.  
  3.    $query = 'SELECT * FROM tabela WHERE `cos` = warunek1 AND `nazwa` = warunek2';
  4.    $query = mysql_query($query);
  5.    
  6.    while ($kolumna = mysql_fetch_row($query)) {
  7.  
  8.        echo $kolumna[0];
  9.  
  10.    }
  11.  
  12.  
  13. ?>


Spróbuj tego. Tylko podmień sobie odpwiednie wartości.
maxil
to pokażcie jak powinna wyglądać pętla while
nigdy jej nie stosowałem więc sie nie dziwcie że popełniam podstawowe błędy
wookieb
Cytat
to pokażcie

Zabrakło mi tutaj pewnego "przyimka" grzecznościowego.

To się czyta KURS, żeby nie popełniać podstawowych błędów.
Zobacz sobie jak wyglada FOR bo na nim tez sie dalo to zrobic http://pl2.php.net/manual/pl/control-structures.for.php
@MicNeo talentu pedagogicznego to nie masz.
MicNeo
@wookieb: true. Ale cóż zrobisz, niepoprawny altruista ze mnie. Poza tym, nie mam co robić tongue.gif

@maxil: Polecam Ci ten kursik dot. pracy z bazami: http://webmade.org/kursy-online/mysq_fetch...-kurs-mysql.php
maxil
proszę tiredsmiley.gif

teraz mam tak
  1. <?php
  2. while ($wiersz = mysql_fetch_row($wynik)) {
  3.  
  4.      $w['1'] = $wiersz[0];
  5.      $w['2'] = $wiersz[1];
  6.      $w['3'] = $wiersz[2];
  7. }
  8. ?>


teraz to niby działa ale nadal wyciąga mi jeden rekord sciana.gif
wookieb
To woła o pomstę do nieba :/
Zrób sobie w pętli
  1. <?php
  2. print_r($wiersz)
  3. ?>
i zobacz czy NADAL jest jeden rekord.

@MicNeo nie podawaj rozwiązania...
maxil
dzięki MicNeo działa tongue.gif
poczytałem sobie ten kurs co mi dałeś i już wiem jakie błędy popełnałem.
dzięki jeszcze raz
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.