probleme tri de données

Petit nouveau ! | 5 Messages

16 déc. 2005, 16:48

bonjour à tous

je débute en php avec le livre (php/mysql avec flash mx 2004 jean marie defrance)

j'ai crée un script d'affichage de news et un autre pour ajouter des news dans ma base de données tout fonctionne cependant j'ai un soucis de formatage ou tri : mes news s'affiche au format FR
JJ/MM/AAAA mais voilà ce que ca donne avec l'option DESC dans ma requete :

-31/12/2005
test 04
-17/12/2005
test 03
-15/08/2004
test 02
-04/12/2006
test 01

visiblement l'option DESC que j'ai ajouté a requete classe sur le jour et non sur l'année comment dois je procéder ?

second probleme ce script dois s'afficher dans un tableau de 200 de large mais visiblement le script d'ajout dans le db ne prend pas en compte les retour à la ligne résultat tout ce déforme...

merci d'avance pour l'aide / les indices :)

bonne journée

a++

Eléphant du PHP | 153 Messages

16 déc. 2005, 16:59

montre nous la requete de selection et le code pour l'affichage

Eléphant du PHP | 440 Messages

16 déc. 2005, 16:59

Bonjour ,

En ce qui concerne tes dates apparement tu dois les stocker en varchar dans ta base de données hors il serait mieux de les stocker au format DATE pour une meilleur flexibilité !

En ce qui concerne le texte applique lui la fonction nl2br() pour qu il retrouve ces sauts de ligne d origine avant l affichage !
C'est en faisant des erreurs et en osant demander de l'aide qu'on apprend ! Il n'est pas ridicule de ne pas savoir !

Petit nouveau ! | 5 Messages

16 déc. 2005, 17:03

voila mon code

darkblue : mon champs et en type DATE :)

merci

$query_rs_news="SELECT Date_Format(date_actu, '%d/%m/%Y') AS date_actu, texte_actu FROM actu ORDER BY date_actu DESC";
$rs_news = mysql_query($query_rs_news, $ConnexionNews)or die(mysql_error());
//utilisation de while pour avoir au moin un tour de tous les RS
while($row_actu = mysql_fetch_array($rs_news)){
//affichage des news
echo "<font color=#0099FF><b>".$row_actu['date_actu']."</b></font><br>";
echo $row_actu['texte_actu']."<br><br>";

Eléphant du PHP | 440 Messages

16 déc. 2005, 17:09

Dans ce cas tu ferais mieux de lire les dates en anglais et ENSUITE au moment de les afficher les passer en format français
C'est en faisant des erreurs et en osant demander de l'aide qu'on apprend ! Il n'est pas ridicule de ne pas savoir !

Petit nouveau ! | 5 Messages

16 déc. 2005, 17:12

heu oui remettre la date en US ok mais le reste je fais ca comment ? :) un indices ?
idem pour les retour a la ligne
merci en tout cas

Eléphant du PHP | 440 Messages

16 déc. 2005, 17:34

$query_rs_news="SELECT date_actu, texte_actu FROM actu ORDER BY date_actu DESC"; 
$rs_news = mysql_query($query_rs_news, $ConnexionNews)or die(mysql_error()); 
//utilisation de while pour avoir au moin un tour de tous les RS 
while($row_actu = mysql_fetch_array($rs_news)){ 

$date_fr=explode("/",$row_actu['date_actu']) ; // remplace / par le characteres qui est dans la BDD qui separe les jours / mois / années
$date=$date_fr[0]."/".$date_fr[1]."/".$date_fr[2] ; 


//affichage des news 
echo "<font color=#0099FF><b>".$date."</b></font><br>"; 
echo nl2br($row_actu['texte_actu'])."<br><br>";
ça devrait ressembler a quelque chose comme ça
C'est en faisant des erreurs et en osant demander de l'aide qu'on apprend ! Il n'est pas ridicule de ne pas savoir !

Petit nouveau ! | 5 Messages

16 déc. 2005, 17:41

merci beaucoup mais peu tu m'expliquer ce que tu as utilisé ? :)

dernier ptit soucis le nl2br fonctionne pas dois je le placer aussi dans mon script d'ajout de news dans la BD (mon champs textes et en mode "physique" est ce bon ?)

Eléphant du PHP | 440 Messages

16 déc. 2005, 17:45

Tout d'abbord je lis les resultat dans la base de données en laissant la date en anglais et en les triant par date (ce qui normalement te donne un classement correct)

Ensuite je procede a l affichage , pour chaques news :

- je lis la date en anglais , je la decoupe via la fonction explode et la reconstruit en français , puis je l affiche dans ton tableau
- j'affiche le texte auquel j ai appliqué la fonction nl2br() qui en gros remets les retour a la ligne en html
C'est en faisant des erreurs et en osant demander de l'aide qu'on apprend ! Il n'est pas ridicule de ne pas savoir !

Petit nouveau ! | 5 Messages

16 déc. 2005, 19:08

j'ai pas tout compris mais merci de ton aide !
est ce que ce forum aide aussi pour les relations flash php ? j'aimerai loader mes news dans un fichier flash avec scroll.

++