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

Résolu/Fermé
nanynaz5 Messages postés 10 Date d'inscription dimanche 5 mars 2017 Statut Membre Dernière intervention 8 avril 2017 - Modifié par jordane45 le 21/03/2017 à 18:15
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 22 mars 2017 à 13:59
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
21 mars 2017 à 18:18
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 dimanche 5 mars 2017 Statut Membre Dernière intervention 8 avril 2017
Modifié par nanynaz5 le 21/03/2017 à 19:20
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
21 mars 2017 à 19:29
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 lundi 6 mars 2017 Statut Membre Dernière intervention 11 décembre 2017 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
Modifié par hidy0000 le 22/03/2017 à 13:39
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > hidy0000 Messages postés 15 Date d'inscription lundi 6 mars 2017 Statut Membre Dernière intervention 11 décembre 2017
22 mars 2017 à 13:59
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