Page 1 sur 1

Liste deroulante choix multiple

Posté : 17 oct. 2008, 11:02
par mrarobaz
bonjour,

Je voudrais créer une liste déroulant a choix multique en affichant la catégorie avec c'est article dessou et ça reference article a coté de l'article

Et biensur le tout vient de ma base de donnée , Mais je sais pas comment faire

Est-ce que quelqu'un peu m'aider

Exemple :

1er choix

Animaux
chat (reference)
chien (reference)
cheveaux (reference)
Futuriste
avion (reference)
voiture (reference)

2eme choix idem etc...

Merci pour votre aide

Posté : 17 oct. 2008, 14:07
par crash
Bonjour,

On ne code pas à ta place mais je peux te donner une piste :

Code : Tout sélectionner

<select name="menu"> <option name="Choix1" value="Choix 1">Choix 1</option> <option name="Choix2" value="Choix 2">Choix 2</option> <option name="Choix3" value="Choix 3">Choix 3</option> </select>
Après tu peux essayer de continuer toi même et si jamais tu as un soucis dans ton code on sera là pour t'aider :)

Posté : 17 oct. 2008, 14:23
par mrarobaz
Oui j'ai essayer de faire ça :

<?
// On récupère tous les articles, triés par catégorie, titre, référence.
$req = 'SELECT photos.Titre, photos.Prix, photos.SSCatID=photos_cats.Name
        FROM photos, photos_cats
        ORDER BY photos.SSCatID , photos.Titre, photos.Prix';
$res = mysql_query($req) or exit('Erreur: '.mysql_error());

$sscatid = null;
echo('<select name="article">');
while ($donnees = mysql_fetch_assoc($res)) {
  // Si on change de catégorie, on l'affiche dans le <select>.
  if ($donnees['SSCatID '] !== $SSCatID) {
    $SSCatID = $donnees['SSCatID '];
    echo('<optgroup label="'.$SSCatID .'">');
  }
  //On ajoute "logiquement" notre <option>.
  echo('<option value="'.$donnees['Prix'].'">'.$donnees['Titre'].'</option>');
	}
					    mysql_close();  // on ferme la connexion}
echo('</select>');
?>
Voici ce que ça donne dans mon formulaire de contact : http://www.rolandchaigne.com/contact.php

Voici mes 2tables :

-- Structure de la table `photos_cats`
--

CREATE TABLE `photos_cats` (
`Numero` int(2) NOT NULL auto_increment,
`CatP` int(4) NOT NULL default '0', ( ça c'est pour une autre categorie donc pas besoin )
`Name` varchar(20) NOT NULL default '',
UNIQUE KEY `Name` (`Name`),
KEY `Numero` (`Numero`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Table des sous catégories de tableaux' AUTO_INCREMENT=8 ;

--
-- Contenu de la table `photos_cats`
--


CREATE TABLE `photos` (
`Numero` int(5) NOT NULL auto_increment,
`Titre` varchar(30) NOT NULL default '',
`CatID` int(2) NOT NULL default '0',
`SSCatID` int(4) NOT NULL default '0',
`ImgSrc` varchar(200) NOT NULL default '',
`Comment` text NOT NULL,
`Prix` decimal(6,2) NOT NULL default '0.00',
KEY `Numero` (`Numero`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Table des photos du site.' AUTO_INCREMENT=3 ;

--
-- Contenu de la table `photos`

Posté : 17 oct. 2008, 15:27
par Anty

<?

echo('<select name="article">');

?>


Cela n'apparait pas dans ton code source, il doit y avoir un problème avant.

Je pense que c'est dans ta requête, car tu as deux tables mais pas de jointure. Enfin si, mais tu l'as mise dans ton select.

Essaye t'a requête en local pour voir si elle fonctionne.