recuperation de données sur une liste avec champs mixés

micka
Invité n'ayant pas de compte PHPfrance

14 déc. 2005, 12:45

j'ai donc une liste déroulant qui contient des champs mixés.
je souhaite donc récupérer mes champs pour incrémenter ma base.
problème les champs s'incrémenter à 0 alors que mes valeurs sont de 1 à 5 (id_site).
je n'est pas de messages d'erreur.

 
if ( (isset($_POST['matricule'])) && ($_POST['matricule'] != '') ) 
{ 
echo 'toto';
// Connexion à la base de donnée 
$connexion = mysql_connect('localhost','root','') or die('Erreur de connexion '.mysql_error()); 

//Sélection de la base 
mysql_select_db('base_portable',$connexion)  or die('Erreur de selection '.mysql_error()); 

// requete 
$requete = "INSERT INTO utilisateur (matricule,nom,prenom,id_site,telephone,id_service) VALUES ('".$_POST['matricule']."','".$_POST['nom']."','".$_POST['prenom']."','".$_POST['id_site']."','".$_POST['telephone']."','".$_POST['id_service']."')"; 

// execution de la requete 
mysql_query($requete) or die('Erreur SQL !'.$requete.'<br>'.mysql_error()); 

// Fermeture de la connexion 
mysql_close(); 
} 

<title>ajout_utilisateurs</title>
</head>

<body>
<html>
<form action="#" method="post" name="formulaire">
<br><br>
Numéro matricule : <input type="text" name="matricule">
<br><br>
<br><br>
Nom : <input type="text" name="nom">
<br><br>
<br><br>
Prenom : <input type="text" name="prenom">

<select name="liste_site" size="1">
// Connexion à la base de donnée
$connexion = mysql_connect('localhost','root','');

// requete
$requete = "SELECT * FROM sites";

// execution de la requete
$resultat = mysql_db_query('base_portable', $requete, $connexion);

// Fermeture de la connexion
mysql_close($connexion);

while ($a_resultat = mysql_fetch_array($resultat)) { 
    echo "<option value=\"".$a_resultat['id_site'].$a_resultat['nom_site']."\">".$a_resultat['id_site'].$a_resultat['nom_site']."</option>"; 
} 
</select>

Mammouth du PHP | 19672 Messages

14 déc. 2005, 12:48

Fais afficher ta requête pour la tester directement via phpMyAdmin, tu auras une idée du retour plus précise.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

micka
Invité n'ayant pas de compte PHPfrance

14 déc. 2005, 13:06

apparement j'ai un probleme dans ma facon de faire passer mes variables id-site et is_service, elles passes bien en dur mais en execution sur l'originale myadmin renvoi une erreur pres de la ligne 1 sur mon insert.
c'est donc le POST qui pose probleme

Mammouth du PHP | 19672 Messages

14 déc. 2005, 13:29

Sans voir la requête en question, impossible de te répondre.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

14 déc. 2005, 13:40

Remarque : c'est exactement pour cela que le SELECT * n'est pas bien.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

micka
Invité n'ayant pas de compte PHPfrance

14 déc. 2005, 15:40

c'est de ma requete insert dont il est question.
pourquoi le select * from n'est pas bien ?

micka
Invité n'ayant pas de compte PHPfrance

14 déc. 2005, 15:45

c'est bon j'ai trouvé merci c'était dans ma requete insert, jze faisais passer le POST sur le champ $_POST['id_site'] alors qu'il fallé le faire passer sur le nom de mon selct $_POST['liste_site'].
merci du coup de MAIN.

[RESOLU]

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

14 déc. 2005, 15:51

c'est de ma requete insert dont il est question.
pourquoi le select * from n'est pas bien ?
Parce que tu ne maîtrises pas le nom des champs (tu n'es pas certain qu'ils existent...) et de plus, tu peux rapatrier des données inutiles (prend des ressources pour rien).
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.