[PHP+JS]BDD + Tableau html probleme lecture dans la BDD

Résolu
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 - Modifié par EnguerrandP le 28/04/2014 à 11:45
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 28 avril 2014 à 14:45
Bonjour,

Je suis entrain de faire une interface pour la gestion des heures de travail sur les différents projets par employer.

La fonction qui me permet de crée les tableaux HTML existe et fonctionne.
Mais je n'arrive pas a crée mes ligne par rapport a se qu'il y a dans la base de données avec le filtre choisit et je n'arrive pas a récupérer la dernière valeur de la colonne ID qui une fois incrémenter de 1 sera mit dans TI_PrimKey.

Voila mon code:
Script:
<script type="text/javascript">
$(function() 
{
   $('#inlineDatepick').datepick
   ({onSelect:
  function(dates)
     {
   // Creation des variables Date
      var dateText = $.datepick.formatDate(dates[0]);
         var dateArr = dateText.split("/");
   var mois=dateArr[1];
   switch(mois) 
   {
   case "Jan":
     var ArrMonth = "01";
   break;
   case "Feb":
     var ArrMonth = "02";
   break;
   case "Mar":
     var ArrMonth = "03";
   break;
   case "Apr":
     var ArrMonth = "04";
   break;
   case "May":
     var ArrMonth = "05";
   break;
   case "Jun":
     var ArrMonth = "06";
   break;
   case "Jul":
     var ArrMonth = "07";
   break;
   case "Aug":
     var ArrMonth = "08";
   break;
   case "Sep":
     var ArrMonth = "09";
   break;
   case "Oct":
     var ArrMonth = "10";
   break;
   case "Nov":
     var ArrMonth = "11";
   break;
   case "Dec":
     var ArrMonth = "12";
   break;
   }
         var IDfromDateText= dateArr[2] +"-"+ ArrMonth  +"-"+ dateArr[0];  
   
   // Creation des variables Worker
   var IDWorker= document.getElementById("TopWorker").value;
   var WorkerArw = IDWorker.split(" ");
   var IDfromWorker = WorkerArw[0] ;
   var NamefromWorker = WorkerArw[1]+" "+ WorkerArw[2];
   
   // Creation de la variable tableau Day/Worker
   var TDW = "#myDiv_TJour_"+IDfromDateText+'_'+IDfromWorker ;
   
   //Test si le tableau Day/Worker exist
   if ($(TDW).length > 0)
   {
    EraseDiv(TDW);
   }
  
    // L'element n'existe pas... je le crée ...
                CreateDiv(IDfromDateText,IDfromWorker,NamefromWorker,dates);

                // ...puis j'affiche le tableau
                ShowDiv(IDfromDateText,IDfromWorker,NamefromWorker);                           
     }
   });
});

function EraseDiv(TDW)
{
 $(TDW).remove()
}

function CreateDiv(idJour,idWorker,nameWorker,dates)
{
 
 var idNumLine = 0;
 
 //Je crée un nouveau div pour le tableau
    $("#Zone_Tab").append("<div name='MesTBL' id='myDiv_" + "TJour_" + idJour + '_' + idWorker + "'></div>");
 //On crée un tableau pour le jour X 
 $("#myDiv_" +"TJour_" + idJour+'_'+ idWorker).append('<table border="2" id="TJour_' + idJour+'_'+ idWorker + '"></table>').css("border","2px inset #000000");
 
 // Line Title
 $("#TJour_" + idJour+'_'+ idWorker).append('<tr align="center" id="Row1_' + idJour+'_'+ idWorker + '"></tr>'); 
 //Title New Line
 $("#Row1_" + idJour+'_'+ idWorker).append('<td bgcolor="#F0FFFF" width="80px">Option Line</td>');
 //On crée un Input pour la date
 $("#Row1_" + idJour+'_'+ idWorker).append('<td bgcolor="#F0FFFF" width="100px">Date</td>');
 //Title Request
 $("#Row1_" + idJour+'_'+ idWorker).append('<td bgcolor="#F0FFFF" width="105px">Request</td>');
 //Title Times (h)
 $("#Row1_" + idJour+'_'+ idWorker).append('<td bgcolor="#F0FFFF" width="55px">Time (h)</td>');
 //Title Description
 $("#Row1_" + idJour+'_'+ idWorker).append('<td bgcolor="#F0FFFF" width="330px">Description</td>');
 //Title Worker
 $("#Row1_" + idJour+'_'+ idWorker).append('<td bgcolor="#F0FFFF" width="175px">Worker</td>');
 //Title Worker
 $("#Row1_" + idJour+'_'+ idWorker).append('<td bgcolor="#F0FFFF" style="display:none"></td>');
 
 //Ajoute une ligne au tableau du jour
 $("#TJour_" + idJour+'_'+ idWorker).append('<tr align="center" class="TRow" id="Row2_' + idJour+'_'+ idWorker+'_'+ idNumLine + '"></tr>'); 
 //On ajoute les options
 $("#Row2_" + idJour+'_'+ idWorker+'_'+ idNumLine).append('<td bgcolor="#FFFFFF"><input type="button" value="New" style="width:100%" class="InsertLine" id="TNewLine_' + idJour+'_'+ idWorker +'_'+ idNumLine + '"></input><br /><input type="button" value="Delete" style="width:100%" class="Delete" onclick="DeleteLine(this.parentNode.parentNode);" id="TDeleteLine_' + idJour+'_'+ idWorker +'_'+ idNumLine + '"></input></td>');
 //On crée un Input pour la date
 $("#Row2_" + idJour+'_'+ idWorker+'_'+ idNumLine).append('<td bgcolor="#FFFFFF"><input type="date" style="width: 100%;" id="TDate_' + idJour+'_'+ idWorker +'_'+ idNumLine + '"></input></td>');
 //On crée un Select pour la tache
 $.ajax
 ({
  type: 'POST',
  data: {id_Jour : idJour+'_', id_Worker : idWorker+'_', id_NumLine : idNumLine},
  async: false,
  url:'TSRequest_Daily_Timer.ajx.php', 
  success:function(data) { $("#Row2_" + idJour+'_'+ idWorker+'_'+ idNumLine).append('<td bgcolor="#FFFFFF">'+data+'</td>');},
  error: function(error){alert("Erreur : " + error);}
 });
 //On crée un Input pour le Temps
 $("#Row2_" + idJour+'_'+ idWorker+'_'+ idNumLine).append('<td bgcolor="#FFFFFF"><input type="text" value="" style="width: 100%;" id="TTime_' + idJour+'_'+ idWorker+'_'+ idNumLine + '"></input></td>');
 //On crée une Zone de texte pour la description
 $("#Row2_" + idJour+'_'+ idWorker+'_'+ idNumLine).append('<td bgcolor="#FFFFFF"><textarea rows="2" cols="25" style="width: 100%;resize: none;" id="TTADescription_' + idJour+'_'+ idWorker +'_'+ idNumLine +'"></textarea></td>');
 //On crée un Input pour l employer
 $("#Row2_" + idJour+'_'+ idWorker+'_'+ idNumLine).append('<td bgcolor="#FFFFFF"><input type="text" style="width: 100%;" id="TIWorker_' + idJour+'_'+ idWorker +'_'+ idNumLine + '"></input></td>');
 //On crée un Input pour la clef primaire
 $("#Row2_" + idJour+'_'+ idWorker +'_'+ idNumLine).append('<td bgcolor="#FFFFFF"><input type="text" style="width: 100%;" value="" readonly="readonly" id="TIPrimKey_' + idJour+'_'+ idWorker +'_'+ idNumLine + '"></input></td>')
 
 // On met le nom de l'employer sélectionner dans l'input TSWorker+idJour+idWorker
 $("#TIWorker_"+idJour+'_'+ idWorker +'_'+ idNumLine).val(nameWorker);
  
 // On met la valeur de la date sélectionner dans l'input TDate+idJour+idWorker
 var dateText = $.datepick.formatDate(dates[0]);
 $("#TDate_"+idJour+'_'+ idWorker +'_'+ idNumLine).val(dateText); 

 //Create line witch the database + filter(Day/Worker) value
 $.ajax
 ({
  type: 'POST',
  data: {id_Jour : idJour+'_', id_Worker : idWorker+'_', id_NumLine : idNumLine},
  async: false,
  url:'Array_Create_Line_Daily_Timer.ajx.php', 
  success:function(data) { $("#Row2_" + idJour+'_'+ idWorker +'_'+ idNumLine).append('<td bgcolor="#FFFFFF">'+data+'</td>');},
  error: function(error){alert("Erreur : " + error);}
 }); 

   // Variable pour le clonage
 var Line ="#Row2_" + idJour+'_'+ idWorker +'_'+"0";
 var N_Line ="Row2_" + idJour+'_'+ idWorker;
 
 var ID_B_TNewLine = "#TNewLine_" + idJour+'_'+ idWorker+'_'+ idNumLine;
 var ID_B_TDeleteLine = "#TDeleteLine_" + idJour+'_'+ idWorker+'_'+ idNumLine;
 var ID_I_Date = "#TDate_" + idJour+'_'+ idWorker+'_'+ idNumLine ;
 var ID_S_Request = "#TSRequest_"+ idJour+'_'+ idWorker+'_'+ idNumLine;
 var ID_I_Time = "#TTime_" + idJour+'_'+ idWorker+'_'+ idNumLine ;
 var ID_TA_Description = "#TTADescription_" + idJour+'_'+ idWorker+'_'+ idNumLine ;
 var ID_I_Worker = "#TIWorker_" + idJour+'_'+ idWorker+'_'+ idNumLine;
 var ID_I_PrimKey = "#TIPrimKey_" + idJour+'_'+ idWorker+'_'+ idNumLine;
 
 var N_B_TNewLine = "TNewLine_" + idJour+'_'+ idWorker;
 var N_B_TDeleteLine = "TDeleteLine_" + idJour+'_'+ idWorker;
 var N_I_Date = "TDate_" + idJour+'_'+ idWorker ;
 var N_S_Request = "TSRequest_"+ idJour+'_'+ idWorker;
 var N_I_Time = "TTime_" + idJour+'_'+ idWorker ;
 var N_TA_Description = "TTADescription_" + idJour+'_'+ idWorker ;
 var N_I_Worker = "TIWorker_" + idJour+'_'+ idWorker;
 var N_I_PrimKey = "TIPrimKey_" + idJour+'_'+ idWorker;
 
 $('.InsertLine').click(function Insert_line()
 { 
  var V_PrimKey =" ";
  //Recover the Primary key value
  $.ajax
  ({
   type: 'POST',
   data: {V_Prim_Key : V_PrimKey},
   async: false,
   url:'Primary_Key_Daily_Timer.ajx.php', 
   success:function(data) {V_PrimKey },
   error: function(error){alert("Erreur : " + error);}
  });
  
  idNumLine++;
  
  // Clone line
  newLine = $(Line).clone(true);
  $(newLine).attr('id', N_Line +'_'+ idNumLine);  
  newLine.insertAfter("#Row1_" + idJour+'_'+ idWorker); 
  
  // Modify object id
  $('.InsertLine').attr("style", "visibility: hidden");
  $(ID_B_TNewLine).attr('id', N_B_TNewLine +'_'+ idNumLine).attr("style", "visibility: visible"); 
  $(ID_B_TDeleteLine).attr('id', N_B_TDeleteLine +'_'+ idNumLine);
  $(ID_I_Date).attr('id', N_I_Date +'_'+ idNumLine);    
  $(ID_S_Request).attr('id', N_S_Request +'_'+ idNumLine);   
  $(ID_I_Time).attr('id', N_I_Time +'_'+ idNumLine).val('');   
  $(ID_TA_Description).attr('id', N_TA_Description +'_'+ idNumLine);    
  $(ID_I_Worker).attr('id', N_I_Worker +'_'+ idNumLine);
  $(ID_I_PrimKey).attr('id', N_I_PrimKey +'_'+ idNumLine).val(V_PrimKey);

 });

}

function DeleteLine(line) 
{
 line.parentNode.removeChild(line);
}

function ShowDiv(idJour,idWorker)
{
    //On masque TOUS les tableaux
  $('div[name="MesTBL"]').hide(); 
 
    // On affiche celui que l'on a selectionné
  $('#myDiv_' + "TJour_" + idJour+'_'+ idWorker).show();   
}

</script>

ajax TSRequest
<?php
 include('connexion.php');
 $idJour = isset($_POST['id_Jour'])?$_POST['id_Jour']:'';  // !
 $idWorker = isset($_POST['id_Worker'])?$_POST['id_Worker']:'';  // !
 $idNumLine = isset($_POST['id_NumLine'])?$_POST['id_NumLine']:'';  // !
  
  if ($idJour)
  {
   $sql = "SELECT caetbl_Sim_requests.RequestID, caetbl_Sim_requests.Sim_Title ,caetbl_Sim_requests.ReportDate
     FROM caetbl_Sim_requests 
     WHERE caetbl_Sim_requests.ReportDate Is Null
     ORDER BY caetbl_Sim_requests.RequestID";

   $result = mysql_query($sql)or die("Requete pas comprise");

   echo "<select style=\"width: 100%;\" id=\"TSRequest_ $idJour$idWorker$idNumLine\"><option value=\"\" onChange=\"saveValue(this)\"></option>" ;
   while ($row=mysql_fetch_assoc($result))
   {
    echo "<option value=\"". $row['RequestID'] ." ". $row['Sim_Title'] ." ". $row['ReportDate'] ."\">"
      . $row['RequestID'] ." ". $row['Sim_Title'] ." ". $row['ReportDate'] ."</option>\n"; 
   }
   echo  "</select> ";
  }
  
 ?> 


ajax Prim_Key
<?php
 include('connexion.php');
 $V_PrimKey = isset($_POST['V_Prim_Key'])?$_POST['V_Prim_Key']:'';  // !

 $sql = "SELECT LAST_INSERT_ID(caetbl_timetracking.ID);
   FROM caetbl_timetracking" 
 $PrimKey = mysql_query($sql)or die("Requete pas comprise");
 //On crée un Input pour la clef primaire
 $V_PrimKey=$PrimKey+1:
 echo $V_PrimKey
 
 ?> 

ajax array_create_line:
<?php
 include('connexion.php');
 $idJour = isset($_POST['id_Jour'])?$_POST['id_Jour']:'';  // !
 $idWorker = isset($_POST['id_Worker'])?$_POST['id_Worker']:'';  // !
 $idNumLine = isset($_POST['id_NumLine'])?$_POST['id_NumLine']:'';  // !
 
 $sql = "SELECT caetbl_timetracking.date caetbl_timetracking.Worker 
   FROM caetbl_timetracking 
   WHERE caetbl_timetracking.date=$idJour & caetbl_timetracking.Worker=$idWorker "
 $Table_Time_Tracking=mysql_query($sql)or die("Requete pas comprise"); // $Table_Time_Tracking est un pointeur vers le tableau contenant le résultat de la requête

 while($Cols_Table=mysql_fetch_array($Table_Time_Tracking)) // $Cols_Table est un nouveau tableau contenant une ligne du tableau
 { //Si la ligne respect les conditions du filtre D/W on crée une nouvelle ligne contenant nos information 
 
  //On incrémente idNumLine a chaque nouvelle ligne du tableau html
  $idNumLine=$idNumLine+1:
  
  //Ajoute une ligne au tableau du jour
  $(\"#TJour_$idJour$idWorker\").append("<tr align=\"center\" class=\"TRow\" id=\"#Row2_$idJour$idWorker$idNumLine\"></tr>"); 
  //On ajoute les options
  $(\"#Row2_$idJour$idWorker$idNumLine\").append("<td bgcolor=\"#FFFFFF\"><input type=\"button\" value=\"New\" style=\"width: 100%;\" class=\"InsertLine\" id=\"TNewLine_$idJour$idWorker\"></input><br /><input type=\"button\" value=\"Delete\" style=\"width: 100%;\" class=\"Delete\" onclick=\"DeleteLine(this.parentNode.parentNode);\" id=\"TDeleteLine_$idJour$idWorker\"></input></td>");
  //On crée un Input pour la date
  $(\"#Row2_$idJour$idWorker$idNumLine\").append("<td bgcolor=\"#FFFFFF\"><input type=\"date\"  value=\"$Cols_Table[3]\" style=\"width: 100%;\" id=\"TDate_$idJour$idWorker\"></input></td>"); // Contains cols Date
  //On crée un Select pour la tache
  if ($idJour)
  {
   $sql2 = "SELECT caetbl_Sim_requests.RequestID, caetbl_Sim_requests.Sim_Title ,caetbl_Sim_requests.ReportDate
     FROM caetbl_Sim_requests 
     WHERE caetbl_Sim_requests.ReportDate Is Null
     ORDER BY caetbl_Sim_requests.RequestID";

   $result = mysql_query($sql2)or die("Requete pas comprise");

   echo $(\"#Row2_$idJour$idWorker$idNumLine\").append("<td bgcolor=\"#FFFFFF\"><select style=\"width: 100%;\" id=\"TSRequest_ $idJour$idWorker\"><option value=\"$Cols_Table[1]\" onChange=\"saveValue(this)\"></option>" ;
   while ($row=mysql_fetch_assoc($result))
   {
    echo "<option value=\"". $row['RequestID'] ." ". $row['Sim_Title'] ." ". $row['ReportDate'] ."\">"
     . $row['RequestID'] ." ". $row['Sim_Title'] ." ". $row['ReportDate'] ."</option>\n"; 
   }
   echo  "</select> </td>");
  }
  //On crée un Input pour le Temps
  $(\"#Row2_$idJour$idWorker$idNumLine\").append("<td bgcolor=\"#FFFFFF\"><input type=\"text\"  value=\"$Cols_Table[4]\" style=\"width: 100%;\" id=\"TTime_$idJour$idWorker\"></input></td>");
  //On crée une Zone de texte pour la description
  $(\"#Row2_$idJour$idWorker$idNumLine\").append("<td bgcolor=\"#FFFFFF\"><textarea rows=\"2\" cols=\"25\" style=\"width: 100%;resize: none;\" id=\"TTADescription_$idJour$idWorker\ value=\"$Cols_Table[2]\"></textarea></td>");
  //On crée un Input pour l employer
  $(\"#Row2_$idJour$idWorker$idNumLine\").append("<td bgcolor=\"#FFFFFF\"><input type=\"text\"  value=\"$Cols_Table[5]\" style=\"width: 100%;\" id=\"TIWorker_$idJour$idWorker\"></input></td>"); 
  //On crée un Input pour la clef primaire
  $(\"#Row2_$idJour$idWorker$idNumLine\").append("<td bgcolor=\"#FFFFFF\"><input type=\"text\"  value=\"$Cols_Table[0]\" style=\"width: 100%;\" id=\"TIPrimKey_$idJour$idWorker\"></input></td>");
  
 }// à chaque boucle, le contenu du tableau $Cols_Table change 
 
 ?>


Merci

Merci et que le café soit avec vous.

4 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
Modifié par jordane45 le 28/04/2014 à 14:07
$.ajax
  ({
   type: 'POST',
   data: {V_Last_Prim_Key : V_Last_PrimKey},
   async: false,
   url:'Primary_Key_Daily_Timer.ajx.php', 
   success:function(data) {V_Last_PrimKey},
   error: function(error){alert("Erreur : " + error);}
  });


Que cherches tu as obtenir avec la ligne :
success:function(data) {V_Last_PrimKey},

???

Ca ne peut pas marcher comme ça....

essayes :
success:function(data) {
  // Popup pour voir ce que Data contient..
  alert(data);
  V_Last_PrimKey = data;
},




Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
1
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
28 avril 2014 à 14:15
Salut,
Maintenant j'ai bien quelque chose dans mon input voila se que me met l'alert:
<br />
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: Illegal string offset 'maxID' in C:\wamp\www\Projet\CAE\Ressource_tests\[AJAX]_Gestion_de_Tableau\_Perfectionnement_Search_Request_&_Daily_Timer\_Ajout_Phase_Init_+_Switch\Primary_Key_Daily_Timer.ajx.php on line <i>12</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0100</td><td bgcolor='#eeeeec' align='right'>144760</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\Projet\CAE\Ressource_tests\[AJAX]_Gestion_de_Tableau\_Perfectionnement_Search_Request_&_Daily_Timer\_Ajout_Phase_Init_+_Switch\Primary_Key_Daily_Timer.ajx.php' bgcolor='#eeeeec'>..\Primary_Key_Daily_Timer.ajx.php<b>:</b>0</td></tr>
</table></font>
9

Avec la ligne :
success:function(data) {V_Last_PrimKey},

je penser pouvoir retourner la valeur de la dernier ligne .
Mais je me suis redu compte que pour TSRequest on a :
success:function(data) { $("#Row2_" + idJour+'_'+ idWorker+'_'+ idNumLine).append('<td bgcolor="#FFFFFF">'+data+'</td>');},

J'ai donc remplacer la ligne sus mentionner par:
success:function(data) {data},

Mais rien ne se passer.
Merci
0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
28 avril 2014 à 14:19
Voila le code de mon fichier ajax Prim_Key:
<?php
	include('connexion.php');
	$V_Last_PrimKey = isset($_POST['V_Last_Prim_Key'])?$_POST['V_Last_Prim_Key']:'';  // !

	$sql = "SELECT max(caetbl_timetracking.ID) as maxID
            FROM caetbl_timetracking" ;

	$resultat= mysql_query($sql)or die("Requete pas comprise");
	//pour manipuler le resultat d'une requête il faut le convertir en Array par exemple :
	$row = mysql_fetch_array($resultat);
	// Lecture de la colonne maxID de la première ligne ( ligne 0) 
	echo $row[0]['maxID'];
	?>	
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
28 avril 2014 à 14:25
J'ai donc remplacer la ligne sus mentionner par:

success:function(data) {data},


Mais rien ne se passer.

..... data contient le retour de ta page AJAX.... data tout seul.. ne peux pas fonctionner.
Tu dois soit l'assigner à une variable (ce que j'ai fait dans l'exemple précédent)
success:function(data) {
   Mavariable = data;
   },


soit l'utiliser pour le mettre dans tu code html ( ce que tu avais comme code avant) ...
success:function(data) {
  $("#Row2_" + idJour+'_'+ idWorker+'_'+ idNumLine).append('<td bgcolor="#FFFFFF">'+data+'</td>');
   },
0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
28 avril 2014 à 14:35
Merci pour cette réponse.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
28 avril 2014 à 12:26
Bonjour,

Déjà..Dans ton fichier ajax Prim_Key je pense que tu as un souci sur l'utilisation de LAST_INSERT_ID.

LAST_INSERT_ID : Retourne le dernier identifiant automatiquement généré par une colonne AUTO_INCREMENT.
https://dev.mysql.com/doc/refman/5.0/fr/information-functions.html

Je pense que tu devrais plutot faire :
 $sql = "SELECT max(caetbl_timetracking.ID) as maxID
             FROM caetbl_timetracking" ;

 $resultat= mysql_query($sql)or die("Requete pas comprise");
//pour manipuler le resultat d'une requête il faut le convertir en Array par exemple :
 $row = mysql_fetch_array($resultat);
// Lecture de la colonne maxID de la première ligne ( ligne 0) 
$PrimKey = $row[0]['maxID'];
 
 



0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
28 avril 2014 à 12:34
Merci,
Je suis aller voir la doc avant de mettre se code et comme dans ma colonne ID c'est un nombre qui s'incrémente a chaque nouvelle ligne je penser que cela pouvez marcher.

Je vais regarder se que tu ma montrer et voir si j'arrive a l'utiliser.
Merci et bonne appétit.
0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
28 avril 2014 à 13:34
J'ai fais quelque test.
Comme je n'arriver pas a le faire fonctionner je suis aller voir pour
SELECT MAX(ID)
j'ai alors modifier légèrement se que tu ma fournit.
Mais sa na pas fonctionner : Firebug ne m'indique pas d'erreur pour ces tentative.
voila se que sa donne :
AJAX Prim_Key:
<?php
	include('connexion.php');
	$V_Last_PrimKey = isset($_POST['V_Last_Prim_Key'])?$_POST['V_Last_Prim_Key']:'';  // !

	$sql = "SELECT MAX(ID) FROM caetbl_timetracking";

	$resultat= mysql_query($sql)or die("Requete pas comprise");
	//pour manipuler le resultat d'une requête il faut le convertir en Array par exemple :
	$row = mysql_fetch_array($resultat);
	// Lecture de la colonne maxID de la première ligne ( ligne 0) 
	$V_Last_PrimKey =  $row[0]['ID'];

	echo $V_Last_PrimKey
	?>	


J'ai fais un test en forçant la value de mon input pourvoir si se n'était pas le readonly qui causer des soucis mais se n'était pas sa le souci
J'en est donc déduit que le problème se trouvait dans le renvoi de la valeur.
  	// Variable pour le clonage
	var Line ="#Row2_" + idJour+'_'+ idWorker +'_'+"0";
	var N_Line ="Row2_" + idJour+'_'+ idWorker;
	
	var ID_B_TNewLine = "#TNewLine_" + idJour+'_'+ idWorker+'_'+ idNumLine;
	var ID_B_TDeleteLine = "#TDeleteLine_" + idJour+'_'+ idWorker+'_'+ idNumLine;
	var ID_I_Date = "#TDate_" + idJour+'_'+ idWorker+'_'+ idNumLine ;
	var ID_S_Request = "#TSRequest_"+ idJour+'_'+ idWorker+'_'+ idNumLine;
	var ID_I_Time = "#TTime_" + idJour+'_'+ idWorker+'_'+ idNumLine ;
	var ID_TA_Description = "#TTADescription_" + idJour+'_'+ idWorker+'_'+ idNumLine ;
	var ID_I_Worker = "#TIWorker_" + idJour+'_'+ idWorker+'_'+ idNumLine;
	var ID_I_PrimKey = "#TIPrimKey_" + idJour+'_'+ idWorker+'_'+ idNumLine;
	
	var N_B_TNewLine = "TNewLine_" + idJour+'_'+ idWorker;
	var N_B_TDeleteLine = "TDeleteLine_" + idJour+'_'+ idWorker;
	var N_I_Date = "TDate_" + idJour+'_'+ idWorker ;
	var N_S_Request = "TSRequest_" + idJour+'_'+ idWorker;
	var N_I_Time = "TTime_" + idJour+'_'+ idWorker ;
	var N_TA_Description = "TTADescription_" + idJour+'_'+ idWorker ;
	var N_I_Worker = "TIWorker_" + idJour+'_'+ idWorker;
	var N_I_PrimKey = "TIPrimKey_" + idJour+'_'+ idWorker;
	
	$('.InsertLine').click(function Insert_line()
	{	
		var V_Last_PrimKey =" ";
		//Recover the Primary key value
		$.ajax
		({
			type: 'POST',
			data: {V_Last_Prim_Key : V_Last_PrimKey},
			async: false,
			url:'Primary_Key_Daily_Timer.ajx.php', 
			success:function(data) {V_Last_PrimKey},
			error: function(error){alert("Erreur : " + error);}
		});
		var id_PrimKey = V_Last_PrimKey;
		idNumLine++;
		
		// Clone line
		newLine = $(Line).clone(true);
		$(newLine).attr('id', N_Line +'_'+ idNumLine);		
		newLine.insertAfter("#Row1_" + idJour+'_'+ idWorker);	
		
		// Modify object id
		$('.InsertLine').attr("style", "visibility: hidden");
		$(ID_B_TNewLine).attr('id', N_B_TNewLine +'_'+ idNumLine).attr("style", "visibility: visible");	
		$(ID_B_TDeleteLine).attr('id', N_B_TDeleteLine +'_'+ idNumLine);
		$(ID_I_Date).attr('id', N_I_Date +'_'+ idNumLine);				
		$(ID_S_Request).attr('id', N_S_Request +'_'+ idNumLine);			
		$(ID_I_Time).attr('id', N_I_Time +'_'+ idNumLine).val('');			
		$(ID_TA_Description).attr('id', N_TA_Description +'_'+ idNumLine);				
		$(ID_I_Worker).attr('id', N_I_Worker +'_'+ idNumLine);
		$(ID_I_PrimKey).attr('id', N_I_PrimKey +'_'+ idNumLine).val(id_PrimKey);

	});
0
EnguerrandP Messages postés 295 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 15 juillet 2015 1
28 avril 2014 à 14:24
Le problème de la clef primaire (récupération de la dernier ligne de la colonne ID) et résolue :
Voila le code de mon fichier ajax:
<?php
	include('connexion.php');
	$V_Last_PrimKey = isset($_POST['V_Last_Prim_Key'])?$_POST['V_Last_Prim_Key']:'';  // !

	$sql = "SELECT max(caetbl_timetracking.ID) as maxID
            FROM caetbl_timetracking" ;
	$resultat = mysql_query($sql)or die("Requete pas comprise");
	
	//pour manipuler le resultat d'une requête il faut le convertir en Array par exemple :
	$row = mysql_fetch_array($resultat);
	
	// Lecture de la colonne maxID de la première ligne ( ligne 0) 
	echo $row[0];
	?>

0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
28 avril 2014 à 14:45
Le problème de la clef primaire (récupération de la dernier ligne de la colonne ID) et résolue :

DOnc ....

0
Rejoignez-nous