Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MVC - pierwsze kroki i problem z model
yacoos
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 19.02.2005

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


Witam,

Walczę z projektem pierwszy raz używając mvc.
Dużo udało mi się już zwalczyć, ale teraz mam problem próbuję zrobić coś w stylu dwóch zależnych od siebie zapytań do sqla. Problem w tym, że kiedy ustawiam model na to drugie - to już wychodzi mi z pierwszego.
Z resztą.. oto cały kod:


  1. <?php
  2. $this->model->listRozKol($id);
  3. $kolumny[]=array("kolumna"=>'Rozmiary:');
  4. while ( $rozmiar=$this->model->getProduct() ) {
  5. $kolumny[]=$rozmiar;
  6. }
  7.  
  8. $rozmiary[]=$kolumny;
  9. $kolumny=array();
  10. $this->model->listRozWiersz1($id);
  11. while ( $wiersz1=$this->model->getProduct() ) { $i++;
  12. $kolumny[]=array("kolumna"=>$wiersz1["rozmiar_wiersz"]);
  13. $this->model->listRozWiersz2($id, $wiersz1["id_rozmiarw"]);
  14. while ( $wiersz2=$this->model->getProduct2() ) {
  15. $kolumny[]=$wiersz2;
  16. }
  17. $rozmiary[]=$kolumny;
  18. }
  19. ?>


Niestety zawsze widać tylko 1 rekord.. mimo że $this->model->listRozWiersz2($id, $wiersz1["id_rozmiarw"]); powinno wyświetlać ich więcej.

Przypuszczam, że trzeba zakombinować coś w klasie model.. ale sam na chwile obecną chyba sobie z tym nie poradzę - dlatego proszę o podpowiedź.

Przy okazji - są jakieś alternatywy dla MVC? Bo na dłuższą metę to nie wiem czy się z nim dogadam - szczególnie ciężko mi się przyzwyczaić do tych zapytań w Modelu..

Pozdrawiam i jeszcze raz bardzo proszę o podpowiedź.
Jacek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
yacoos
post
Post #2





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 19.02.2005

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


Niestety nowa klasa to jak dla mnie za dużo na raz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Dorobiłem sobie do klasy z której jest $dao takie coś:
  1. <?php
  2. function assoc($sql) {
  3. $this->query = mysql_query($sql);
  4. while ($rek=mysql_fetch_assoc($this->query)) {
  5. $return[]=$rek;
  6. }
  7. return $return;
  8. }
  9. ?>


No i później już:
  1. <?php
  2. $naglowki = $this->model->dao->assoc("SELECT DISTINCT CONCAT(rozmiar_kolumna.rozmiar_kolumna,'(',rozmiar_liczba,')') AS kolumna FROM `rozmiar_kolumna` LEFT JOIN rozmiar_wartosc ON (rozmiar_wartosc.id_rozmiark=rozmiar_kolumna.id_rozmiark) WHERE rozmiar_wartosc.id_produkt='".$id."' ORDER BY rozmiar_kolumna.rozmiar_liczba;");
  3. $kolumny[]='Rozmiary:';
  4. foreach ($naglowki as $naglowek) { 
  5. $kolumny[]=$naglowek["kolumna"];
  6. }
  7. ?>

Wiem że to pewnie nie bardzo obiektowe i w ogóle do.... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
A co do PRADO - wolałbym coś mniej 'automatycznego' - tak żebym mógł sobie dalej używać QuickForm'a i Smarty - chodzi mi tylko o jakiś sprytny przykład poskładania tego wszystkiego w klasy.
Pozdrawiam i bardzo dziękuję za podpowiedzi,
Jacek
Go to the top of the page
+Quote Post

Posty w temacie


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: 7.10.2025 - 02:42