ce menu est-il faisable?
Posté : 29 avr. 2005, 17:39
bonjour a tous,
je suis en train de faire une boutique en ligne, et je demandais si il etais possible de faire ce type de menu: http://tosweb.free.fr/Nouveau%20dossier ... tical.html
avec les rubriques>sous-rubriques1>sous-rubriques2 appelées dynamiquement a partir d'une base de donnée mySQL.
Je suis en train d'essayer de le faire, mais a chaque fois le code ne me retourne que les resultats de la première rubrique(dans mon cas 'ecrans'>'TFT'>'sony'), alors que dans la ma BDD il y a egalement une seconde rubrique pour vendre des imprimantes (celle-ci ne s'affiche pas):
[u]voici la structure de ma BDD[/u]:
CREATE TABLE hardware (
id INT not null AUTO_INCREMENT,
materiels VARCHAR(50) NOT NULL,
PRIMARY KEY (id));
CREATE TABLE tipe (
id INT not null AUTO_INCREMENT,
types VARCHAR(50) NOT NULL,
PRIMARY KEY (id));
CREATE TABLE marque (
id INT not null AUTO_INCREMENT,
marques VARCHAR(50) NOT NULL,
PRIMARY KEY (id));
CREATE TABLE produits (
id INT not null AUTO_INCREMENT,
materiel_id INT NOT NULL, /*id correspondant a l'id du materiel dans la table hardware*/
type_id INT NOT NULL, /*id correspondant a l'id du type dans la table tipe*/
marque_id INT NOT NULL, /*id correspondant a l'id de la marque dans la table marque*/
nom_entier VARCHAR(150) NOT NULL,
prix VARCHAR(20) NOT NULL,
descriptif TEXT NOT NULL,
images VARCHAR(100) NOT NULL,
url VARCHAR(250) NOT NULL,
PRIMARY KEY (id))
et [u]le code de requête[/u]:
[code]<?php
require('identifiant/user.inc.php');
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("impossible de se connecter a la base");
mysql_select_db($mysql_db,$db) or die ("base inexistante");
$req = mysql_query("SELECT produits.materiel_id,hardware.materiels,produits.type_id,tipe.types,produits.marque_id,marque.marques FROM produits,hardware,tipe,marque WHERE
produits.materiel_id=hardware.id AND produits.type_id=tipe.id AND produits.marque_id=marque.id") or die ("erreur sql ".mysql_error());
while($shopone = mysql_fetch_array($req)){
$matos = stripslashes($shopone['materiels']);
$types = stripslashes($shopone['types']);
$marques = stripslashes($shopone['marques']);
print'<ul id="menur">
<li><a href="#menu1">'.$matos.'</a>
<ul>
<li><a href="#">'.$types.'</a><ul>
<li><a href="#">'.$marques.'</a></li>
</ul>
</li></ul>
</li>';
}
mysql_close();
?>[/code]
Voilà si quelqu'un pourrait m'aider ca serait sympa.
merci
je suis en train de faire une boutique en ligne, et je demandais si il etais possible de faire ce type de menu: http://tosweb.free.fr/Nouveau%20dossier ... tical.html
avec les rubriques>sous-rubriques1>sous-rubriques2 appelées dynamiquement a partir d'une base de donnée mySQL.
Je suis en train d'essayer de le faire, mais a chaque fois le code ne me retourne que les resultats de la première rubrique(dans mon cas 'ecrans'>'TFT'>'sony'), alors que dans la ma BDD il y a egalement une seconde rubrique pour vendre des imprimantes (celle-ci ne s'affiche pas):
[u]voici la structure de ma BDD[/u]:
CREATE TABLE hardware (
id INT not null AUTO_INCREMENT,
materiels VARCHAR(50) NOT NULL,
PRIMARY KEY (id));
CREATE TABLE tipe (
id INT not null AUTO_INCREMENT,
types VARCHAR(50) NOT NULL,
PRIMARY KEY (id));
CREATE TABLE marque (
id INT not null AUTO_INCREMENT,
marques VARCHAR(50) NOT NULL,
PRIMARY KEY (id));
CREATE TABLE produits (
id INT not null AUTO_INCREMENT,
materiel_id INT NOT NULL, /*id correspondant a l'id du materiel dans la table hardware*/
type_id INT NOT NULL, /*id correspondant a l'id du type dans la table tipe*/
marque_id INT NOT NULL, /*id correspondant a l'id de la marque dans la table marque*/
nom_entier VARCHAR(150) NOT NULL,
prix VARCHAR(20) NOT NULL,
descriptif TEXT NOT NULL,
images VARCHAR(100) NOT NULL,
url VARCHAR(250) NOT NULL,
PRIMARY KEY (id))
et [u]le code de requête[/u]:
[code]<?php
require('identifiant/user.inc.php');
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("impossible de se connecter a la base");
mysql_select_db($mysql_db,$db) or die ("base inexistante");
$req = mysql_query("SELECT produits.materiel_id,hardware.materiels,produits.type_id,tipe.types,produits.marque_id,marque.marques FROM produits,hardware,tipe,marque WHERE
produits.materiel_id=hardware.id AND produits.type_id=tipe.id AND produits.marque_id=marque.id") or die ("erreur sql ".mysql_error());
while($shopone = mysql_fetch_array($req)){
$matos = stripslashes($shopone['materiels']);
$types = stripslashes($shopone['types']);
$marques = stripslashes($shopone['marques']);
print'<ul id="menur">
<li><a href="#menu1">'.$matos.'</a>
<ul>
<li><a href="#">'.$types.'</a><ul>
<li><a href="#">'.$marques.'</a></li>
</ul>
</li></ul>
</li>';
}
mysql_close();
?>[/code]
Voilà si quelqu'un pourrait m'aider ca serait sympa.
merci