Forum otwartych umysłów
Forum dla wszystkich i o wszystkim, a zwłaszcza dla tych co mają otwarty umysł.

| FAQ |  Szukaj |  Użytkownicy |  Grupy |  Mapa Google |
| Rejestracja |  Zaloguj |  Album |

Poprzedni temat «» Następny temat
Pobranie wyników z dwóch tabel - problem z wyświetleniem
Autor Wiadomość
Freelancer 
Bobek
In Love :)



Znak zodiaku:
byk

Wiek: 20
Dołączył: 22 Maj 2007
Posty: 40
Skąd: Sławice
Wysłany: 2008-08-30, 08:57   Pobranie wyników z dwóch tabel - problem z wyświetleniem

Tak jak w temacie. Zapytanie wygląda tak:
Kod:

$sql = "SELECT m.id, m.cat_id, m.menu_name, c.id as cid, c.cat_name
FROM portal_menu m, portal_menu_cat c
WHERE m.cat_id = c.id
ORDER BY id ASC";


Jako wynik dostaje tabice asocjalną.
Funkcja która wykonuje polecenie wygląda tak:

Kod:
function fetcharray(){

global $wynik;

while ($wiersz = mysql_fetch_array($wynik,MYSQL_ASSOC)){

$row[] = $wiersz;

}

return $row;

}

Wszystko jest ładnie gdyby nie to, że nie wiem jak wyświetlić to tak jak należy. Jak do tej pory to udało mi się uzyskać efekt:
Kod:
kat1
opcja1
kat1
opcja2
kat2
opcja3

A powinno być:
Kod:

kat1
opcja1
opcja2
kat2
opcja3
_________________
Wiara potrafi czynić cuda. Trzeba tylko mocno wierzyć.
 
 
 
warna 
Bobek
korektor thecamels



Znak zodiaku:
skorpion

Pomógł: 1 raz
Wiek: 17
Dołączył: 08 Maj 2006
Posty: 56
Skąd: Ozorków
Wysłany: 2008-08-30, 19:16   

Zapytanie:
Cytat:
$sql = "SELECT m.id, m.cat_id, m.menu_name, c.id as cid, c.cat_name
FROM portal_menu m, portal_menu_cat c
WHERE m.cat_id = c.id
ORDER BY m.id ASC";

Po co 2x pobierać ten sam numerek kategorii z dwóch różnych tabel? :) Wywal to c.id as cid.

Kod:
$cats = $links = array();

while( $row = $db->sql_fetchrow($result) )
{
  $links[] = $row;
  $cats[$row['cat_name']] = $row;
}
$db->sql_freeresult();   

foreach( $cats as $cat => $array )
{
  //$cat - nazwa kategorii

  foreach( $links as $key => $row )
  {
    if( $row['cat_name'] == $cat )
    {
      //$row['id'] - id menu
      //$row['menu_name'] - nazwa menu
    }
  }
}


Pisałem jakiś czas temu bardzo podobny kod. Działał bez zarzutu ;) Pisałem na sucho, ale powinno działać.
 
 
 
Freelancer 
Bobek
In Love :)



Znak zodiaku:
byk

Wiek: 20
Dołączył: 22 Maj 2007
Posty: 40
Skąd: Sławice
Wysłany: 2008-08-31, 11:34   

Hmm... No skrypt działa do tej pory i trzyma się dobrze :D ale mi nie chodzi o skrypt do przemo ;P To ma być całkiem samodzielny portal. Próbowałem jakoś kombinować z tym kodem co mi podałeś ale mi nie wychodziło :/ No a numer id jest mi potrzebny do edycji w PA :P
_________________
Wiara potrafi czynić cuda. Trzeba tylko mocno wierzyć.
 
 
 
warna 
Bobek
korektor thecamels



Znak zodiaku:
skorpion

Pomógł: 1 raz
Wiek: 17
Dołączył: 08 Maj 2006
Posty: 56
Skąd: Ozorków
Wysłany: 2008-08-31, 16:59   

Fakt, zapomniałem o klasie db ;] Kod powinien działać, pisałem go w oparciu o Twoje zapytanie.
Kod:
$cats = $links = array();

while( $row = mysql_fetch_array($wynik, MYSQL_ASSOC) )
{
  $links[] = $row;
  $cats[$row['cat_name']] = $row;
}

foreach( $cats as $cat => $array )
{
  //$cat - nazwa kategorii

  foreach( $links as $key => $row )
  {
    if( $row['cat_name'] == $cat )
    {
      //$row['id'] - id menu
      //$row['menu_name'] - nazwa menu
    }
  }
}
 
 
 
Freelancer 
Bobek
In Love :)



Znak zodiaku:
byk

Wiek: 20
Dołączył: 22 Maj 2007
Posty: 40
Skąd: Sławice
Wysłany: 2008-08-31, 19:26   

Wielkie dzięki ;) Zapomniałeś jeszcze o ID kategorii :P Trochę zmodyfikowałem i jest perfekt ;)
_________________
Wiara potrafi czynić cuda. Trzeba tylko mocno wierzyć.
 
 
 
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group

Dyskutuj na Forum