recréer un tableau après modification d'une valeur - PHP - Programmation
Marsh Posté le 10-09-2011 à 11:10:51
si par tableau, tu parles de mise en forme sour forme de tableau, c'est du côté html qu'il faut aller voir (<table>, <th>, <tr>, <td>, <tbody>...)
Marsh Posté le 12-09-2011 à 12:43:19
Bonjour Rufo,
Je me suis mal exprimé c'est de table que je dois parler et non de tableau.
pour exemple lorsque je fais le print_r de la table course j'ai ceci
Array
(
[0] => Array
(
[0] => b
[1] => 2:20:00
[2] => B
)
[1] => Array
(
[0] => a
[1] => 1:10:00
[2] => A
)
[2] => Array
(
[0] => c
[1] => 1:07:00
[2] => C
)
)
et je voudrais obtenir ceci
Array
(
[0] => Array
(
[0] => b
[1] => 8400
[2] => B
)
[1] => Array
(
[0] => a
[1] => 4200
[2] => A
)
[2] => Array
(
[0] => c
[1] => 4020
[2] => C
)
)
Marsh Posté le 12-09-2011 à 17:07:05
Ben faut juste convertir tes heurs en secondes. Si ton tableau s'appelle $Tableau :
Code :
|
Marsh Posté le 13-09-2011 à 13:38:51
Ben si tu fais un update et ensuite un meta refresh ça doit fonctionner.
Marsh Posté le 08-09-2011 à 18:03:59
Bonjour,
Après plusieurs heures de recherche je n'arrive pas à trouver comment je dois procéder pour recréer un tableau avec la modification d'une valeur.
Le but:
Pouvoir effectuer un calcul sur le temps en version seconde, sachant de je reçois au départ le temps en HMS
Dans un premier, j'essaye de créer un nouveau tableau $point avec le champs temps en secondes au départ du champs hms du tableau $courses.
Tout fonctionne jusqu'à la fin ou je n'arrive pas à récréer le tableau $point.
Je suis pas expert en php, je m'embrouille avec les tableaux malgré les infos que je lis sur le net et dans les bouquins
d'avance merci
<?php
//----Déclaration de la fonction compare (tri du plus grand vers le plus petit)----------
function compare($x,$y){
if ( $x[1] == $y[1]) {
return 0;
} else if ( $x[1] < $y[1] ){
return 1;
} else
return -1;
}
//----------affichage du tableau créé----début du test-------------------
//---------création du tableau courses-------------
$courses = array( array('a', '1:10:00','A'),
array('c', '1:07:00','B'),
array('b', '2:20:00','C'));
echo "affichage du tableau courses créé <br />";
//----------affichage du tableau comme il vient d'être créé---------------
for ( $ligne = 0; $ligne < 3; $ligne++ ){
for ( $colonne = 0; $colonne < 3; $colonne++ ){
echo ' ' .$courses[$ligne][$colonne];
}
echo "<br />";
}
//--------tri du tableau $couses via fonction compare sur le champs temps du plus grand vers le plus petit---------
usort ($courses, 'compare' );
//------replace le pointeur sur le début du tableau courses---------
reset ($courses);
echo "------affichage control après----usort--compare----------<br />";
// ----affichage de control du tableau $ couses après tri------------------
for ( $ligne = 0; $ligne < 3; $ligne++ ){
for ( $colonne = 0; $colonne < 3; $colonne++ ){
echo ' ' .$courses[$ligne][$colonne];
}
echo "<br />";
}
echo "<br />-----traitement heures secondes---------- <br />";
//-----------traitement du temps hms en secondes---------------
for ( $ligne = 0; $ligne < 3; $ligne++ ){
for ( $colonne = 0; $colonne < 3; $colonne++ ){
$nom = $courses[$ligne][0];//selectionne le champs qui possède le champs hms de la table courses
$temps_sec = $courses[$ligne][1]; //selectionne le champs qui possède le champs hms de la table courses
$point = $courses[$ligne][2];//selectionne le champs qui possède le champs point de la table courses
$temps_sec = explode (":", $temps_sec);
while (list ($indice, $valeur) = each($temps_sec))
$temps1=$temps_sec[0];
$temps2=$temps_sec[1];
$temps3=$temps_sec[2];
//combien d'heures ?
$hours =($temps1 * 3600);
//combien de minutes ?
$min = (($temps2 * 60)) ;
//combien de secondes
$sec = $temps3 ;
$seconde_total= $hours+$min+$sec;
}
//----!!!! c'est à partir d'ici que je patauge !!!! j'arrive pas à créer un tableau point-------
$point = array("nom"=> $nom, "temps"=> $seconde_total,"total"=> $point);
echo $point[nom].$point[temps].$point[total]."<br>" ;
echo "<br />";
}
echo "----control de fin de traitement";
?>