Liste menu et zone de texte
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous !
Je rencontre un petit problème en php.
Ce code récupère la liste des articles de ma table.
Je souhaiterais qu'à la sélection de l'article depuis ma liste de menu, l'image (qui est aussi un champ 'Image') s'affiche dans l'input Image :
Pouvez-vous m'aider svp ?
Je rencontre un petit problème en php.
Ce code récupère la liste des articles de ma table.
Je souhaiterais qu'à la sélection de l'article depuis ma liste de menu, l'image (qui est aussi un champ 'Image') s'affiche dans l'input Image :
<select name="Article" id="Article" style="width:100%" >
<option selected="selected" disabled="disabled" style="font-style:italic; font-weight:bold">Sélectionnez...</option>
<?php $sql = " SELECT * FROM tb_produits_fr ORDER BY Designation ASC"; $result = mysql_query($sql) or die("Requete pas comprise"); while ($row=mysql_fetch_array($result)){ echo utf8_encode("<option>$row[Designation]</option>");} ?></select>
<input type="text" name="Image" id="Image" style="width:100%" readonly="readonly" value="" />
Pouvez-vous m'aider svp ?
A voir également:
- Liste menu et zone de texte
- Liste déroulante excel - Guide
- Alternative zone telechargement - Accueil - Outils
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Transcription audio en texte word gratuit - Guide
10 réponses
Tu veux que l'image s'inscrive dans le dernier input ?
ou tu veux que le contenu de la colonne "image" pour la ligne selectionnée, surement le chemin de l'image, s'y inscrive ?
si c'est la deuxieme solution, il faut placer un echo $variableCheminImage dans le Value du Input text !
Dernière ligne :
EDIT : Il faut que le tout soit dans le While.
J'ai rien testé, y'a peut etre des erreurs :)
ou tu veux que le contenu de la colonne "image" pour la ligne selectionnée, surement le chemin de l'image, s'y inscrive ?
si c'est la deuxieme solution, il faut placer un echo $variableCheminImage dans le Value du Input text !
Dernière ligne :
<input type="text" name="Image" id="Image" style="width:100%" readonly="readonly" value="<?echo $row[Designation];?>" />
EDIT : Il faut que le tout soit dans le While.
<select name="Article" id="Article" style="width:100%" >
<option selected="selected" disabled="disabled" style="font-style:italic; font-weight:bold">Sélectionnez...</option>
<?php $sql = " SELECT * FROM tb_produits_fr ORDER BY Designation ASC"; $result = mysql_query($sql) or die("Requete pas comprise"); while ($row=mysql_fetch_array($result)){
echo utf8_encode("<option>$row[Designation]</option>"); ?></select>
<input type="text" name="Image" id="Image" style="width:100%" readonly="readonly" value="<?echo $row[Designation];?>" />
J'ai rien testé, y'a peut etre des erreurs :)
Bonjour et merci pour ta réponse.
En effet, il y a un problème. J'avais déjà fais exactement pareil que toi :
Le problème est qu'il me donne dans le select la première ligne de ma table et dans l'input, limage et...
EDD: Là il me duplique l'input et me met ceci :
jusqu'au dernier enregistrement
En effet, il y a un problème. J'avais déjà fais exactement pareil que toi :
<select name="Article" id="Article" style="width:100%" >
<option selected="selected" disabled="disabled" style="font-style:italic; font-weight:bold">Select...</option>
<?php $sql = " SELECT * FROM tb_produits_fr ORDER BY Code ASC"; $result = mysql_query($sql) or die("Requete pas comprise"); while ($row=mysql_fetch_array($result)){echo utf8_encode("<option>".$row[Designation]."</option>"); ?></select>
<span class="Espace10"></span><input type="text" name="Image" id="Image" style="width:100%" readonly="readonly" value="<?php echo $row[Image];} ?>" />sauf que j'ai mis <?php echo $row[Image];} ?>à la place de
<?php echo $row[Designation]; ?>
Le problème est qu'il me donne dans le select la première ligne de ma table et dans l'input, limage et...
<option>Crème Clarifiante en tube</option></select><span class=ce reste de code.
EDD: Là il me duplique l'input et me met ceci :
CFSIVS.png<option>Crème Clarifiante en tube</option></select><span class=
jusqu'au dernier enregistrement
Tu peux donner un exemple de ce que contient la colonne image s'il te plait, que je comprenne mieux le problème ? :)
Biensûre !
Voici la table
Ensuite, depuis un select, je récupère la Designation comme ceci:
Ensuite, j'ai un input qui doit afficher, selon la sélection de la liste déroulante, le chemin de l'image.
Exemple :
On comprends donc que si je sélectionne Lait de beauté depuis mon select, 9BQT9.png s'affichera dans l'input...
Voici la table
CREATE TABLE IF NOT EXISTS 'tb_produits_fr' (
'NumId' int(11) NOT NULL AUTO_INCREMENT,
'Code' varchar(255) NOT NULL,
'Designation' varchar(255) NOT NULL,
'Image' varchar(255) NOT NULL,
PRIMARY KEY ('NumId'),
UNIQUE KEY 'NumId' ('NumId')
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Ensuite, depuis un select, je récupère la Designation comme ceci:
<select name="Article" id="Article" style="width:100%" >
<option selected="selected" disabled="disabled" style="font-style:italic; font-weight:bold">Select...</option>
<?php $sql = " SELECT * FROM tb_produits_fr ORDER BY Code ASC"; $result = mysql_query($sql) or die("Requete pas comprise"); while ($row=mysql_fetch_array($result)){echo utf8_encode("<option>".$row[Designation]."</option>");} ?></select>
Ensuite, j'ai un input qui doit afficher, selon la sélection de la liste déroulante, le chemin de l'image.
Exemple :
Code | Designation | Image | -------------------------------------------------- J9JBK | Crème de beauté | J9JBK.png | 9BQT9 | Lait de beauté | 9BQT9.png |
On comprends donc que si je sélectionne Lait de beauté depuis mon select, 9BQT9.png s'affichera dans l'input...
Ah ok autant pour moi j'avais pas compris ça comme ça. Hum il me semble pas que ça soit possible en utilisant seulement le PHP.
Il faut utiliser l'ajax je pense, de façon a ce que des que la selection du select change, il fasse une recherche dans la BDD pour trouver l'image correspondante.
Ou alors en Jquery, si ta base de donnée ne contient pas trop de donnée, tu peux tout charger dans un tableau a l'affichage de la page, et jquery detecte quand tu change de select, et change le contenu de l'input :)
Il faut utiliser l'ajax je pense, de façon a ce que des que la selection du select change, il fasse une recherche dans la BDD pour trouver l'image correspondante.
Ou alors en Jquery, si ta base de donnée ne contient pas trop de donnée, tu peux tout charger dans un tableau a l'affichage de la page, et jquery detecte quand tu change de select, et change le contenu de l'input :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Rajoute une requete en fonction de la selection :
Cela devrai fonctionner, rajoute ce code après le code du SELECT
Cordialement
Rajoute une requete en fonction de la selection :
if(isset($_REQUEST['Article'])){
$art=$_REQUEST['Article'];
$search="SELECT Image FROM tb_produits_fr WHERE Designation='$art' ;";
$res=mysql_query($search);
$row=mysql_fetch_array($res);
if(!empty($row['Image'])){
echo "<input type='text' name='Image' id='Image' style='width:100%' readonly='readonly' value='".$row['Image']."' />";
}
}
Cela devrai fonctionner, rajoute ce code après le code du SELECT
Cordialement
J'ai fais ceci:
Y a t-il une erreur ?
Et je ne comprends pas pourquoi
<select name="Article" id="Article" style="width:100%" >
<option selected="selected" disabled="disabled" style="font-style:italic; font-weight:bold">Sélectionnez...</option>
<?php $sql = " SELECT * FROM tb_produits_fr ORDER BY Code ASC";
$result = mysql_query($sql) or die("Requete pas comprise");
while ($row=mysql_fetch_array($result)){
echo utf8_encode("<option>".$row[Designation]."</option>");} ?></select>
<?php
if(isset($_REQUEST['Article'])){
$art=$_REQUEST['Article'];
$search="SELECT Image FROM tb_produits_fr WHERE Designation='$art' ;";
$res=mysql_query($search);
$row=mysql_fetch_array($res);
if(!empty($row['Image'])){
echo "<input type='text' name='Image' id='Image' style='width:100%' readonly='readonly' value='".$row['Image']."' />";}} ?>mais rien ne s'affiche.
Y a t-il une erreur ?
Et je ne comprends pas pourquoi
WHERE Designation='$art' ;";$art est dans le code...
Bonjour,
Modifie la ligne suivante lorsque tu crées tes options. Ton select retourne la valeur de l'option, ce que l'on définit par le paramètre value. Sans cela, il ne renverra rien, ce sera donc impossible de le récupérer lors du choix de l'utilisateur.
En ce qui concerne "WHERE Designation='$art' ;";", ceci est pour récupérer la valeur du champ Image pour l'article choisi. La clause WHERE va filtrer ton résultat selon l'article sur lequel clique l'utilisateur.
Il est récupéré avec la ligne suivante :
Modifie la ligne suivante lorsque tu crées tes options. Ton select retourne la valeur de l'option, ce que l'on définit par le paramètre value. Sans cela, il ne renverra rien, ce sera donc impossible de le récupérer lors du choix de l'utilisateur.
echo utf8_encode("<option value='".$row['Designation']."'>".$row['Designation']."</option>");} ?></select>
En ce qui concerne "WHERE Designation='$art' ;";", ceci est pour récupérer la valeur du champ Image pour l'article choisi. La clause WHERE va filtrer ton résultat selon l'article sur lequel clique l'utilisateur.
Il est récupéré avec la ligne suivante :
$art=$_REQUEST['Article'];
Je ne sais plus trop.
La liste déroulante affiche tout les articles, mais la zone Image n'est pas visible "même" quand je clique sur un article de la liste.
La liste déroulante affiche tout les articles, mais la zone Image n'est pas visible "même" quand je clique sur un article de la liste.
<select name="Article" id="Article" style="width:100%" >
<option selected="selected" disabled="disabled" style="font-style:italic; font-weight:bold">Sélectionnez...</option>
<?php $sql = " SELECT * FROM tb_produits_fr ORDER BY Code ASC";
$result = mysql_query($sql) or die("Requete pas comprise");
while ($row=mysql_fetch_array($result)){
echo utf8_encode("<option value='".$row['Designation']."'>".$row['Designation']."</option>");}?></select>
<?php
if(isset($_REQUEST['Article'])){
$art=$_REQUEST['Article'];
$search="SELECT Image FROM tb_produits_fr WHERE Designation='$art' ;";
$res=mysql_query($search);
$row=mysql_fetch_array($res);
if(!empty($row['Image'])){
echo "<input type='text' name='Image' id='Image' style='width:100%' readonly='readonly' value='".$row['Image']."' />";}} ?>
Le select doit être dans un formulaire pour fonctionner bien entendu.
Crée un formulaire englobant ta page, mets le en method=post
Puis change cela :
Lorsque tu choisiras une option de ton select, cela soumettra directement le formulaire, rechargeant ta page et faisant passer l'article choisi dans l'url.
Le code devrait ensuite fonctionner.
Si ce n'est pas le cas, envoie le code global avec le formulaire
Crée un formulaire englobant ta page, mets le en method=post
Puis change cela :
<select name="Article" id="Article" style="width:100%" onChange="submit()" >
Lorsque tu choisiras une option de ton select, cela soumettra directement le formulaire, rechargeant ta page et faisant passer l'article choisi dans l'url.
Le code devrait ensuite fonctionner.
Si ce n'est pas le cas, envoie le code global avec le formulaire
En mettant dans le "post", ma form doit normalement enregistrer le contenu dans la table.
Voici la page complète :
Lorsque je met
Punaise... je sais plus quoi faire moi :\
Voici la page complète :
<form method="post" action="ajout_conf.php" autocomplete="off">
<input type="hidden" name="action" value="send" />
<input type="hidden" name="access[]" value="home" />
<table width="1000" border="0" align="center" cellspacing="10" cellpadding="0">
<tr>
<td align="left">Article</td>
<td width="328" align="left"><select name="Article" id="Article" style="width:100%" onchange="submit()" >
<option selected="selected" disabled="disabled" style="font-style:italic; font-weight:bold">Sélectionnez...</option>
<?php $sql = " SELECT * FROM tb_produits_fr ORDER BY Code ASC";
$result = mysql_query($sql) or die("Requete pas comprise");
while ($row=mysql_fetch_array($result)){
echo utf8_encode("<option value='".$row['Designation']."'>".$row['Designation']."</option>");}?>
</select>
<?php
if(isset($_REQUEST['Article'])){
$art=$_REQUEST['Article'];
$search="SELECT Image FROM tb_produits_fr WHERE Designation='$art' ;";
$res=mysql_query($search);
$row=mysql_fetch_array($res);
if(!empty($row['Image'])){
echo "<input type='text' name='Image' id='Image' style='width:100%' readonly='readonly' value='".$row['Image']."' />";}} ?></td>
<td width="20" align="left"><img src="<?php echo URL_IMAGES; ?>fr_ico.png" width="16" height="11" /></td>
<td width="34" align="left"> </td>
<td width="328" align="left"><select name="Article2" id="Article2" style="width:100%" >
<option selected="selected" disabled="disabled" style="font-style:italic; font-weight:bold">Select...</option>
<?php $sql = " SELECT * FROM tb_produits_en ORDER BY Code ASC"; $result = mysql_query($sql) or die("Requete pas comprise");
while ($row=mysql_fetch_array($result)){
echo utf8_encode("<option>".$row[Designation]." - ".$row[Contenance]."</option>");} ?>
</select></td>
<td width="20" align="left"><img src="<?php echo URL_IMAGES; ?>en_ico.png" width="16" height="11" /></td>
</tr>
<tr>
<td align="left">Image</td>
<td colspan="5" align="left"> </td>
</tr>
<tr>
<td width="200" align="left" valign="top"> </td>
<td colspan="5" align="left" valign="top"><input type="submit" name="button" id="button" class="Btn BtnCyan" value="Enregistrer le cadeaux" /></td>
</tr>
</table>
</form>
Lorsque je met
<select name="Article" id="Article" style="width:100%" onchange="submit()" >il poste pour ajouter dans la table.
Punaise... je sais plus quoi faire moi :\