Rechercher : dans
Par :

3 champ, jour, mois, annes, ranger php/mysql

Dernière réponse le 1 nov 2007 à 21:31:42 anthony2009, le 1 nov 2007 à 11:43:34 
 Signaler ce message aux modérateurs

Bonjour à tous,
J'ai un petit probleme, je vien de faire 3 champs pour un affichage par date

jour = INT mysql
mois= INT mysql
annes = INT mysql


pouvez-vous m'aider à les trier svp, voici mon code php
<?php




$total=0;
$parpage=5;
if(isset($_GET['page']))
$page=$_GET['page'];
else
$page=0;

if(isset($_GET[catpodcasts])){

$cat=$_GET[catpodcasts]; //LORSQU IL A UNE CATEGORIE
$commaff= mysql_query("SELECT * FROM ".T_PODCAST." WHERE idcat='$cat' ORDER BY id DESC LIMIT $page,$parpage ");
$totalid=mysql_query("SELECT * from ".T_PODCAST." WHERE idcat='$cat'");

}else{
$commaff= mysql_query("SELECT * FROM ".T_PODCAST." ORDER BY annes, mois, jour LIMIT $page,$parpage");
$totalid=mysql_query("SELECT * from ".T_PODCAST."");

}
while ($donnees = mysql_fetch_array($totalid))
{
$total++;
}


$repon = mysql_num_rows($commaff);
if(!$repon) {
echo'<div align="center">Aucun podcast dans cette catégorie</div>';
}




while ($donnees = mysql_fetch_array($commaff))
{
$max=200;
$chaine=$donnees['description'];
if(strlen($chaine)>=$max)
{
$chaine=substr($chaine,0,$max);
$espace=strrpos($chaine," ");
if($espace)
$chaine=substr($chaine,0,$espace);
$chaine .= ' ...';
}
$numero=$donnees[0]+102;
echo'<table id="Tableau_01" width="719" height="126" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<img src="images/podcastsaudioradio_01.png" width="719" height="12" alt=""></td>
</tr>
<tr>
<td valign="top"><table width="719" height="102" border="0" cellpadding="0" cellspacing="0">
<tr>
<td background="images/podcastsaudioradio_02.png"><div align="center">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="14%" valign="top"><table width="70" height="70" border="0" cellpadding="5" cellspacing="0">
<tr>
<td valign="middle" ><div ><span ><img src="podcast/images/'.$donnees['image'].'" width="80" height="80" border="0" class="glossy iradius""></span></div></td>
</tr>
</table></td>
<td width="59%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td><div align="justify">
<div align="justify" ><strong>'.stripslashes ($donnees['titre']).'</strong> - <strong>'.$donnees['jour'].' ';

switch($donnees['mois'])
{
case 1:
echo "Janvier"; break;
case 2:
echo "Fevrier"; break;
case 3:
echo "Mars"; break;
case 4:
echo "Avril";break;
case 5:
echo "Mai";break;
case 6:
echo "Juin";break;
case 7:
echo "Juillet";break;
case 8:
echo "Aout";break;
case 9:
echo "Septembre";break;
case 10:
echo "Octobre";break;
case 11:
echo "Novembre";break;
case 12:
echo "Decembre";break;
}


echo' '.$donnees['annee'].'</strong></div>
'.stripslashes ($chaine).' <strong><a href="biographie.php?numero='.$numero.'"><br/>
</a></strong><a href="biographie.php?numero='.$numero.'"></a></div></td>
</tr>
</table></td>
<td width="27%" valign="middle"><div align="right">


<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="150" height="50"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
<param name="movie" value="mp3-player/singlemp3player.swf?file=podcast/audio/'.$donnees['mp3'].'&autoStart=false&backColor=ffffff&frontColor=700b21&songVolume=100" />
<param name="wmode" value="transparent" />
<embed wmode="transparent" width="150" height="50" src="mp3-player/singlemp3player.swf?file=podcast/audio/'.$donnees['mp3'].'&autoStart=false&backColor=ffffff&frontColor=700b21&songVolume=100"
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>





</div></td>
</tr>
</table>
</div></td>
</tr>
</table></td>
</tr>
<tr>
<td>
<img src="images/podcastsaudioradio_03.png" width="719" height="12" alt=""></td>
</tr>
</table><br />




';
}
?>

Configuration: Windows XP
Internet Explorer 7.0

1

Alain42, le 1 nov 2007 à 13:54:29

Salut,

pourquoi ne pas mettre la date dans un seul champ

date au format date mysql (yyyy-mm-dd) ?

est ce que cela te simplifierait la vie ?

Sinon tu as des erreurs de code dans tes echo

tu as en début et fin de chaine ' et plein de ' à l'intérieur de ta chaine, mon éditeur php (notepad++) n'est pas content

alors échapes tes ' par de \' à l'int"érieur de ta chaine des echo

Répondre à Alain42

2

anthony2009, le 1 nov 2007 à 18:09:37

J'ai essayer de mettre en (yyyy-mm-dd), personne ne m'a répondu dans le forum pour mettre ceci en Francais,

Ca fait plusieurs semaines que je suis en galere, donc, la meilleurs solution du moment, c'est ca,

Eventuellement, si tu a une solution pour inverser le (yyyy-mm-dd) en dd/mm/yyyy, ca serais vraiment super car tu m'enleverais une grosse épine du pied.

Merci en tout cas pour ta réponse.

Antho

Répondre à anthony2009

3

Alain42, le 1 nov 2007 à 21:27:42

Bonsoir,

pour mettre en français une date au format mysql:

function date_mysql_fr($date_mysql){
$array_date=explode("-",$date_mysql);
$date_fr=$array_date[2]."/".$array_date[1]."/".$array_date[0];
return=$date_fr;
}

tu appelles cette fonction par:

$date=date_mysql_fr(date_lue_dans_la_base);

et ça te retourne au format 01/11/2007

par contre si tu veux avoir les jours de la semaine et les noms de mois en français, il me semble que sur ce forum il y a la réponse

Répondre à Alain42

4

 lami20j, le 1 nov 2007 à 21:31:42

Salut,

il faut regarder tes messages et eviter de poster en double, regarde ici datetime en francais php mysql#5
tu peux le faire directement dans MySql
lami20j

Répondre à lami20j