Erreur formulaire

Résolu
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009 - 4 avril 2006 à 09:51
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009 - 5 avril 2006 à 12:05
Bonjour,

j'ai une base de données qui contient un annuaire interne. J'ai donc une page qui me permet via un masque de saisie de rentrer mes infos dans la bdd; j'ai ensuite une page qui me permet de faire les modifs. Sur cette page, j'ai le masque de saisie qui s'affiche ou je récupère les infos présentes dans ma base et concernant la personne choisie.
J'ai un soucis car j'ai une liste déroulante et je n'arrive pas a faire afficher par défaut sur celle-ci le site correspondant à la personne, ca m'affiche toujours le premier site de la liste...
J'ai donc fait des modifs et j'ai l'erreur suivante : Warning: Wrong parameter count for odbc_result() elle point sur la ligne de code en rouge :
Merci!!
<?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);
$nb=odbc_num_rows($requete);
$result = odbc_fetch_object( $requete );
$site=odbc_result($result,0,'Site'); // le nom du champ dans la bd

if($nb== 1)
{


?>

<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>
</tr>

25 réponses

flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
4 avril 2006 à 14:52
Oui ça parait étrange.....
Sinon le code que j'utilise sur la page qui renvoie vers celle-ci est le suivant (l'erreur est peut être là mais je ne vois pas):

<?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
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
4 avril 2006 à 19:16
<tt>odbc_num_rows</tt>
retourne le nombre de lignes
dans un résultat ODBC.
<tt>odbc_num_rows</tt>

retournera -1 en
cas d'erreur.



c'est la requête, donc.

peut etre un pb de quotes essaie comme ça dans la page appelante



echo "
"

.$result->Nom

."
"

.$result->Site

." "

.$result->Service

."Numéro

." '>modifier

"
;
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
4 avril 2006 à 20:15
...
\n") ;



il doit y avoir un pb par là, non ?

je ne sais pas si \n c'est bien du html...
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
5 avril 2006 à 08:15
C'est toujours la même chose, ca me sort toujours -1 si je laisse mon echo de $nb.

Voila mon code maintenant :
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
" ;
}
?>

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);
$nb=odbc_num_rows($requete);
$result = odbc_fetch_object( $requete );
$site=$result->Site ;
echo "$nb";
if($nb==1) // a la place de "if( $result = odbc_fetch_object( $requete ) )"


{


?>
......
<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>
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
5 avril 2006 à 12:01
si tu regardes le source html généré par la page 1
comment est construite cette ligne ?
verifie la balise href et regarde si $result->Numero est bien alimenté

echo "
"
.$result->Nom
." "
.$result->Site
." "
.$result->Service
."Numéro
."'>modifier
" ;
}
0
Rejoignez-nous