Programme JS en php
Posté : 05 mai 2019, 15:25
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
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>