insertion multiple

Eléphanteau du PHP | 18 Messages

05 avr. 2006, 16:04

Salut !

J'aimerais savoir si il est possible de faire des insertion multiple dans une base de données c'est-à-dire plusieur tuple à la fois ?

Car en faite je remplie un tableau ou chaque colone correspond à une nouvelle entré (id). Le probleme c'est qu'il n'insère que la derniere à chaque fois

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

05 avr. 2006, 17:38

Salut,

Oui c'est possible:
INSERT INTO table (champ1, champ2) values (valeur1_1,valeur1_2), (valeur2_1,valeur2_2)
Mais c'est surtout une question qui aurait due être posée dans le Forum Base de données :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 18 Messages

06 avr. 2006, 08:33

Oui mais la tu inséer plus champ pas tuple dans mon cas c'est plusieur tuple voici le code tu va voir j'ai formulaire aui possède une partie pour le jour de lundi et un autre mardi et en faite lndi correspond à un tuple et pardi aussi.
Mais lorsque je valide ca il m'insere le dernier donc mardi pas le lundi ?
<?php 
$mysqlhost = "localhost"; 
$name = "root"; 
$password = ""; 
$bdd = "pointage"; 

if (isset($_POST['go']) && $_POST['go']=='Ajouter') { 
     
    //if ((isset($_POST['jours'])) && (isset($_POST['num_semaine']))) { 
        // si les 4 variables ne sont pas vides, et si l'adresse E-mail est valide, alors, et seulement dans ce cas, on fera notre insertion dans la base 
        //if ((!empty($_POST['jours'])) && (!empty($_POST['num_semaine']))) { 
            // on verifie le format de l'adresse E-mail saisie 
           // $test_mail = eregi ('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$', $_POST['agenda_email']); 
            //if ($test_mail) { 
                // on se connecte à notre base  
                $base = mysql_connect ($mysqlhost,$name,$password);   
                mysql_select_db ($bdd,$base);   

                // on prepare notre requête d'insertion des données 
                $sql = 'INSERT INTO saisie VALUES("", "'.addslashes($_POST['num_semaine']).'", "'.addslashes($_POST['jours']).'","'.addslashes($_POST['heur_arriv']).'","'.addslashes($_POST['heur_dep']).'","'.addslashes($_POST['heur_dep_pau']).'","'.addslashes($_POST['heur_ret_pau']).'","","'.addslashes($_POST['date']).'","'.addslashes($_POST['mois']).'","'.addslashes($_POST['annees']).'")'; 

                // on lance la requête 
                mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 

                // on ferme la connection à la base de données 
                mysql_close(); 

                // on redirige le visiteur vers l'accueil du livre d'or 
                //header('location: index.php'); 
             echo"enregistrement réussit cliquez <a href='index.php'>ici</a> pour revenir à la page des favorie."; 
                // on termine le scrit courant 
                exit(); 
            //} 
            //else { 
              //  $erreur = 'Votre adresse E-mail est invalide.'; 
         
          //} 
        //} 
       // else { 
        //    $erreur = 'Au moins un des champs est vide.'; 
        //} 
    //} 
    //else { 
      //  $erreur = 'Les variables nécessaires au script ne sont pas définies.'; 
   // } 
} 
?> 
<html>  
<head>  
<title>Insérer une nouvelle feuille de pointage</title>  
<SCRIPT language="JavaScript" type="text/javascript"> 
  <!-- 
    //Saisie d'un memo 
    function saisieOK(theForm) { 
    if (theForm.jours.value == "") { 
        window.alert("Veuillez entrer le jours"); 
        theForm.jours.focus(); 
        return (false); 
      } 
      if (theForm.heur_arriv.value == "") { 
        window.alert("Veuillez entrer la description pour la catégorie"); 
        theForm.heur_arriv.focus(); 
        return (false); 
      } 
if (theForm.heur_ret.value == "") { 
        window.alert("Veuillez entrer la description pour la catégorie"); 
        theForm.heur_ret.focus(); 
        return (false); 
      } 
if (theForm.heur_dep_pau.value == "") { 
        window.alert("Veuillez entrer la description pour la catégorie"); 
        theForm.heur_dep_pau.focus(); 
        return (false); 
      } 
if (theForm.heur_ret_pau.value == "") { 
        window.alert("Veuillez entrer la description pour la catégorie"); 
        theForm.heur_ret_pau.focus(); 
        return (false); 
      } 

    theForm.submit(); 
      return (true); 
    } 
  //--> 
  </SCRIPT> 
</head>  
<body>  
<center> 
<h2>Enregistrer une nouvelle feuille de pointage</h2> 
</center>  
<br>  
<br> 
<center> 
<form action="insert.php" method="post" name="ajout"> 
<table> 
<hr> 
<tr><td> 
<span class="gras">Numero de semaine :</span> 
</td><td> 
<select name="num_semaine" value="<?php if (isset($_POST['num_semaine'])) echo stripslashes(htmlentities(trim($_POST['num_semaine']))); ?>"> 
<?php  
$int=50; 
for($i=1; $i != $int ; $i++)  
{ 
echo"<option>"; 
echo"$i<br>";  
echo"</option>"; 
}  
?> 
</select> 
</td></tr> 
<tr><td> 
<span class="gras">Jours :</span> 
</td><td> 
<select name="date" value="<?php if (isset($_POST['date'])) echo stripslashes(htmlentities(trim($_POST['date']))); ?>"> 
<option>1</option> 
<option>2</option> 
<option>3</option> 
<option>4</option> 
<option>5</option> 
<option>6</option> 
<option>7</option> 
<option>8</option> 
<option>9</option> 
<option>10</option> 
<option>11</option> 
<option>12</option> 
<option>13</option> 
<option>14</option> 
<option>15</option> 
<option>16</option> 
<option>17</option> 
<option>18</option> 
<option>19</option> 
<option>20</option> 
<option>21</option> 
<option>22</option> 
<option>23</option> 
<option>24</option> 
<option>25</option> 
<option>26</option> 
<option>27</option> 
<option>28</option> 
<option>29</option> 
<option>30</option> 
<option>31</option> 
</select> 
</td></tr> 
<tr><td> 
<span class="gras">Mois :</span> 
</td><td> 
<select name="mois" value="<?php if (isset($_POST['mois'])) echo stripslashes(htmlentities(trim($_POST['mois']))); ?>"> 
<option>Janvier</option> 
<option>Frévrier</option> 
<option>Mars</option> 
<option>Avril</option> 
<option>Mais</option> 
<option>Juin</option> 
<option>Juillet</option> 
<option>Août</option> 
<option>Septembre</option> 
<option>Octobre</option> 
<option>novembre</option> 
<option>Decembre</option> 
</select> 
</td></tr> 
<tr><td> 
<span class="gras">Années :</span> 
</td><td> 
<select name="annees" value="<?php if (isset($_POST['annees'])) echo stripslashes(htmlentities(trim($_POST['annees']))); ?>"> 
<?php  
$int=3001; 
for($i=2005; $i != $int ; $i++)  
{ 
echo"<option>"; 
echo"$i<br>";  
echo"</option>"; 
}  
?> 
</select> 
</td></tr> 
<table border="1"> 
<tr> 
 <td> 
  Jours 
 </td> 
 <td> 
  heure d'arrivé 
 </td> 
 <td> 
  heure de départ 
 </td> 
 <td> 
  heure départ pause 
 </td> 
 <td> 
  heure retour pause 
 </td> 
</tr> 
<tr> 
<td> 
<input type="text" name="jours" maxlength="50" size="10" value="Lundi"> 
</td> 
<td> 
<input type="text" name="heur_arriv" maxlength="50" size="10" value="<?php if (isset($_POST['heur_arriv'])) echo stripslashes(htmlentities(trim($_POST['heur_arriv']))); ?>"> 
</td> 
<td> 
<input type="text" name="heur_dep" maxlength="50" size="10" value="<?php if (isset($_POST['heur_dep'])) echo stripslashes(htmlentities(trim($_POST['heur_dep']))); ?>"> 
</td> 
<td> 
<input type="text" name="heur_dep_pau" maxlength="50" size="10" value="<?php if (isset($_POST['heur_dep_pau'])) echo stripslashes(htmlentities(trim($_POST['heur_dep_pau']))); ?>"> 
</td> 
<td> 
<input type="text" name="heur_ret_pau" maxlength="50" size="10" value="<?php if (isset($_POST['heur_ret_pau'])) echo stripslashes(htmlentities(trim($_POST['heur_ret_pau']))); ?>"> 
</td> 
</tr> 


<tr> 
<td> 
<input type="text" name="jours" maxlength="50" size="10" value="Mardi"> 
</td> 
<td> 
<input type="text" name="heur_arriv" maxlength="50" size="10" value="<?php if (isset($_POST['heur_arriv'])) echo stripslashes(htmlentities(trim($_POST['heur_arriv']))); ?>"> 
</td> 
<td> 
<input type="text" name="heur_dep" maxlength="50" size="10" value="<?php if (isset($_POST['heur_dep'])) echo stripslashes(htmlentities(trim($_POST['heur_dep']))); ?>"> 
</td> 
<td> 
<input type="text" name="heur_dep_pau" maxlength="50" size="10" value="<?php if (isset($_POST['heur_dep_pau'])) echo stripslashes(htmlentities(trim($_POST['heur_dep_pau']))); ?>"> 
</td> 
<td> 
<input type="text" name="heur_ret_pau" maxlength="50" size="10" value="<?php if (isset($_POST['heur_ret_pau'])) echo stripslashes(htmlentities(trim($_POST['heur_ret_pau']))); ?>"> 
</td> 
</tr> 

</table> 
<tr><td colspan="2"> 
</td></tr> 
<tr><td> 
<input type="submit" name="go" value="Ajouter" onClick="javascript: return saisieOK(document.ajout);">  
</td> 
</form> 
<td align="right"><form method=get action='index.php'><input type=submit value='Annuler'></td></form> 
</tr></table> 
</center> 

</body> 
</html> 
Merci

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

06 avr. 2006, 19:53

Oui mais la tu inséer plus champ pas tuple
eh bien si il s'agit de tuples.

Un tuple correspond à une ligne de données:
INSERT INTO table (champ1, champ2) values (valeur1_1,valeur1_2), (valeur2_1,valeur2_2)
Les champs sont champ1 et champ2

Les valeurs enregistrées dans la BD sont:
(valeur1_1,valeur1_2) 1er tuple
(valeur2_1,valeur2_2) 2eme tuple

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 18 Messages

07 avr. 2006, 08:15

Oki mais champ1 et 2 correspondent à quoi dans mon script car champs1_1... je vois se que c'est, ils correspondent au name de mon formulaire.

Merci

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

08 avr. 2006, 14:16

Oki mais champ1 et 2 correspondent à quoi dans mon script
Ce sont les noms des champs de la base de donnée où les valeurs "champs1_1" et "champs1_2" seront enregistrées

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute