Insérer plusieurs tuples ayant le même id en php

Résolu
nanynaz5 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Je veux insérer plusieurs tuples ayant le même id en php j'ai essayé un code mais l'insertion n'est pas effectué svp aidez moi
<?php

$dsn="sqlserver1";
$username ="sa";
$password="pi";
$sqlconnect =odbc_connect($dsn,$username,$password)or die (odbc_error());
odbc_exec($sqlconnect,"use UsthbOreintation");

$rs=odbc_exec($sqlconnect,"select count(ouvert) as ouvert
 from OUVERTURE_PAR_LICENCE where liccode='903' and ouvert='oui'");

$result=odbc_exec($sqlconnect,"select designation from OUVERTURE_PAR_LICENCE ,MASTER where OUVERTURE_PAR_LICENCE.CODEMASTER=master.CODEMASTER and liccode='903' and ouvert='oui'");
$i=1;
$count=odbc_fetch_object($rs);
 $coun=$count->ouvert;
?>





<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Sortable - Default functionality</title>
  <link rel="stylesheet" href="jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <style>
  #sortable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
  #sortable li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; }
  #sortable li span { position: absolute; margin-left: -1.3em; }
  .input{color:rgb(255,255,255); border-color: rgb(212,63,58);
    width:60px;padding-left: :200px; height: 20px; padding-right: 600px;

  }
  </style>
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  <script>
  $( function() {
    $( "#sortable" ).sortable();
    $( "#sortable" ).disableSelection();
  } );
  </script>
</head>
<body>
 <form>

   <div class="input">

      <input type="text" name="mat" id="mat" placeholder="entrer le matricule " class="form-control-name-id"/>
    </div>
   <p> </p>
   <br>
<ul id="sortable">
 <?php while($i<=$coun && $ET=odbc_fetch_row($result)){?>




  <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span> <?php  $codemaster=odbc_result($result,"designation");

             echo "$codemaster<br>"; ?></li>
 <?php $i++ ;}?>
</ul>
  <input type="submit" class="btn btn-info" value="valider">
</form>
 <?php 

if (isset($_POST["mat"]))
  for($j=0;$j<$coun;$j++){

  $query ="insert into VOEUX (MAT,CODEMASTER ) values ('".$_POST["mat"]."','".$_POST["name"][$j]."')";
$p=odbc_exec($sqlconnect,$query);
if(!$p){
  die (odbc_error());
}

}

 ?>
</body>
</html>

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour ( Si si ... on COMMENCE par ça !!!! )

Quel est le code généré de ton formulaire html ( clic droit dans ton navigateur, afficher le code source ) ?

Que donnes un
print_r($_POST);


Y-a t'il un message d'erreur ?

0
nanynaz5 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Print_r($_POST);
Ça donne rien






<!doctype html>
<html lang="en">
<head>

<form>

<div class="input">

<input type="text" name="mat" id="mat" placeholder="entrer le matricule " class="form-control-name-id"/>
</div>
<p> </p>
<br>
<ul id="sortable">
<?php while($i<=$coun && $ET=odbc_fetch_row($result)){?>




<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span> <?php $codemaster=odbc_result($result,"designation");

echo "$codemaster<br>"; ?></li>
<?php $i++ ;}?>
</ul>

</body>
</html>



C le code du formulaire la list ul c'est du jquery elle est dynamique
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
je ne veux pas le code source php ... je veux le code GENERE ...
Tu affiches la page sur ton navigateur .. puis tu fais un clic-droit : "afficher le code source" ou "code source de la page" (ça dépend du navigateur)

Sachant que seuls les éléments de type INPUT / SELECT / TEXTAREA .. sont remontés dans un SUBMIT .
Un LI tout seul n'est pas récupéré !!!
0
hidy0000 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
bonsoir jordane

on veut afficher des spécialités qui sont dynamique des fois 3 ou 5 etc... après l'utilisateur doit les ordonner et on doit insérer ses choix dans la base de donner ,chaque choix avec son numéro d'ordre voila!

print_r($_POST); elle affiche :
array()

voici le cdoe généré
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Sortable - Default functionality</title>
 
  <link rel="stylesheet" href="jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <style>
  #sortable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
  #sortable li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; }
  #sortable li span { position: absolute; margin-left: -1.3em; }
  .input{color:rgb(255,255,255); border-color: rgb(212,63,58);
    width:60px;padding-left: :200px; height: 20px; padding-right: 600px;

  }
  </style>

  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  <script>

  $( function() {
    $( "#sortable" ).sortable();
    $( "#sortable" ).disableSelection();
  } );
  </script>
  
</head>
<body>

 <form>

   <div class="input">

      <input type="text" name="mat" id="mat" placeholder="entrer le matricule " class="form-control-name-id"/>
    </div>
   <p> </p>
   <br>
<ul id="sortable">
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.S2I<br>               
           </li>
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.IL<br>               
           </li>
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.RSD<br>               
           </li>
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.SSI<br>               
           </li>
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.ARCH.PARAL.CAL.INT<br>               
           </li>
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.MATH.INF.DEC<br>               
           </li>
     </ul>
Array
(
)

  
  <input type="submit" class="btn btn-info" value="valider">
</form>

 done !</body>
</html>


merci
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > hidy0000 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Donc c'est cette partie là que tu veux récupérer :
<ul id="sortable">
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.S2I<br>               
           </li>
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.IL<br>               
           </li>
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.RSD<br>               
           </li>
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.SSI<br>               
           </li>
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.ARCH.PARAL.CAL.INT<br>               
           </li>
     
           <li class="ui-state-default">
               <span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
                MAS.MATH.INF.DEC<br>               
           </li>
     </ul>

Sauf que comme je te l'ai indiqué précédement ... ce ne sont pas des input .. ni des select .. ni des textarea.
Ils ne sont donc pas récupérés via le SUBMIT de ton formulaire.


Pour les récupérer, il faudrait, en javascript, récupérer ces éléments et les mettre dans un (ou plusieurs.. à voir...) INPUT de type "hidden".
Ainsi tu pourrais les retrouver dans ton SUBMIT.


par exemple:
Côté HTML ajouté ceci dans ton FORM
<input name="new_order" value="" type="hidden" />


Côté Javascript :
$("#sortable").sortable({
    stop: function(event, ui) {
        var data = "";

        $("#sortable li").each(function(i, el){
            var p = $(el).text().toLowerCase().replace(" ", "_");
            data += p+"="+$(el).index()+",";
        });
        $("form > [name='new_order']").val(data.slice(0, -1));
    }
});
0