Page 1 sur 1

Programme JS en php

Posté : 05 mai 2019, 15:25
par Thrill
Bonjour a vous
Mon niveau en php est assez nul je souhaite savoir ce que donne le scripte suivant en php pour un projet mais je ne sais pas comment faire :?: :?:

Code : Tout sélectionner

<script> var aDatas = []; /* * Transforme 14h24m32s en seconde */ function stringToSeconde(sStr){ var iSeconde =0, regex = /[a-z]/gi, aFound = sStr.split(regex); iSeconde = aFound[0] * 60 * 60 + aFound[1]*60 + aFound[2] return Number(iSeconde); }//fct /* * Transforme Skieur 2 en nombre = 2 */ function stringToNum(sStr){ var iNum = 0, regex = /[a-z]/gi; iNum = sStr.replace(regex,'').trim(); return Number(iNum); }//fct /* * Je recupère la table sous forme de tableau Javascript */ function getDatas(oTable){ if(aDatas.length > 0){ return } var aoTr = oTable.getElementsByTagName("tr"); for(var i = 1; i< aoTr.length;i++){ var oTr = aoTr[i], oObj = { nom:oTr.cells[0].textContent.trim(), chrono:oTr.cells[1].textContent.trim(), //Complément pour la deuxieme solution num: stringToNum(oTr.cells[0].textContent.trim()), seconde:stringToSeconde(oTr.cells[1].textContent.trim()) }; aDatas.push(oObj); } console.log(aDatas); }//fct /** * Assigne les valeurs aux cellules */ function setDatas(){ var oTable = document.getElementById("trier"), aoTr = oTable.getElementsByTagName("tr"); for(var i = 0; i< aDatas.length;i++){ var oTr = aoTr[i+1]; oTr.cells[0].textContent = aDatas[i].nom; oTr.cells[1].textContent = aDatas[i].chrono; } }//fct /* * Compare le chiffre de "Skieur 2" et nom la chaine complète * car je trouve que le tri n'est pas bon */ function sortByNom(iDec){ return function(a, b) { var regex = /[a-z]/gi, iDirection = iDec, iNumA = a.nom.replace(regex,'').trim(), iNumB = b.nom.replace(regex,'').trim(); if(iDirection == 0){ return iNumA - iNumB; } return iNumB - iNumA; }; }//fct /* * Compare le "14h24m32s" en seconde */ function sortByChrono(iDec){ return function(a, b) { var regex = /[a-z]/gi, iDirection = iDec, aFoundA = a.chrono.split(regex), aFoundB = b.chrono.split(regex), iNumA = Number(aFoundA[0]) * 60 * 60 + Number(aFoundA[1])*60 + Number(aFoundA[2]), iNumB = Number(aFoundB[0]) * 60 * 60 + Number(aFoundB[1])*60 + Number(aFoundB[2]); if(iDirection == 0){ return iNumA - iNumB; } return iNumB - iNumA; }; }//fct /* * Pour la solution deux * ou les valeurs sont déjà des chiffre */ function sortByNumber(sType, iDec){ return function(a, b) { var iDirection = iDec, iValue = sType, iNumA = a[sType], iNumB = b[sType]; if(iDirection == 0){ return iNumA - iNumB; } return iNumB - iNumA; }; }//fct function TableOrder(oEvent,sType,Dec){ //verifier que offsetParent est compatible tout navigateur var oTable = oEvent.currentTarget.parentNode.offsetParent; //Je recupère la table sous forme de tableau Javascript getDatas(oTable); var sTypeComparaison = typeof (aDatas[0][sType]), fctComparaison = null; //Je fais le tri if(typeof (aDatas[0][sType]) != "undefined"){ if(sType == "nom"){ //Jai externaliser le traitement pour que cela soit plus lisible // mais tu peux directement le faire ici // valable pour toutes les fonctions ci-dessous sortBy*** fctComparaison = sortByNom(Dec); //pour le déclencher mettre TableOrder(event,'nom',1) }else if(sType == "chrono"){ fctComparaison = sortByChrono(Dec); //pour le déclencher mettre TableOrder(event,'chrono',1) }else if(sType == "num"){ fctComparaison = sortByNumber(sType, Dec); //pour le déclencher mettre TableOrder(event,'num',1) }else if(sType == "seconde"){ fctComparaison = sortByNumber(sType, Dec); //pour le déclencher mettre TableOrder(event,'seconde',1) } if(fctComparaison!=null){ aDatas.sort(fctComparaison); //Je reassigne les valeur dans les cellules setDatas() } }//if }//fct function changeValue(){ var oTable = document.getElementById("trier"), aoTr = oTable.getElementsByTagName("tr"); for(var i = 1; i< aoTr.length;i++){ var oTr = aoTr[i]; oTr.cells[1].innerHTML = getRandomInt(60)+"m"+getRandomInt(60)+"s" } } function getRandomInt(max) { return Math.floor(Math.random() * Math.floor(max)); } document.addEventListener('DOMContentLoaded',function(){ //Seulement pour changer les dates en H:M:S changeValue(); }); </script>

Re: Programme JS en php

Posté : 05 mai 2019, 16:28
par Spols
le javascript et le php ne s'éxécute pas du tout au même endroit. En conséquence convertir un code n'est pas une tache aisée si pas impossible.

Si tu veux t'y mettre, commence le code php on pourra t'aiguiller pour arriver à ta solution, mais personne ici ne fera ton code à ta place.