Page 1 sur 1

pb de convertion date dans une boucle

Posté : 14 mars 2006, 13:34
par MICKA
bonjour, je souhaite convertir la date mysql format anglais au format fr en affichage dans une boucle mais je n'est pas de modivication.

voici ma fonction dans un fichier de fonctions
function date_fr2($date=0)
{
  if(!$date)
   $date = $rows['date']; 
	$a = substr($date, 0, 4);
	$m = substr($date, 5, 2);
	$j = substr($date, 8, 2);
	$datefr2=$j.'/'.$m.'/'.$a;
	return array("date"=>$datefr2);
}
page de visu
include("fonctions.php");
$date = date_fr2(); //apel fonction

if ($_POST['mois'] !="" && $_POST['année'] !="")
{
$connexion = mysql_connect('***','***','***');// Connexion à la base de donnée 
mysql_select_db('base,$connexion)  or die('Erreur de selection '.mysql_error()); 
$requete = "SELECT * FROM detail LEFT JOIN staus on staus.id_status = detail.id_status  WHERE  date_inter LIKE '".$_POST['année']."-".$_POST['mois']."-%'  ";
$resultat = mysql_db_query('base',$requete,$connexion) or die('Erreur de selection '.mysql_error()); // execution de la requete 
mysql_close($connexion);// Fermeture de la connexion 

while($rows = mysql_fetch_array($resultat))
{ 


$id_detail = $rows['id_detail'];
$num_portable = $rows['num_portable'];
$matricule = $rows['matricule'];
$date = $rows['date'];
$dateinter = $rows ['date_inter']; 
$status = $rows['libelle_status'];
	

echo "<tr>\n
<td ><input type=\"button\" onClick=\"location.href='portables.php?incident=".$id_detail."&mat=".$matricule."&port=".$num_portable."';\" value=\"".$id_detail."\"></td>\n
<td > $num_portable</td>\n 
<td > $matricule </td>\n 
<td > $date</td>\n 
<td > $dateinter </td>\n 
<td > $status </td>\n
<td > $port</td>\n 
</tr>\n"; 

}  
}

Posté : 14 mars 2006, 13:58
par Ryle
Euh... je ne sais pas trop ou est la question, mais il y a visiblement un problème de syntaxe dans le mysql_select_db (y a qu'à voir le code en couleur, c'est tout rouge !! :))

Quant à l'appel de fonction dans une boucle, il faut commencer par mettre l'appel dans la boucle (sinon ça va marcher beaucoup moins bien :)).

Après va falloir lui passer des paramètres, parce que dans ta fonction le $rows n'existe pas (c'est une variable externe à ta méthode) à moins de le déclarer comme global pour qu'il puisse l'utiliser :)

Enfin, question bête, pourquoi retourner un tableau et pas directement la date formatée ? tu pourrais ainsi la stocker ou l'afficher directement.

Posté : 14 mars 2006, 14:21
par MICKA
je retourne un tableau car se sont des dates correspondants à des dates qui transitent dans mes pages et qui son specifiquent pour chaque intervention (javascript bouton)

Posté : 14 mars 2006, 14:29
par MICKA
je dois faire passer ma valeur $rows['date'] dans mon fichier de fonction? en hidden par exemple?

Posté : 14 mars 2006, 15:08
par Ryle
A priori tu veux juste faire de l'affichage, donc non ce n'est pas la peine, tu as déjà tes valeurs. Il te suffit juste de les passer par ta fonction :
$date = $rows['date']; // contient ta date au format sql
$tonTableau = date_fr2($date); // tu fais appel à ta fonction en lui passant la date que tu veux traiter en paramètre, elle te retourne ton tableau 
echo $tonTableau['date']; // affichera la valeur associée à l'index 'date', à savoir ta date formatée
Tu glisses tout ça là où ça va bien dans ton while et ça devrait le faire :)

Posté : 14 mars 2006, 16:13
par MICKA
[RESOLUT]
sa tourne au poil merci beaucoup du coup de mian