Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Klasa i sql
isso
post
Post #1





Grupa: Zarejestrowani
Postów: 296
Pomógł: 32
Dołączył: 3.01.2005

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


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?

Ten post edytował isso 9.04.2008, 15:03:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
kris2
post
Post #2





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 15.08.2007

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


http://www.phpf1.com/tutorial/php-mysql-tutorial.html?page=3
pogooglaj to nie boli
Go to the top of the page
+Quote Post
isso
post
Post #3





Grupa: Zarejestrowani
Postów: 296
Pomógł: 32
Dołączył: 3.01.2005

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


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 ;/
Go to the top of the page
+Quote Post
bliitz
post
Post #4





Grupa: Zarejestrowani
Postów: 155
Pomógł: 12
Dołączył: 5.04.2008

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


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

Ten post edytował bliitz 9.04.2008, 18:45:16
Go to the top of the page
+Quote Post
isso
post
Post #5





Grupa: Zarejestrowani
Postów: 296
Pomógł: 32
Dołączył: 3.01.2005

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


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.
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


  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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
isso
post
Post #7





Grupa: Zarejestrowani
Postów: 296
Pomógł: 32
Dołączył: 3.01.2005

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


Cytat(Crozin @ 9.04.2008, 21:47:34 ) *
....
PS. Ludzie - nie bierzcie się za OOP nie mając fundamentalnej wiedzy dot. PHP (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)



Wszyscy cieszymy się, żę ty ją masz;] i takie komentarze są zdecydowanie zbyteczne ;] bo napisałem, że sobie poradziłem ;]
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 23:35