Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL]Wyciąganie danych z sql
maxil
post 16.06.2009, 12:57:20
Post #1





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
nospor
post 16.06.2009, 12:59:07
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no widac jest tylko jeden rekord, ktory spelnia jednoczesnie warunek pierwszy i drugi


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zelu
post 16.06.2009, 12:59:57
Post #3





Grupa: Zarejestrowani
Postów: 229
Pomógł: 34
Dołączył: 7.12.2008
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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

Ten post edytował zelu 16.06.2009, 13:00:49
Go to the top of the page
+Quote Post
maxil
post 16.06.2009, 13:01:26
Post #4





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
MicNeo
post 16.06.2009, 13:01:43
Post #5





Grupa: Zarejestrowani
Postów: 37
Pomógł: 7
Dołączył: 21.11.2004
Skąd: Kraków / Nowy Sącz

Ostrzeżenie: (0%)
-----


Pokaż kod którym chcesz wyświetlić te rekordy.


--------------------
Każda dobrze napisana rzecz wciąga pod wode i zapiera dech...
Go to the top of the page
+Quote Post
maxil
post 16.06.2009, 13:10:32
Post #6





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


kod jest w moim pierwszym poście
Go to the top of the page
+Quote Post
Pawel_W
post 16.06.2009, 13:13:35
Post #7





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


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 ;]
Go to the top of the page
+Quote Post
Spawnm
post 16.06.2009, 13:15:02
Post #8





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat(maxil @ 16.06.2009, 14:10:32 ) *
kod jest w moim pierwszym poście

kod != zapytanie sql smile.gif
Go to the top of the page
+Quote Post
maxil
post 16.06.2009, 13:27:06
Post #9





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
wookieb
post 16.06.2009, 13:28:20
Post #10





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




O jezu...
mysql_num_rows

Poza tym to jest petla FOR!

Ten post edytował wookieb 16.06.2009, 13:28:41


--------------------
Go to the top of the page
+Quote Post
MicNeo
post 16.06.2009, 13:30:40
Post #11





Grupa: Zarejestrowani
Postów: 37
Pomógł: 7
Dołączył: 21.11.2004
Skąd: Kraków / Nowy Sącz

Ostrzeżenie: (0%)
-----


  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.

Ten post edytował MicNeo 16.06.2009, 13:34:21


--------------------
Każda dobrze napisana rzecz wciąga pod wode i zapiera dech...
Go to the top of the page
+Quote Post
maxil
post 16.06.2009, 13:30:43
Post #12





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
wookieb
post 16.06.2009, 13:32:22
Post #13





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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.

Ten post edytował wookieb 16.06.2009, 13:33:42


--------------------
Go to the top of the page
+Quote Post
MicNeo
post 16.06.2009, 13:35:52
Post #14





Grupa: Zarejestrowani
Postów: 37
Pomógł: 7
Dołączył: 21.11.2004
Skąd: Kraków / Nowy Sącz

Ostrzeżenie: (0%)
-----


@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


--------------------
Każda dobrze napisana rzecz wciąga pod wode i zapiera dech...
Go to the top of the page
+Quote Post
maxil
post 16.06.2009, 13:36:52
Post #15





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
wookieb
post 16.06.2009, 13:38:45
Post #16





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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...

Ten post edytował wookieb 16.06.2009, 13:39:09


--------------------
Go to the top of the page
+Quote Post
maxil
post 16.06.2009, 13:40:23
Post #17





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 12:49