Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Pomoc w zapytaniu
f1xer
post
Post #1





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

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


Może to dlatego że jestem śpiący ale nie mam pomysłu jak rozwiązać mój problem chodzi o to że mam w bazie dwie tabele

1. Grupy
id_grupy,nazwa_grupy
2. Wpisy
id_wpisu,id_grupy,nazwa_wpisu

A efekt w html ma być taki

Grupa1
-wpis grupy1
-wpis grupy1
Grupa2
-wpis grupy2
-wpis grupy2

Może ktoś mi podsunąć pomysł jak to zrobić?


--------------------
Pomogłem? wyraź to i kliknij "Pomógł"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
lor
post
Post #2





Grupa: Zarejestrowani
Postów: 51
Pomógł: 11
Dołączył: 12.09.2008

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


Przykład #2 lub #3 wedle uznania na stronie http://pl.php.net/manual/pl/function.mysql-fetch-array.php Dorzuć do zapytania 'WHERE id_grupy = x


--------------------
Go to the top of the page
+Quote Post
f1xer
post
Post #3





Grupa: Zarejestrowani
Postów: 403
Pomógł: 68
Dołączył: 20.03.2008

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


ok poradziłem sobie jakoś pokracznie w ten sposób (api DB z joomli 1.5.9)

w modelu dałem
  1. <?php
  2. $db=& JFactory::getDBO();
  3.    $query = "SELECT id,nazwa_grupy FROM #__grupy_umiejetnosci";
  4.    $db->setQuery($query);
  5.    $wynik=$db->loadObjectList();
  6.    foreach($wynik as $obj)
  7.    {
  8.        $query2="SELECT id,nazwa FROM #__umiejetnosci WHERE id_grupy=".$obj->id;
  9.        $db->setQuery($query2);
  10.        $wynik2=$db->loadObjectList();
  11.        $wyjscie[$obj->nazwa_grupy]=$wynik2;
  12.    }
  13.    return $wyjscie;
  14. ?>

a w widoku (templatce) napisałem taką pętle:
  1. <?php
  2. //$this->umiejetnosci == $wyjscie z modelu ale to wynika z innego kodu
  3. foreach ($this->umiejetnosci as $grupa=>$umiejetnosci)
  4.    {  
  5.        echo $grupa."<br/>";
  6.        foreach ($umiejetnosci as $umiejetnosc)
  7.        {
  8.            
  9.            echo $umiejetnosc->id." - ".$umiejetnosc->nazwa."<br/>";
  10.            
  11.            
  12.        }
  13.    }
  14. ?>


jestem prawie pewien że można to zrobić o wiele lepiej jeżeli ktoś ma jakiś pomysł to proszę o info, a co do postu wyżej to nie bardzo wiem co on miał mi pokazać.


--------------------
Pomogłem? wyraź to i kliknij "Pomógł"
Go to the top of the page
+Quote Post
Pilsener
post
Post #4





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Masz po prostu zrobić
  1. SELECT * FROM tabela1,tabela2 WHERE tabela1.id=tabela2.id
lub użyć złączania tabel: JOIN. Jakiego używasz programu do baz danych? Ściągnij sobie jakiegoś fronta albo navicata, to będziesz robił o wiele bardziej skomplikowane zapytania dwoma kliknięciami myszki.
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 Aktualny czas: 21.08.2025 - 23:25