Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Klasa i sql
Forum PHP.pl > Forum > PHP
isso
Witam,

mam problem...

Mam tabele w bazie danych Miasta i w tabeli powiedzmy 5 rekordów:
Warszawa, Wroclaw, Gdynia, Gdansk, Poznan

i mam klase

  1. <?php
  2. class postion{
  3.  
  4.  function all_towns(){
  5.  $query = 'SELECT * FROM `town` LIMIT 0, 30 '; 
  6. $result = mysql_query($query) or die(mysql_error());
  7. $r = mysql_fetch_array($result);
  8.  
  9. return $r;
  10. }
  11.  
  12.  
  13. }
  14. ?>


i teraz takie pytanie;
robie obiekt

  1. <?php
  2. $obiekt = new postion();
  3. ?>

i odnosze sie

  1. <?php
  2. $obiekt->all_towns();
  3. ?>


jak mam teraz zrobić, żeby wypisało mi wszystkie miasta?
kris2
http://www.phpf1.com/tutorial/php-mysql-tutorial.html?page=3
pogooglaj to nie boli
isso
ale jak robie:

  1. <?php
  2. while($obiekt->all_towns())
  3. {
  4. printf($r['nameTown']);
  5. }
  6. ?>


to sie zapetla i nic z tego nie ma ;/
bliitz
dlatego że w pętli wywołujesz ciągle funkcje z obiektu, nie ma warunku który kończy wywoływanie

  1. <?php
  2. while($row = mysql_fetch_assoc($result))
  3. ?>


spojrz na ten przykład z podanego linka, tutaj while kończy w momencie gdy funkcja mysql zwróci wszystkie wartości
a u Ciebie tego brakuje
isso
Znalazłem:

  1. <?php
  2. function all_towns(){
  3. global $res;
  4. $query = 'SELECT * FROM `town` LIMIT 0, 30 '; 
  5. $result = mysql_query($query) or die(mysql_error());
  6. while($r = mysql_fetch_array($result))
  7. {
  8. $this->totals[] = array('title' => $r['nameTown']);
  9. }
  10.  
  11. }
  12. ?>


a później wywołuje sobie przez:

  1. <?php
  2. $cresult = count($towns->totals);
  3. for($i=; $i < $cresult ; $i++){
  4. printf($towns->totals[$i]['title']);
  5. }
  6. ?>


Chodziło o to, że własnie chciałem to mieć na stronie w tablicy... a nie zeby mi wyrzucało od razu wartość z odwołania do klasy.

Tak czy inaczej, dziekuje za wszystkie odpowiedzi.
Crozin
  1. <?php
  2. class postion{
  3.  
  4. function all_towns(){
  5. $query = 'SELECT * FROM `town` LIMIT 0, 30 '; 
  6. $result = mysql_query($query) or die(mysql_error());
  7. $return = array();
  8.  
  9. while($r = mysql_fetch_array($result))
  10. $returnp[] = $r;
  11.  
  12. return $return;
  13. }
  14. }
  15.  
  16.  
  17. $obiekt = new postion();
  18. $rezultat = $obiekt->all_towns();
  19.  
  20. echo '<pre>' . print_r($rezultat, true) . '</pre>';
  21.  
  22. ?>


PS. Ludzie - nie bierzcie się za OOP nie mając fundamentalnej wiedzy dot. PHP winksmiley.jpg
isso
Cytat(Crozin @ 9.04.2008, 21:47:34 ) *
....
PS. Ludzie - nie bierzcie się za OOP nie mając fundamentalnej wiedzy dot. PHP winksmiley.jpg



Wszyscy cieszymy się, żę ty ją masz;] i takie komentarze są zdecydowanie zbyteczne ;] bo napisałem, że sobie poradziłem ;]
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.