Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

meniu dinamic mysql
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Subiectul anterior :: Subiectul următor  
Autor Mesaj
danielsen



Data înscrierii: 14/Feb/2004
Mesaje: 100
Locație: Cluj-Napoca

Trimis: Vin Mai 09, 2008 12:20 pm    Titlul subiectului: meniu dinamic mysql  

Am 2 tabele:
`meniuri` (id, meniu, ordine, sectiune); si
`categorii` (id, categorie, sectiunea, meniul);
WHERE categorii.meniul = meniuri.id (au valori integer)

Categoriile sunt subordonate meniurilor si vreau sa le afisez asa incat sa iasa o forma de genul:

meniu
- categorie
- categorie
- categorie
meniu
- categorie
- categorie
- categorie

Chiar daca am o vaga idee cum as face asta in php, nu cunosc sintaxa mysql ca sa stiu daca se poate face. O incercare esuata:
sql = "SELECT categorii.*, categorii.* FROM categorii, meniuri WHERE categorii.meniul = meniuri.id";
dar imi baga toate `categorie` sub fiecare `meniu` in parte.

Cum se poate face? Ca am citit manualul mysql pt referinta JOIN si LEFT JOIN dar nu ajuta prea mult. Poate imi da cineva o idee sau un mic exemplu...
Sus  
elrukn



Data înscrierii: 28/Iul/2007
Mesaje: 72
Locație: Bucuresti

Trimis: Vin Mai 09, 2008 12:29 pm    Titlul subiectului:  

select * from meniuri join categorii on categorii.meniul=meniuri.id

poate nu ai nevoie chiar de toate campurile, dar am zis sa fie :)
Sus  
danielsen



Data înscrierii: 14/Feb/2004
Mesaje: 100
Locație: Cluj-Napoca

Trimis: Vin Mai 09, 2008 4:17 pm    Titlul subiectului:  

Beton, exact ce-mi trebuia, merge partial. Mersi!
Sus  
danielsen



Data înscrierii: 14/Feb/2004
Mesaje: 100
Locație: Cluj-Napoca

Trimis: Vin Mai 09, 2008 4:38 pm    Titlul subiectului:  

Aa, dar mai e o problema, acuma am descoperit dupa ce am adaugat mai multe categorii in acelasi meniu.

in loc sa apara:

meniu1
- categorie1.1
- categorie1.2
- categorie1.3

meniu2
- categorie2.1
- categorie2.2
- categorie2.3

meniu3
- categorie3.1
- categorie3.2
- categorie3.3


apare:

meniu1
- categorie1.1
meniu1
- categorie1.2
meniu1
- categorie1.3

meniu2
- categorie2.1
meniu2
- categorie2.2
meniu2
- categorie2.3

E nevoie sa fac 2 interogari?

Eu am facut asa:
nota: <h3> e meniul si <UL><LI> e submeniul.

Cod: <!--meniul principal-->

<?php
$interogare = "SELECT * FROM meniuri JOIN categorii ON categorii.meniul = meniuri.id";
   if ($rezultat = mysql_query ($interogare)) {
      while ($rand = mysql_fetch_array ($rezultat)) {
?>

<h3 class="menuheader expandable"><?php echo $rand['meniu']; ?></h3>

<ul class="categoryitems">
  <li><a href="#" class="item">&raquo; <?php echo $rand['categorie']; ?></a></li>
</ul>

<?php
}}
?>

<!--sfarsit meniul principal-->

Pentru ca am facut si cu 2 interogari si nu se mai stie ce iese. Ma gandesc ca ar trebui facut un FOREACH pt submeniu.
Sus  
danielsen



Data înscrierii: 14/Feb/2004
Mesaje: 100
Locație: Cluj-Napoca

Trimis: Vin Mai 09, 2008 7:39 pm    Titlul subiectului:  

Stie cineva cum se poate face?
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community