entrées multiple en base mysql
le 10/11/2004 à 10:25
adev
Bonjour,
j'ai dans mon formulaire la possibilité de mettre a jour les salaires des employés,la liste des employés se trouve dans une base de donnees mysql,
imaginons que j'ai 10 salariés,mon formulaire se presente comme ca:
Montant du salaire: ****
Choisir employés: (case a cocher)
employé 1
employé 2
...
employé 10
je voudrais que le salaire soit modifier pour les employés selectionnés, donc je veux affecter la valeur saisie dans plusieurs champ,
est-ce possible, j'espere que vous comprendrez
merci
dans ta balise checkbox tu précise le name en tant que tableau => name="employe[]" et comme valeur leur identifiant.
à la recup $_POST['employe'] te retournera donc un tableau avec les identifiants dedans.
zebdinou pour les intimes / Blog : http://www.zebden.fr
le 10/11/2004 à 11:51
adev
je n'y arrive pas, qu'est-ce qui ne va pas dans mon code?
page de formulaire:
<html>
<head>
<title>post</title>
</head>
<body>
<? include "connection.php";
if ($connect){
//connexion reussie
//création de la requête
echo "<FORM action='emp_2.php' method='POST'>";
echo '<br><br>montant salaire: <input type=text name="sal" size=40>';
echo '<br><br><br>';
$query="select * from employe";
$result=mysql_query($query) or die(mysql_error());
//résultat de la requête dans la liste déroulante
echo '<table width="30%" border="0">';
while($row = mysql_fetch_array($result)){
echo "<tr><td><input type='checkbox' name='emp[]' value='$row[0]'>$row[1]</td>
</tr>";
}
echo '</table>';
echo '<p><input type="submit" name="valid" value="Continuer" >';
echo '<br><input type="reset" value="effacer"></p>';
echo '</form>';
}
else echo "problème à la connexion <br>";
mysql_close($connect);
?>
</body>
</html>
et voici la page de resultat:
<html>
<head>
<title>test ajout</title>
</head>
<body>
<? include "connection.php";
$nb = 0;
$euro = $_POST['sal'];
$nom = $_POST['emp'];
if ($connect){
$query="select montant from salaire";
$result= mysql_db_query($bdd, $query, $connect) or die(mysql_error());
if (mysql_fetch_row($result)){
while($row = mysql_fetch_row($result)){
if ($row[0] == $nom)
{
$nb = 1;
}
}
if ($nb == 0)
{
$query="insert into salaire ('montant','nom') values('$euro','$nom')";
$result= mysql_db_query($bdd, $query, $connect);
echo"c'est bon!";
}
else
echo "c'est pas bon";
}
}
else
echo "problème à la connexion<br>";
mysql_close($connect);
?>
</body>
</html>
peux-tu m'aider?
merci
Note de zebden : Merci d'utiliser le bccode et les balise code pour une plus grande clareté à la lecture
[Message modifié le 10/11/2004 à 12:03 par zebden]
Parce que Nom c'est un tableau ... donc regarde la notion de tableau Array();
et tu as print_r($_POST['emp']) pour un visuel du tableau ou var_dump()
zebdinou pour les intimes / Blog : http://www.zebden.fr
le 10/11/2004 à 13:47
adev
je n'ai pas réussi à adapter le code à mon cas,
comment fais tu?
merci
Tout depends ce que tu veux faire , si tu veux faire un enregistrement par id recuperer ou bien inserer toutes les ids contenus dans le tableau dans un seul champs separer par un separateur.
Moi je te conseille d'aller voir du coté des array pour que tu comprenne la notion de tableau , une fois assimilée tu n'aura aucun probleme a mettre en place ce que tu veux.
zebdinou pour les intimes / Blog : http://www.zebden.fr
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: