Convertir une fonction JavaScript en PHP [Résolu]

EnguerrandP 295 Messages postés vendredi 26 avril 2013Date d'inscription 15 juillet 2015 Dernière intervention - 15 avril 2014 à 13:20 - Dernière réponse : EnguerrandP 295 Messages postés vendredi 26 avril 2013Date d'inscription 15 juillet 2015 Dernière intervention
- 15 avril 2014 à 13:51
Bonjour,

<script>

$(function() 
{
   $('#inlineDatepick').datepick
   ({onSelect:
		function(dates)
   		{
    		var dateText = $.datepick.formatDate(dates[0]);
       		var dateArr = dateText.split("/");
        	var IDfromDateText= dateArr[2] +  dateArr[0] + dateArr[1];	 
		 
			if ($("#myDiv_TJour_"+IDfromDateText).length > 0)
			{
				// Il existe... donc j'affiche le tableau
                AffichDiv(IDfromDateText);
			}
			else
			{
				// L'element n'existe pas... je le crée ...
                CreaTable(IDfromDateText,dates);

                // ...puis j'affiche le tableau
                AffichDiv(IDfromDateText);                  
			}           
   		}
   });
});

function CreaTable(idJour,dates)
{
	//Je crée un nouveau div pour le clone du tableau d'origine
    $("#Zone_Tab").append("<div name='MesTBL' id='myDiv_" + "TJour_" + idJour + "'></div>");
	//On crée un tableau pour le jour X 
	$("#myDiv_" +"TJour_" + idJour).append('<table border="2" id="TJour_' + idJour + '"></table>').css("border","2px inset #000000");
	
	$("#TJour_" + idJour).append('<tr align="center" id="Row1_' + idJour + '"></tr>'); 
	//On crée un Bouton New Line
	$("#Row1_" + idJour).append('<td bgcolor="#F0FFFF">New Line</td>');
	//On crée un Input pour la date
	$("#Row1_" + idJour).append('<td bgcolor="#F0FFFF">Date</td>');
	//On crée un Select pour la tache
	$("#Row1_" + idJour).append('<td bgcolor="#F0FFFF" width="160px">Request</td>');
	//On crée un Input pour le Temps
	$("#Row1_" + idJour).append('<td bgcolor="#F0FFFF">Time (h)</td>');
	//On crée une Zone de texte pour la description
	$("#Row1_" + idJour).append('<td bgcolor="#F0FFFF">Description</td>');
	//On crée un Select pour le travailleur 
	$("#Row1_" + idJour).append('<td bgcolor="#F0FFFF"width="170px">Worker</td>');
	
	$("#TJour_" + idJour).append('<tr align="center" id="Row2_' + idJour + '"></tr>'); 
	//On crée un Bouton New Line
	$("#Row2_" + idJour).append('<td><input type="button" value="New" style="width: 100%;" onclick="CloneLine(this.parentNode.parentNode);" id="TNewLine_' + idJour + '"></input></td>');
	//On crée un Input pour la date
	$("#Row2_" + idJour).append('<td><input type="date" style="width: 100%;" id="TDate_' + idJour + '"></input></td>');
	//On crée un Select pour la tache
	$("#Row2_" + idJour).append('<td><?php
			$sql = "SELECT caetbl_people.PeopleID, caetbl_people.LastName, caetbl_people.FirstName
			FROM caetbl_people 
			INNER JOIN caetbl_GroupList 
			ON caetbl_GroupList.GroupID = caetbl_people.Group
			WHERE caetbl_GroupList.Group_Name='C&EA'
			ORDER BY caetbl_people.LastName;";
			$result = mysql_query($sql)or die("Requete pas comprise");
			echo "<select  style=\"width: 100%;\" id=\"TSRequest_' + idJour + '\" name=\"Table_Worker\" >" ;
			while ($row=mysql_fetch_assoc($result)) 
			{
				echo "<option value=\"". $row['LastName'] ." ". $row['FirstName'] ."\">". $row['LastName'] ." ". $row['FirstName'] ."</option>\n"; 
			}
			echo "</select></td></tr>\n
				  </form>\n";
		?></td>');
	//On crée un Input pour le Temps
	$("#Row2_" + idJour).append('<td><input type="text" style="width: 100%;" id="TTime_' + idJour + '"></input>');
	//On crée une Zone de texte pour la description
	$("#Row2_" + idJour).append('<td><textarea rows="2" cols="25" style="resize: none;" id="TTADescription_' + idJour + '"></textarea></td>');
	//On crée un Select pour le travailleur 
	$("#Row2_" + idJour).append('<td><select  style="width: 100%;" onChange="saveValue(this)" id="TSWorker_' + idJour + '"></select></td>');

	// On met la valeur de la date sélectionner dans l'input TDate+idJour
	var dateText = $.datepick.formatDate(dates[0]);
	$("#TDate_"+idJour).val(dateText);	
}

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

function CloneLine(Line)
{
	newLine = Line.cloneNode(true); 
	Line.parentNode.insertBefore(newLine,Line);
	//Line.parentNode.appendChild(newLine);
}

</script>


Es ce que cette fonction JavaScript peut être transformer en une "Class" PHP me permettant :
- Vérifier si un tableau existe déjà :
->Si oui le mettre à jour, puis l'afficher
->Sinon, le crée, vérifier dans la BD le nombre de ligne pour cette journée, les crées puis les remplir.

(PS : Toute la partie remplissage des tableau a partir de la BD et en cour de réalisation)


Merci
Afficher la suite 

Votre réponse

1 réponse

EnguerrandP 295 Messages postés vendredi 26 avril 2013Date d'inscription 15 juillet 2015 Dernière intervention - 15 avril 2014 à 13:51
0
Utile
Salut, apparemment c'est impossible car une fois la page crée il n'y a que JavaScript qui peut la modifier.

Merci
Commenter la réponse de EnguerrandP

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.