Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/07/2011, 14h55   #1
Membre du Club
 
Avatar de stomerfull
 
Inscription : septembre 2005
Messages : 243
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 243
Points : 42
Points : 42
Par défaut Triage de tableau et bug dans mail

bonjour à tous,

J'ai un problème quand j'utilise la fonction array_multisort de php

voici une petite description du scénario :

Je récupère des données depuis une base de données

Je trie après l'ordre d'affichage dans le tableau avec la fonction array_multisort

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
$i=0;
$temporaire = array();
	foreach ($liste_enfant as $key => $enfant) {
		$temporaire[$key]  = $enfant["ordre"];
	}
 
	array_multisort($temporaire, SORT_ASC, $liste_enfant);
 
foreach ($liste_enfant as $enfant)
    {
        $output .= '<tr '.($i%2 == 0? 'bgcolor="#EEEEEE"':'bgcolor="#FFFFFF"').' >';        
        $output .= '<td  style="font-family:Arial, Helvetica, sans-serif; font-size:11px;"><font color="#494949">'.($enfant["name"]).'</font></td>';
        $output .= '<td  style="font-family:Arial, Helvetica, sans-serif; font-size:11px;"><font color="#494949">'.($enfant["adresse"].' '.$creche["cp"].' '.enfant["city"]).'</font></td>';
        $output .= '<td align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:11px;"><font color="#494949">'.($enfant["dispo"]).'</font></td>';
        $output .= '<td align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:11px;"><font color="#494949">'.($enfant["distance"]).'</font></td>';
		$output .= '<td align="center" style="font-family:Arial, Helvetica, sans-serif; font-size:11px;"><font color="#494949">'.($enfant["ordre"]).'</font></td>';
        $output .= '</tr>';
        $i++;
    }
L'entête du tableau est haut (mais je l'ai pas ecrit ici)

La je trie la tableau par ordre croissante suivant la colonne ordre et ça marche

mais après en bas j’envoie ce resultat par mail

et je reçoit des mails vides avec comme titre =?UTF-8?B??=

si j’enlève la fonction du triage avec array_multisort , il n ' y a pas de problème , je reçoit bien les mails avec les tableaux bien triés

en bas du script il y a la fonction qui envoi le mail comme ça :
Code :
 @mail($dest, '=?UTF-8?B?'.base64_encode($message['subject']).'?=', $message['body'], $head);
Est ce qu'il existe une autre façon de trier le tableau sans utilisé la fonction array_multisort (car je vois que c'est le triage qui pose problème) ? ou que faut -il modifier dans le code pour éviter le bug

Merci pour votre aide
stomerfull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 15h01   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
met juste $message['subject']
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 15h13   #3
Membre du Club
 
Avatar de stomerfull
 
Inscription : septembre 2005
Messages : 243
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 243
Points : 42
Points : 42
J'ai essayer mais ça me renvoi un mail vide sans sujet
stomerfull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 15h19   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
Citation:
Envoyé par stomerfull Voir le message
J'ai essayer mais ça me renvoi un mail vide sans sujet
montre tout ton code
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 15h59   #5
Membre du Club
 
Avatar de stomerfull
 
Inscription : septembre 2005
Messages : 243
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 243
Points : 42
Points : 42
Merci pour votre réponse

j'ai enfin trouvé la cause du bug

Code :
1
2
3
4
$temporaire = array();
	foreach ($liste_enfant as $key => $enfant) {
		$temporaire[$key]  = $enfant["ordre"];
	}
c'est le variable $key qui est utilisé en bas dans le script il y confusion

il faut faire attention au nom des variables à la prochaine

Merci encore
stomerfull est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h43.


 
 
 
 
Partenaires

Hébergement Web