sanddy Posté 17 Septembre 2007 Posté 17 Septembre 2007 (modifié) Bonjour, J'ai des villes dans ma base de données qui contiennent leur nom et des fois, il y a " Cédex" ensuite dans le même champ. J'aimerais pouvoir enlever ce Cédex (pas dans la base de données mais dans mon application). J'ai donc réussi à le faire enlever avec la fonction str_replace mais maintenant, j'ai deux fois la ville qui s'affiche avec mon application et pourtant, j'ai mis "GROUP BY mailingcity"... Je ne vois pas quoi faire, pouvez-vous m'aider svp ??? Au départ, j'avais : while ($donnees7 = mysql_fetch_assoc($resultat)) { echo "<a href=\"".$deppage."page_annu2.php?dep=".$dep."&ville=".$donnees7['mailingcity']."\">"; echo $donnees7['mailingcity']; echo "</a><br />"; } Cela m'affiche toutes les villes avec les cédex... Pour virer les cédex, j'ai fait : $mailing_city=str_replace(" CEDEX", "", $donnees7['mailingcity']); ainsi, les cédex sont partis... mais plusieurs villes reviennent... vu que dans ma base de données, dans le champs mailingcity, j'ai par exemple la ville "challans" et la ville "challans cédex"... en faisant le str_replace, j'ai challans dans une ligne et encore challans dans l'autre... Puis en faisant : while ($donnees7 = mysql_fetch_assoc($resultat)) {$mailing_city=str_replace(" CEDEX", "", $donnees7['mailingcity']);if ($mailing_city== $donnees7['mailingcity']) { echo "<a href=\"".$deppage."page_annu2.php?dep=".$dep."&ville=".$donnees7['mailingcity']."\">"; echo $donnees7['mailingcity']; echo "</a><br />"; }} Challans ne s'affiche qu'une fois mais la ville Chatonnay disparait... car dans ma base de données, je n'ai que le champ "Chantonnay Cédex"... argh... Modifié 17 Septembre 2007 par sanddy
Keyser Posté 17 Septembre 2007 Posté 17 Septembre 2007 Salut, as-tu essayé avec la clause DISTINCT, qui permet de supprimer les doublons dans une sélection sql, ou j'ai peut-être mal compris ton problème (j'avoue ne pas avoir eu le courage de tout lire).
sanddy Posté 17 Septembre 2007 Auteur Posté 17 Septembre 2007 Bonjour, j'ai rectifié ma question car le code n'affichait pas ce que je voulais... Sinon, pour le distinct, je ne l'ai pas utilisé car dans la base de données, les villes affichées ne sont pas les mêmes "Challans" et "Challans Cédex" ne sera pas considéré comme semblable... Hum, désolé, je l'explique dans le premir sujet... je crois que ça doit pas etre evident a comprendre
Keyser Posté 17 Septembre 2007 Posté 17 Septembre 2007 Bon alors, l'idée, en supposant que les villes soient affichées dans un ordre alphabétique, il faudrait inclure une variable temporaire permettant de vérifier si il y a 2 fois du suite le même $mailing_city, si c'est le cas on n'affiche rien et si ce n'est pas le cas on affiche, ça pourrait donner : while ($donnees7 = mysql_fetch_assoc($resultat)) {$mailing_city=str_replace(" CEDEX", "", $donnees7['mailingcity']);if ($mailing_city==$donnees7['mailingcity'] AND $mailing_city==$mailing_city_tmp) { }elseif ($mailing_city==$donnees7['mailingcity']) { echo "<a href=\"".$deppage."page_annu2.php?dep=".$dep."&ville=".$donnees7['mailingcity']."\">"; echo $donnees7['mailingcity']; echo "</a><br />"; $mailing_city=$mailing_city_tmp; }else $mailing_city=$mailing_city_tmp;}
captain_torche Posté 17 Septembre 2007 Posté 17 Septembre 2007 Il vaudrait mieux limiter les résultats au niveau de la requête avec le paramètre REPLACE.
Keyser Posté 17 Septembre 2007 Posté 17 Septembre 2007 Il vaudrait mieux limiter les résultats au niveau de la requête avec le paramètre REPLACE. Ha oui bien vu, effectivement ça serait plus propre comme ça.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant