Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > MVC
MVC Forum de support sur le développement d'applications de type modèle-vue-contrôleur avec Zend Framework ainsi que vos questions sur les plugins, les helpers etc. Avant de poster -> Cours MVC, FAQ ZF Controller
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/05/2011, 10h32   #1
Futur Membre du Club
 
Dior cyprien
Inscription : mai 2010
Messages : 45
Détails du profil
Informations personnelles :
Nom : Dior cyprien

Informations forums :
Inscription : mai 2010
Messages : 45
Points : 17
Points : 17
Par défaut Enlever la virgule à la fin de la boucle

Bonjour,

Dans ma boucle j'ai une virgule qui doit se répéter, par contre pas à la fin de boucle. Que faire plz ?

voici mon code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
$sql = $this->db->fetchAll("SELECT * FROM article WHERE date_creation LIKE '%$nextday%' and id_article=$result[id] ORDER by date_creation ASC");
foreach ($sql as $result)
{		
		$xml.='             
                   {
                       "Titre": "'."$result[title]".'",
                       "Description": "'."$result[description]".'" 
                  ,   
                   }';
		
}
cyprien95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 10h59   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
si tu veux faire du json utilise json_encode
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2011, 11h15   #3
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
la question est assez mal posée, en me relisant je me demande si je suis pas hs.

celon ce qu'on comprend on peut faire ceci, en plus sécurisé et performant et sans la virgule "à la fin":
Code :
1
2
3
4
5
6
7
8
9
10
$sql = $this->db->fetchAll("SELECT title,description FROM article WHERE date_creation LIKE '%$nextday%' and id_article=".mysql_real_escape_string($result['id'], $this->$db->$link)." ORDER by date_creation ASC");
foreach ($sql as $result)
{		
		$xml.='             
                   {
                       "Titre": "'.xmlspecialchar($result['title']).'",
                       "Description": "'.xmlspecialchar($result['description']).'" 
                   }';
 
}
voir un truc comme ceci, plus audacieux
Code :
1
2
3
4
5
6
7
8
9
10
11
12
$sql = $this->db->fetchAll("SELECT title,description FROM article WHERE date_creation LIKE '%$nextday%' and id_article=".mysql_real_escape_string($result['id'], $this->$db->$link)." ORDER by date_creation ASC");
 
function $modify(&$item, $key, $text1, $text2 )
{
     $item='{'.
               $text1.':'.xmlspecialchar($item['title']).','.
               $text2.':'.xmlspecialchar($item['description']).
              ',}';// c'est bien parce qu'elle était dans le code cette virgule...
} 
 
array_walk($sql, $modify, 'Titre', 'Description');
$final_string = implode($sql,',');
bon ça j'ai pas testé mais ça m'a l'air pas mal.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 11h46   #4
Membre actif
 
Homme Fabrice Agnello
Développeur informatique
Inscription : octobre 2010
Messages : 76
Détails du profil
Informations personnelles :
Nom : Homme Fabrice Agnello
Âge : 39
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : octobre 2010
Messages : 76
Points : 161
Points : 161
Je suis d'accord avec la réponse de stealth35.

Néanmoins, si vous tenez à cette boucle dans ce sens, essayez de vous inspirer de ça :

Code :
1
2
3
4
5
6
7
 
$x = '';
$s = false;
  for($i=0; $i < 10; $i++)
    $x .= ((!$s && $s=',')?'':$s).'test';
 
  echo $x;
Le principe ici est de mettre le séparateur en _début_ de chaine.

A la première itération, le séparateur est vide et automatiquement renseigné dans la condition de l'opérateur ternaire. A la seconde itératio, le séparateur vaudra ',' et de fait sera concaténé dans la chaine.
Agnello Fabrice est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 26/05/2011, 17h09   #5
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Vous avez jamais entendu parler d'implode ?

Code :
1
2
3
 
$pieces = array('a', 'b', 'c');
echo 'mavar=' . implode(',',$pieces);
Pour le JSon, utilisez JSon encode. Si vous n'avez pas la version de PHP adéquate, il y a une implémentation sur php.net.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 08h06   #6
Membre actif
 
Homme Fabrice Agnello
Développeur informatique
Inscription : octobre 2010
Messages : 76
Détails du profil
Informations personnelles :
Nom : Homme Fabrice Agnello
Âge : 39
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : octobre 2010
Messages : 76
Points : 161
Points : 161
Citation:
Envoyé par Benjamin Delespierre Voir le message
Vous avez jamais entendu parler d'implode ?
dois-je imaginer que cette remarque m'était adressée ? Si tel est le cas, oui il me semble avoir déjà croisé cette fonction. Je crois même l'avoir déjà utilisée.

Une relecture de mon post, devrait vous permettre de voir que je mettais une condition à la solution que je propose à l'OP, à savoir : "Néanmoins, si vous tenez à cette boucle dans ce sens, essayez de vous inspirer de ça...", ce qui ne me semble pas laisser d'ambiguité quant à la qualité de la solution.

Cordialement.
Agnello Fabrice est déconnecté   Envoyer un message privé Réponse avec citation 12
Vieux 27/05/2011, 09h59   #7
Futur Membre du Club
 
Dior cyprien
Inscription : mai 2010
Messages : 45
Détails du profil
Informations personnelles :
Nom : Dior cyprien

Informations forums :
Inscription : mai 2010
Messages : 45
Points : 17
Points : 17
merci les gars, toutes vos contributions m'ont aidé
j'ai pu tester toutes les réponses ci-dessus et cela m'a vachement aidé merci encore une fois et bon week-end
cyprien95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 12h25   #8
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Par curiosité, comment as-tu résolu ton problème ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre 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 16h41.


 
 
 
 
Partenaires

Hébergement Web