 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
danielsen
Data înscrierii: 14/Feb/2004
Mesaje: 70
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: 69
|
| 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: 70
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: 70
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">» <?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: 70
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 |
|
| |
|