Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Pętla odczytująca dane
poxrimex
post 4.02.2008, 14:17:43
Post #1





Grupa: Zarejestrowani
Postów: 368
Pomógł: 2
Dołączył: 23.09.2007

Ostrzeżenie: (60%)
XXX--


Stworzyłem pętle chcąć odczytać 3 wiersze odpowiadające zapytaniu. Oczywiście w bazie są odpowiedni rekordy, ale na stronie mi tego nie wyświetla, nie ma nawet błędu tylko jakby nie było skryptu:
  1. <?php
  2. $dbh=mysql_connect("localhost", "sek", "haslo) or die ('I cannot connect to the database because: ' . mysql_error());
  3. mysql_select_db ("sek") or die(mysql_error());
  4.  
  5. $a=1;
  6. while ( $a = 3)
  7. {
  8. $zapytanie = "SELECT * from tabela where numer = $a";
  9. $a=$a+1;
  10. $wynik = mysql_query($zapytanie);
  11. $wiersz = mysql_fetch_assoc($wynik);
  12. $haje=$wiersz['hajeden'];
  13. $opis=$wiersz['opis'];
  14. $link=$wiersz['link'];
  15. $obrazek=$wiersz['obrazek'];
  16. echo $haje.$opis.$link.$obrazek;
  17. }
  18.  
  19. ?>


Ten post edytował poxrimex 4.02.2008, 14:18:43


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



Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
redelek
post 4.02.2008, 14:20:01
Post #2





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

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


Cytat(poxrimex @ 4.02.2008, 14:17:43 ) *
while ( $a = 3)
{
$zapytanie = "SELECT * from tabela where numer = $a";


Rozumiem że to literówka czy tabela nazywa się tabela ?


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
-Wieviór-
post 4.02.2008, 14:22:05
Post #3





Goście







Co to jest w ogóle za logiczna konstrukcja:

  1. <?php
  2. $a = 1;
  3. while ( $a = 3) {}
  4. ?>


Po pierwsze, w nawiasie zamiast = daj ==, po drugie popatrz co napisałeś: Zmienna a równa się 1, kiedy zmienna a równa się trzy, wykonaj skrypt wewnątrz. Człowieku, podstawy, myśl trochę.
Go to the top of the page
+Quote Post
poxrimex
post 4.02.2008, 14:24:05
Post #4





Grupa: Zarejestrowani
Postów: 368
Pomógł: 2
Dołączył: 23.09.2007

Ostrzeżenie: (60%)
XXX--


tak, tabela nazywa się tabela
to nie przykład przepisany żywcem sadsmiley02.gif

ja chcem aby odczytało mi wszystkie wiersze od 1 do 3


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



Go to the top of the page
+Quote Post
-Wieviór-
post 4.02.2008, 14:24:14
Post #5





Goście







Cytat(poxrimex @ 4.02.2008, 16:22:10 ) *
tak, tabela nazywa się tabela
to nie przykład przepisany żywcem sadsmiley02.gif


Nie możesz winić nas za takie domysły, bo każdy Twój post wskazuje na brak największych (najmniejszych) podstaw.
Go to the top of the page
+Quote Post
smietek
post 4.02.2008, 14:29:32
Post #6





Grupa: Zarejestrowani
Postów: 306
Pomógł: 32
Dołączył: 20.01.2008

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


  1. <?php
  2. $dbh=mysql_connect("localhost", "sek", "haslo) or die ('I cannot connect to the database because: ' . mysql_error());
  3. mysql_select_db ("sek") or die(mysql_error());
  4.  
  5. $zapytanie = "SELECT * from tabela ORDER BY numer LIMIT 0, 2";
  6. $wynik = mysql_query($zapytanie);
  7.  
  8. while ($wiersz = mysql_fetch_array($wynik)) {
  9. $haje=$wiersz['hajeden'];
  10. $opis=$wiersz['opis'];
  11. $link=$wiersz['link'];
  12. $obrazek=$wiersz['obrazek'];
  13. echo $haje.$opis.$link.$obrazek;
  14. }
  15. ?>

Pobierze 3 pierwsze wyniki, sortowane od najmniejszego do największego.


--------------------
Go to the top of the page
+Quote Post
poxrimex
post 4.02.2008, 14:31:18
Post #7





Grupa: Zarejestrowani
Postów: 368
Pomógł: 2
Dołączył: 23.09.2007

Ostrzeżenie: (60%)
XXX--


Ten skrypt nadal mi zwraca jeden wynik sadsmiley02.gif

Ten post edytował poxrimex 4.02.2008, 14:32:44


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



Go to the top of the page
+Quote Post
smietek
post 4.02.2008, 14:33:31
Post #8





Grupa: Zarejestrowani
Postów: 306
Pomógł: 32
Dołączył: 20.01.2008

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


To może podaj jaki, i zobacz, czy nie masz jednego wpisu w tabeli.


--------------------
Go to the top of the page
+Quote Post
poxrimex
post 4.02.2008, 14:38:03
Post #9





Grupa: Zarejestrowani
Postów: 368
Pomógł: 2
Dołączył: 23.09.2007

Ostrzeżenie: (60%)
XXX--


po 1 chciałbym nadal używać where=id

oraz wszystko w pętli tzn aby where=id zapętiło tak
by za każdym razem id zwiększało się o 1 aż do np 4


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



Go to the top of the page
+Quote Post
smietek
post 4.02.2008, 14:41:47
Post #10





Grupa: Zarejestrowani
Postów: 306
Pomógł: 32
Dołączył: 20.01.2008

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


Przecież ten przykłąd co Ci podałem właśnie to robi! No chyba, że ty chcesz jeszcze wyświetlać ze stronami. Najpierw pobaw się ze zwykłym wyświetlaniem, bo widać, że nic nie rozumiesz.

To jest zapytanie które wyświetla wszystkie wyniki, jeżeli użyjesz pętli, co ci wcześniej podałem:
  1. <?php
  2. $zapytanie = "SELECT * FROM tabela ORDER BY id";
  3. ?>

A tutaj z WHERE, która wyświetli wszystkich, którzy mają id pomiędzy 1 a 10:
  1. <?php
  2. $zapytanie = "SELECT * FROM students WHERE id BETWEEN 1 and 10";
  3. ?>


Nie rób takiej pętli, która za każdym razem wysyła zapytanie, bo to jest nieopłacalne. Najlepiej wysłać zapytanie raz, a potem przetworzyć wynik.

Ten post edytował smietek 4.02.2008, 14:47:03


--------------------
Go to the top of the page
+Quote Post
szpakoo
post 4.02.2008, 14:42:02
Post #11





Grupa: Zarejestrowani
Postów: 122
Pomógł: 16
Dołączył: 19.04.2007

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


  1. $sql="SELECT * FROM tabela LIMIT 3";
  2. $wynik = mysql_query($sql) OR die ("bląd");
  3. while ($wiersz = mysql_fetch_array($wynik))
  4. {
  5. $haje=$wiersz['hajeden'];
  6. $opis=$wiersz['opis'];
  7. $link=$wiersz['link'];
  8. $obrazek=$wiersz['obrazek'];
  9. echo $haje.$opis.$link.$obrazek;
  10. }

Pwinno być wszystko dobrze, do zapytania możesz sobie dodać jakiś warunek WHERE np albo sortowanie

Ten post edytował szpakoo 4.02.2008, 14:43:02


--------------------
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: 19.07.2025 - 17:09