{MySQL} insert multiple dans table
Fermé
kamou13
Messages postés
2
Date d'inscription
mercredi 14 octobre 2009
Statut
Membre
Dernière intervention
14 octobre 2009
-
14 oct. 2009 à 09:04
kamou13 - 14 oct. 2009 à 20:16
kamou13 - 14 oct. 2009 à 20:16
A voir également:
- {MySQL} insert multiple dans table
- Table ascii - Guide
- Table des matières word - Guide
- Touche insert - Guide
- Liste déroulante choix multiple excel - Guide
- Mysql community server - Télécharger - Bases de données
2 réponses
Bonjour kamou13,
Normalement une structure de donnée se conçoit avant de faire un tableau, et se base sur la manière dont les différentes données sont combinées, mais si on va au plus simple :
Du tableau, je déduit que
1) Tu références des personnes identifiées par leur nom et prénom
2) Pour chaque personne, tu associe une série de dates qui semblent être un jour précis de la semaine ( en supposant que X veut dire associé, et blanc veut dire non associé, comme par exemple Présent/Absent)
Tu as du coup plusieurs solutions, je t'en donne 2
Dans tous les cas, à mon avis, il faut créer une table qui ne contient que les personnes :
Créer une table que j'appelle PERSONNES qui possède 3 colonnes : code (int), nom (varchar(30) et prenom varchar(15)
en mysql, tu peux utiliser pour code le type autoincrement, qui renseigne tout seul 1,2,3 ...
Première option :
Si tu as toujours a stocker 4 dates dans le mois, tu peut créer une table :
Presencemensuelle avec 5 colonnes : code_personne, date_sem1, date_sem2, date_sem3,date_sem4
Deuxième option :
La deuxième, qui est beaucoup plus souple, mais plus complexe à mettre en oeuvre :
Toujours en utilisant la table PERSONNES,
Créer une deuxième table que j'appelle PRESENCES, qui contient 2 colonnes : code_personne, unedate.
Tu peux aussi, si tu n'est pas familier des requêtes SQL, faire cette table avec trois colonnes :
id_personne (int) , unedate (date) , present(tinyint si mysql)
tu peux avoir, pour cette table un index unique ou une clé primaine la clé primaire (code_personne, unedate)
Dans la colonne present, il y aura la valeur 0 ou 1 par exemple.
Ce qu'il faut savoir, c'est que la deuxième, qui est plus souple en stockage, t'obligera à utiliser une table dite "pivot" pour faire tes requêtes, ce qui est peut-être trop compliqué pour ton niveau, que, sans préjuger, je devine plus proche de débutant que d'expert !
Bon courage de toute façon
Normalement une structure de donnée se conçoit avant de faire un tableau, et se base sur la manière dont les différentes données sont combinées, mais si on va au plus simple :
Du tableau, je déduit que
1) Tu références des personnes identifiées par leur nom et prénom
2) Pour chaque personne, tu associe une série de dates qui semblent être un jour précis de la semaine ( en supposant que X veut dire associé, et blanc veut dire non associé, comme par exemple Présent/Absent)
Tu as du coup plusieurs solutions, je t'en donne 2
Dans tous les cas, à mon avis, il faut créer une table qui ne contient que les personnes :
Créer une table que j'appelle PERSONNES qui possède 3 colonnes : code (int), nom (varchar(30) et prenom varchar(15)
en mysql, tu peux utiliser pour code le type autoincrement, qui renseigne tout seul 1,2,3 ...
Première option :
Si tu as toujours a stocker 4 dates dans le mois, tu peut créer une table :
Presencemensuelle avec 5 colonnes : code_personne, date_sem1, date_sem2, date_sem3,date_sem4
Deuxième option :
La deuxième, qui est beaucoup plus souple, mais plus complexe à mettre en oeuvre :
Toujours en utilisant la table PERSONNES,
Créer une deuxième table que j'appelle PRESENCES, qui contient 2 colonnes : code_personne, unedate.
Tu peux aussi, si tu n'est pas familier des requêtes SQL, faire cette table avec trois colonnes :
id_personne (int) , unedate (date) , present(tinyint si mysql)
tu peux avoir, pour cette table un index unique ou une clé primaine la clé primaire (code_personne, unedate)
Dans la colonne present, il y aura la valeur 0 ou 1 par exemple.
Ce qu'il faut savoir, c'est que la deuxième, qui est plus souple en stockage, t'obligera à utiliser une table dite "pivot" pour faire tes requêtes, ce qui est peut-être trop compliqué pour ton niveau, que, sans préjuger, je devine plus proche de débutant que d'expert !
Bon courage de toute façon
14 oct. 2009 à 11:45
<HEAD>
<LINK rel="STYLESHEET" type="text/css" href="planning.css">
</HEAD>
<body>
<form action='enreg-mercredi.php' method=post>
<table border>
<tr>
<th>Code</th>
<th>Nom</th>
<th>Prenom</th>
<?
$mois = date("m");
$annee = date("Y");
$jour = date("d");
$db=mysql_connect('localhost','root','');
$req="SELECT * FROM calendrier WHERE num_mois='$mois' AND nom_jour='mercredi' AND annee='$annee'";
$result = mysql_db_query("param",$req);
$nomb=mysql_num_rows($result);
while($row2 = mysql_fetch_row($result))
{
$num_jour=$row2[3];
$num_mois=$row2[5];
$annee=$row2[6];
print "<th>$num_jour-$num_mois-$annee</th>";
}
$db=mysql_connect('localhost','root','');
$req1="SELECT * FROM ca";
$result1 = mysql_db_query("bories-sept",$req1);
$total = mysql_num_rows($result1);
print 'Nombre echanciers : '.$total;
while($row = mysql_fetch_array($result1))
{
$code=$row[0];
$nom=$row[1];
$prenom=$row[2];
$mercredi=$row[5];
if ($nomb=='4' and $mercredi=='O')
{
$mer_1='X';
$mer_2='X';
$mer_3='X';
$mer_4='X';
print "
<tr><td bgcolor=lightblue align=left>".$row['code']."</td>
<td bgcolor=lightblue align=left>".$row['nom']."</td>
<td bgcolor=lightblue align=left>".$row['prenom']."</td>
<td><input type='text' class='inp_align' size='1' name='mer_1' value='$mer_1'>".$row['$mer_1']."</td>
<td><input type='text' class='inp_align' size='1' name='mer_2' value='$mer_2'>".$row['$mer_2']."</td>
<td><input type='text' class='inp_align' size='1' name='mer_3' value='$mer_3'>".$row['$mer_3']."</td>
<td><input type='text' class='inp_align' size='1' name='mer_4' value='$mer_4'>".$row['$mer_4']."</td></tr>";
}
else if ($nomb=='4' and $mercredi=='')
{
print "<tr><td>$code</td>
<td>$nom</td>
<td>$prenom</td>
<td><input type='text' class='inp_align' size='1' name='mer_1' value=''>".$row['$mer_1']."</td>
<td><input type='text' class='inp_align' size='1' name='mer_2' value=''>".$row['$mer_2']."</td>
<td><input type='text' class='inp_align' size='1' name='mer_4' value=''>".$row['$mer_3']."</td>
<td><input type='text' class='inp_align' size='1' name='mer_3' value=''>".$row['$mer_4']."</td></tr>";
}
}
print "<br></table>";
?>
<br><br><br>
<input type=submit>
</form>
</body>
</html>
voici ma première page php, comme tu peux le voir les dates sont trouvées à partir de la table calendrier et le reste à partir de la table ca, et je voudrai enregistrer ces lignes dans une autre table avec comme champ le code,nom prenom, annee, mois et jour ainsi que 4 ou 5 champs pour les mercredis suivant les mois, et un X dans le mercredi choisi mais le problème est que je ne sais pas quoi mettre dans ma seconde page pour que l'enregistrement soit fait dans la table sous différentes lignes (une par code).
Merci