PB liste déroulante

Résolu
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009 - 28 mars 2006 à 10:24
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009 - 31 mars 2006 à 12:08
Bonjour!!

j'ai une base de données MySQL ou je rentre des infos diverses et une info que je rentre via une liste déroulante.
Lorsque je veux modifier ces données via une interface, je voudrais savoir comment faire pour que sur la liste déroulante, ce soit mon info qui s'affiche et non la première info de la liste déroulante.

Comment faire...???

Merci d'avance!!

22 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
31 mars 2006 à 11:32
$result = odbc_fetch_object( $requete ); // manquait le ;

$site=odbc_result($result,0,'Site');

pourquoi 2 ??
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
28 mars 2006 à 10:29
fais voir le code !
0
krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009 1
28 mars 2006 à 10:29
salut,
il faudrait je pense que tu recuperes ta variable et que dans ta liste déroulante tu l'appelles dans un <option selected> et le reste de ta liste dans des <option> normaux

bonne chance
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
28 mars 2006 à 10:40
Voila la partie du code, ce que j'ai testé en rouge ne fonctionne pas, ca m'affiche agen quoi qu'il y ait d'enregistre dans ma base....

<form name="Modification" action="modification3.php" method="POST">
">
<table border="0" cellspacing="2" cellpadding="2">
<tr align="right">
<td>Nom</td>
<td>Nom) ;?>"></td>
</tr>
<tr align="right">
<td>Site&nbsp;&nbsp;</td>
<td><select name="site" value="<?php echo($result->Site) ;?>">
<option value="AGEN">AGEN</option>
<option value="AIX EN PROVENCE">AIX EN PROVENCE</option>
<option value="BESANCON">BESANCON</option>
<option value="CAHORS">CAHORS</option>
<option value="CARROS">CARROS</option>
<option value="CASTELSARRASIN">CASTELSARRASIN</option>
<option value="CHASSIEU">CHASSIEU</option>
<option value="DAX">DAX</option>
<option value="DINAN">DINAN</option>
<option value="FLEURANCE">FLEURANCE</option>
<option value="GRAULHET">GRAULHET</option>
<option value="JOSSIGNY">JOSSIGNY</option>
<option value="LAFRANCAISE">LAFRANCAISE</option>
<option value="LANGON">LANGON</option>
<option value="LORIENT">LORIENT</option>
<option value="MARMANDE">MARMANDE</option>
<option value="MONTAUBAN">MONTAUBAN</option>
<option value="MONTOIR DE BRETAGNE">MONTOIR DE BRETAGNE</option>
<option value="NARBONNE">NARBONNE</option>
<option value="PERPIGNAN">PERPIGNAN</option>
<option value="PESSAC">PESSAC</option>
<option value="PLESSIS PATE">PLESSIS PATE</option>
<option value="POLOGNE">POLOGNE</option>
<option value="RENNES">RENNES</option>
<option value="RODEZ">RODEZ</option>
<option value="SAINT GALMIER">SAINT GALMIER</option>
<option value="TOULOUSE">TOULOUSE</option>
<option value="VALENCE D AGEN">VALENCE D AGEN</option>
<option value="VILLENEUVE D ASCQ">VILLENEUVE D ASCQ</option></td>
</select>
</tr>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
28 mars 2006 à 11:11
<select name="site" value="<?php echo($result->Site) ;?>">

