2 champs sql ds un même option value ??
keny91 le retour
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour, j'ai eu récemment de l'aide qui m'a été précieuse sur ce forum donc je me lance pour une deuxième question:
contexte: j'ai une table sql nommé Clubs dans laquelle j'ai 2 champs: logo et club.
Sur ma page PHP j'ai un bouton select (déroulant).
donc ma question est comment pourrais-je appeler ces deux champs sur le même option value de mon bouton.
ex:
EQUIPE:(choix déroulant)
admettons que je choisisse 'France' je voudrais que sur le choix de mon bouton cela m'affiche :
drapeau de la France.jpg (champs logo) - France (champs club)
voici le code de mon bouton pour un seul champs:
$cl =$bdd->prepare('SELECT club FROM clubs') or die(print_r($bdd->errorInfo()));
$cl->execute(array());
<td>EQUIPE</td><td><?php echo '<select name="envoi_equipe1" size=1>';
while ($donne = $cl->fetch())
{
echo '<option value="'.$donne['club'].'">'.$donne['club'];
}
echo '</select>'; ?>
j'ai testé ça (voir dessous) mais dans cela ne marche pas :
$cl =$bdd->prepare('SELECT * FROM clubs') or die(print_r($bdd->errorInfo()));
$cl->execute(array());
<td>EQUIPE</td><td><?php echo '<select name="envoi_equipe1" size=1>';
while ($donne = $cl->fetch())
{
echo '<option value="'.$donne['logo']['club'].'">'.$donne['logo']['club'];
}
echo '</select>'; ?>
A voir également:
- 2 champs sql ds un même option value ??
- Supercopier 2 - Télécharger - Gestion de fichiers
- Avoir 2 comptes whatsapp sur le même téléphone - Guide
- 2 ecran pc - Guide
- Gta 6 trailer 2 - Guide
- Sims 2 ds soluce ✓ - Forum Loisirs / Divertissements
24 réponses
salem
d'après votre code , le but principale et d'afficher de logo dans la balise option.
et le code php (requet sql) sert qu'à récupérer l'information concernant le logo.
pour cela je vous propose une solution et pense qu'elle est la seule.
" 1. utiliser de css" ie
créer pour chaque logo un style exemple:
.fr { background:url(france.gif) no-repeat; }
.dz { background:url(algerie.gif) no-repeat; }
2. le champ logo de la base de données contient l'ensemble des logo ie" fr, dz"
qui correspondent aux style css créer
3. dans votre code php ajouter l'attribut "class" de la balise option avec la valeur du logo obtenu de la requet sql ie
echo '<option class="'.$donne['logo'].'" value="'.$donne['club'].'">'.$donne['club'];
d'après votre code , le but principale et d'afficher de logo dans la balise option.
et le code php (requet sql) sert qu'à récupérer l'information concernant le logo.
pour cela je vous propose une solution et pense qu'elle est la seule.
" 1. utiliser de css" ie
créer pour chaque logo un style exemple:
.fr { background:url(france.gif) no-repeat; }
.dz { background:url(algerie.gif) no-repeat; }
2. le champ logo de la base de données contient l'ensemble des logo ie" fr, dz"
qui correspondent aux style css créer
3. dans votre code php ajouter l'attribut "class" de la balise option avec la valeur du logo obtenu de la requet sql ie
echo '<option class="'.$donne['logo'].'" value="'.$donne['club'].'">'.$donne['club'];
bonjour , depuis j'ai avancé...
j'arrive à afficher mes deux champs mais le champs logo contient le chemin du logo
ex: logo/France.png
et du coup le bouton m'affiche : logo/France.png France
au lieu de m'afficher l'image et le mot France
c'est logique mais je ne vois pas comment l'afficher en image (je suis peut être un peu fatigué, LOL )
En tout cas, merci de prendre le temps de me répondre.
Keny
j'arrive à afficher mes deux champs mais le champs logo contient le chemin du logo
ex: logo/France.png
et du coup le bouton m'affiche : logo/France.png France
au lieu de m'afficher l'image et le mot France
c'est logique mais je ne vois pas comment l'afficher en image (je suis peut être un peu fatigué, LOL )
En tout cas, merci de prendre le temps de me répondre.
Keny
PS: j'ai codé ça:
$cl =$bdd->prepare('SELECT * FROM clubs') or die(print_r($bdd->errorInfo()));
$cl->execute(array());
<td>EQUIPE</td><td><?php echo '<select name="envoi_equipe1" size=1>';
while ($donne = $cl->fetch())
{
echo '<option value="'.$donne['logo'].$donne['club'].'">'.$donne['logo'].' '.' '.$donne['club'];
}
echo '</select>';
?>
je désire aussi les récuperer dans une autre table après.
$cl =$bdd->prepare('SELECT * FROM clubs') or die(print_r($bdd->errorInfo()));
$cl->execute(array());
<td>EQUIPE</td><td><?php echo '<select name="envoi_equipe1" size=1>';
while ($donne = $cl->fetch())
{
echo '<option value="'.$donne['logo'].$donne['club'].'">'.$donne['logo'].' '.' '.$donne['club'];
}
echo '</select>';
?>
je désire aussi les récuperer dans une autre table après.
je te répète que la seule solution est celle que j'ai proposé au-dessus
ie utilisé les css avec l'attribut class de la balise class
.fr { background:url(france.gif) no-repeat; }
.dz { background:url(algerie.gif) no-repeat; }
.
.
<option class="'.$donne['logo'].
ie utilisé les css avec l'attribut class de la balise class
.fr { background:url(france.gif) no-repeat; }
.dz { background:url(algerie.gif) no-repeat; }
.
.
<option class="'.$donne['logo'].
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
re-bonjour,
je comprend le principe néanmoins quelques éléments m'échappent:
qu'est ce qui fait le lien par exemple entre la
.fr { background:url(france.gif) no-repeat; }
et la class de mon bouton -> class="'.$donne['logo'].
car dans mon bouton j'appelle le contenu de mon champs (par ex: france.gif)
mais rien ne raccorde ce champs à la class '.fr'
mon incompréhension vient peut être du fait que je ne comprend pas ce qu'est "ie"
dans votre première réponse.
sous peine de passer pour un #%& je pose quand même la question:
ie = internet explorer ??
je comprend le principe néanmoins quelques éléments m'échappent:
qu'est ce qui fait le lien par exemple entre la
.fr { background:url(france.gif) no-repeat; }
et la class de mon bouton -> class="'.$donne['logo'].
car dans mon bouton j'appelle le contenu de mon champs (par ex: france.gif)
mais rien ne raccorde ce champs à la class '.fr'
mon incompréhension vient peut être du fait que je ne comprend pas ce qu'est "ie"
dans votre première réponse.
sous peine de passer pour un #%& je pose quand même la question:
ie = internet explorer ??
Bonjour,
Pour mettre des images dans un select, la seule façon de faire est celle donnée par mahamid89.
Par contre, pour lier la classe CSS à ton champ en base de données, il faut simplement qu'ils soient identiques. Comme le point est interdit dans un nom de classe CSS (puisqu'il signifie, justement, « classe »), tu vas devoir modifier le contenu de ta table (ou rajouter une colonne), pour avoir la même chose des deux côtés.
Xavier
PS : ie, ici, signifie « c'est-à-dire », c'est une façon d'introduire l'explication qui suit, ce n'est pas du tout un terme informatique :p (En fait c'est une abréviation latine qui signifie, si je ne dis pas de bêtise, « in extenso » )
Pour mettre des images dans un select, la seule façon de faire est celle donnée par mahamid89.
Par contre, pour lier la classe CSS à ton champ en base de données, il faut simplement qu'ils soient identiques. Comme le point est interdit dans un nom de classe CSS (puisqu'il signifie, justement, « classe »), tu vas devoir modifier le contenu de ta table (ou rajouter une colonne), pour avoir la même chose des deux côtés.
Xavier
PS : ie, ici, signifie « c'est-à-dire », c'est une façon d'introduire l'explication qui suit, ce n'est pas du tout un terme informatique :p (En fait c'est une abréviation latine qui signifie, si je ne dis pas de bêtise, « in extenso » )
me revoilà après avoir suivis vos conseil, j'ai dû mal faire quelque chose car ça ne fonctionne pas.
Dans ma base de données j'ai changé le nom du champs en CSSLogo et chaque entrée s'appelle comme l'équipe.
ex club: France CSSLogo: France
si bien que option class="'.$donne['CSSLogo'].'" devrait bien être remplacer par ex"'.$donne['CSSLogo'].'" par France donc class="France" =.France
$cl =$bdd->prepare('SELECT * FROM clubs') or die(print_r($bdd->errorInfo()));
$cl->execute(array());
<?php echo '<select name="envoi_equipe1" size=1>';
while ($donne = $cl->fetch())
{
echo '<option class="'.$donne['CSSLogo'].'" value="'.$donne['club'].'">'.$donne['club'];
}
echo '</select>';
ma CSS ( je précise que les logo sont bien dans un dossier "logo"):
.France {
background-image: url(logo/France.png);
background-repeat: no-repeat;
}
Dans ma base de données j'ai changé le nom du champs en CSSLogo et chaque entrée s'appelle comme l'équipe.
ex club: France CSSLogo: France
si bien que option class="'.$donne['CSSLogo'].'" devrait bien être remplacer par ex"'.$donne['CSSLogo'].'" par France donc class="France" =.France
$cl =$bdd->prepare('SELECT * FROM clubs') or die(print_r($bdd->errorInfo()));
$cl->execute(array());
<?php echo '<select name="envoi_equipe1" size=1>';
while ($donne = $cl->fetch())
{
echo '<option class="'.$donne['CSSLogo'].'" value="'.$donne['club'].'">'.$donne['club'];
}
echo '</select>';
ma CSS ( je précise que les logo sont bien dans un dossier "logo"):
.France {
background-image: url(logo/France.png);
background-repeat: no-repeat;
}
visiblement ça viendrait de echo '<option class="'.$donne['CSSLogo'].'" value="'.$donne['club'].'">'.$donne['club'];
car même en appelant la class en direct :
echo '<option class="France" value="'.$donne['club'].'">'.$donne['club'];
ça ne fonctionne pas ...
car même en appelant la class en direct :
echo '<option class="France" value="'.$donne['club'].'">'.$donne['club'];
ça ne fonctionne pas ...
Bonjour,
Et si tu essaies d'écrire juste le html / css (sans php) de ce que tu veux, est-ce que tu arrives à obtenir quelque chose de convaincant ?
Xavier
Et si tu essaies d'écrire juste le html / css (sans php) de ce que tu veux, est-ce que tu arrives à obtenir quelque chose de convaincant ?
Xavier
alors j'ai essayé comme ça en dehors du php et ne fonctionne pas non plus:
<select name="envoi_equipe2" size=1>
<option class="France" value="joue"> match joué (défaut)
<option class="France" value="prolong"> après prolongations
<option class="France" value="tirsbut"> tirs au but
<option class="France" value="remis"> match remis
<option class="France" value="forfait"> match forfait
</select>
Mes CSS sont interne à ma page.
<select name="envoi_equipe2" size=1>
<option class="France" value="joue"> match joué (défaut)
<option class="France" value="prolong"> après prolongations
<option class="France" value="tirsbut"> tirs au but
<option class="France" value="remis"> match remis
<option class="France" value="forfait"> match forfait
</select>
Mes CSS sont interne à ma page.
l'appel à mes css se fait j'ai créer css body au dessous de ma .France et mis un background color #000; et ça marche ...
donc je pense que c'est <option class="" qui bloque
qu'en pensez vous ?
donc je pense que c'est <option class="" qui bloque
qu'en pensez vous ?
reponse à la suggestion de Mahamid89: malheureusement ça ne fonctionne pas non plus pour:
essayer ceci dans votre css
.France{ background:url((logo/France.png) no-repeat; }
essayer ceci dans votre css
.France{ background:url((logo/France.png) no-repeat; }
tient , essayer ceci
<select name="envoi_equipe2" size=1>
<option style="background:url(logo/France.png) no-repeat;" value="joue"> match joué (défaut)
<select name="envoi_equipe2" size=1>
<option style="background:url(logo/France.png) no-repeat;" value="joue"> match joué (défaut)
voici ce code html
<html>
<head>
<title>Test</title>
</head>
<body>
<select width="100">
<option style="background:url(logo/France.png) no-repeat;" value="1"> la france</option>
</select>
</body>
</html>
<html>
<head>
<title>Test</title>
</head>
<body>
<select width="100">
<option style="background:url(logo/France.png) no-repeat;" value="1"> la france</option>
</select>
</body>
</html>
ça ne marche pas non plus
j'ai fais une page html classique:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document sans nom</title>
</head>
<style>
.France{
background-image: url(logo/France.png) no-repeat;
}
</style>
<body>
<select name="envoi_formeMatch" size=1>
<option style="background:url(logo/France.png) no-repeat;" value="joue"> match joué (défaut)
<option style="background:url(logo/France.png) no-repeat;" value="prolong"> après prolongations
<option style="background:url(logo/France.png) no-repeat;" value="tirsbut"> tirs au but
<option style="background:url(logo/France.png) no-repeat;" value="remis"> match remis
<option style="background:url(logo/France.png) no-repeat;" value="forfait"> match forfait
</select>
</body>
</html>
j'ai fais une page html classique:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document sans nom</title>
</head>
<style>
.France{
background-image: url(logo/France.png) no-repeat;
}
</style>
<body>
<select name="envoi_formeMatch" size=1>
<option style="background:url(logo/France.png) no-repeat;" value="joue"> match joué (défaut)
<option style="background:url(logo/France.png) no-repeat;" value="prolong"> après prolongations
<option style="background:url(logo/France.png) no-repeat;" value="tirsbut"> tirs au but
<option style="background:url(logo/France.png) no-repeat;" value="remis"> match remis
<option style="background:url(logo/France.png) no-repeat;" value="forfait"> match forfait
</select>
</body>
</html>