par
Thrill » 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
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>
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] <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>[/code]