ça ne marchera pas
il faut tester chaque entrée (tel que c'est fait)

echo "<option value='AGEN' ";
if($result->Site=='AGEN') echo " selected ";
echo ">AGEN</option>";
...
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
28 mars 2006 à 11:34
J'ai fait ca et ca ne marche pas...:

<td>Site&nbsp;&nbsp;</td>
<td><select name="site" value="<?php echo($result->Site) ;?>">

echo "<option value='AGEN' "; if($result->Site=='AGEN') echo " selected "; echo ">AGEN</option>";
echo "<option value='AIX EN PROVENCE' "; if($result->Site=='AIX EN PROVENCE') echo " selected "; echo ">AIX EN PROVENCE</option>";





</select>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
28 mars 2006 à 11:37
bon alors ça vient d'où
$result->Site ??
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
28 mars 2006 à 11:38
encore une fois ça , ça ne marchera pas

<select name="site" value="<?php echo($result->Site) ;?>">
0
herveguedj Messages postés 44 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 28 octobre 2009
28 mars 2006 à 11:41
il te manque un value selected dans tes combo box abec la var $php qui est chargée du resultat
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
28 mars 2006 à 11:46
Il faut que je vire ce qui est en rouge?
Il faut que je rajoute quoi ensuite comme variable..?

<td>Site&nbsp;&nbsp;</td>
<td><select name="site" value="<?php echo($result->Site) ;?>">

echo "<option value='AGEN' "; if($result->Site=='AGEN') echo " selected "; echo ">AGEN</option>";
echo "<option value='AIX EN PROVENCE' "; if($result->Site=='AIX EN PROVENCE') echo " selected "; echo ">AIX EN PROVENCE</option>";



</select>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
28 mars 2006 à 12:11
oui, vire ce qui est en rouge
0
herveguedj Messages postés 44 Date d'inscription dimanche 27 avril 2003 Statut Membre Dernière intervention 28 octobre 2009
28 mars 2006 à 12:24
Si j'ai bien compris tu veux que dans ton combo box, il affiche la valeur qui tu recuperes dans la base de données comme pour faire un update par exemple alors il faut que tu fassses comme suis :





Tu affiches la meme procedure dans ton code comme si tu voulais afficher la liste des données dans ta combo puis une ligne <option value="$tavaleur" selected>$ta valeur </option>


sinon poste un bout de code simplement de ta combo box
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
28 mars 2006 à 12:24
Ca ne marche toujours pas avec ce code :

<td><select name="site">

echo "<option value='AGEN' "; if($result->Site=='AGEN') echo " selected "; echo ">AGEN</option>";
echo "<option value='AIX EN PROVENCE' "; if($result->Site=='AIX EN PROVENCE') echo " selected "; echo ">AIX EN PROVENCE</option>";





</select>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
28 mars 2006 à 12:27
$result->Site vient d'où ????
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
28 mars 2006 à 12:29
De ma page précédente :

<?php
$base="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";

//connection au serveur:
$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;



//requête SQL:
$sql = "SELECT * FROM $Annuaire ORDER BY Nom" ;

//exécution de la requête:
$requete = odbc_do($cnx, $sql) ;

//affichage des données:
while( $result = odbc_fetch_object( $requete ) )
{
echo("
".$result->Nom." ".$result->Site." ".$result->Service."Numéro."">modifier
\n") ;
}
?>
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
28 mars 2006 à 12:31
A ce moment là, je selectionne le nom a modifier, et ca m'affiche les infos le concernant, sauf que sur la liste deroulante, ca m'affiche la 1ere valeur de la liste et non celle entree dans la base.
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
28 mars 2006 à 12:38
normal, tu ne transmets pas $result->Site à la page modification2

$site= $result->Site;
$id=$result->Numéro;
...

...
dans modifier2.php

$id=$_GET['id'];
$site=$_GET['site'];

echo "<option value='AGEN' "; if( $site =='AGEN') echo " selected "; echo ">AGEN</option>";
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
28 mars 2006 à 12:53
Je vois pas ou je dois mettre ça;
ma page 1:
<?php
$base= "D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";


//connection au serveur:
$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;



//requête SQL:
$sql = "SELECT * FROM $Annuaire ORDER BY Nom" ;

//exécution de la requête:
$requete = odbc_do($cnx, $sql) ;

//affichage des données:
while( $result = odbc_fetch_object( $requete ) )
{
echo("
".$result->Nom." ".$result->Site." ".$result->Service."Numéro."">modifier
\n") ;
}
?>

page 2:

<?php

$base="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";

//connection au serveur:
$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;



//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET["idPersonne"] ;

//requête SQL: $sql "SELECT * FROM $Annuaire WHERE Numéro ".$id ;


//exécution de la requête:
$requete = odbc_do($cnx, $sql);

//affichage des données:
if( $result = odbc_fetch_object( $requete ) )
{
?>

<td>


<form name ="Modification" action="modification3.php" method="POST">
">
<table border="0" cellspacing="2" cellpadding="2">
<tr align="right">
<td>Nom</td>
<td>Nom) ;?>"></td>
</tr>
<tr align="right">
<td>Site&nbsp;&nbsp;</td>
<td><select name="site">

echo "<option value='AGEN' "; if($site=='AGEN') echo " selected "; echo ">AGEN</option>";
echo "<option value='AIX EN PROVENCE' "; if($site=='AIX EN PROVENCE') echo " selected "; echo ">AIX EN PROVENCE</option>";





</select>

Merci!!!
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
28 mars 2006 à 17:38
je ne connais pas odbc mais

// requête SQL: $sql "SELECT * FROM $Annuaire WHERE Numéro ".$id ;

$result = odbc_fetch_row( $requete) ;
$nb=odbc_num_rows($requete);

$site=odbc_result($result,0,'Site'); // le nom du champ dans la bd

là, tu récupères bien le site correspondant à l'id , non ?

if($nb==1) // a la place de "if( $result = odbc_fetch_object( $requete ) )"
{
// et là tu as ton $site
<select...
...
</select>
}
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
31 mars 2006 à 09:47
Bon, j'ai fait ca et ca me donne une erreur Parse error, syntax error, unexpected T_VARIABLE sur la ligne en rouge:
//requête SQL: $sql "SELECT * FROM $Annuaire WHERE Numéro ".$id ;


//exécution de la requête:
$requete = odbc_do($cnx, $sql);
$nb=odbc_num_rows($requete);
$result = odbc_fetch_object( $requete )
$site=odbc_result($result,2,'Site'); // le nom du champ dans la bd

if($nb ==1) // a la place de "if( $result = odbc_fetch_object( $requete ) )"


// et là tu as ton $site




//affichage des données:
//if( $result = odbc_fetch_object( $requete ) )
{................

<td><select name="site">
echo "<option value='AGEN' "; if($site=='AGEN') echo " selected "; echo ">AGEN</option>";
echo "<option value='AIX EN PROVENCE' "; if($site=='AIX EN PROVENCE') echo " selected "; echo ">AIX EN PROVENCE</option>";


</select>
0
Rejoignez-nous