IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Encoder en json dans une boucle for


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Par défaut Encoder en json dans une boucle for
    Bonjour,

    Je souhaite encoder une chaîne de caractere plusieurs fois selon le nombre d'images dans une base. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    $query4 = "SELECT COUNT(*) FROM jos_slide";  
    $db->setQuery($query4);
    $count = $db->loadResult();
    for($i=0;$i<$count;$i++)
           {    
             preg_match('/< *img[^>]*src *= *["\']?([^"\']*)/i', $column[$i], $matches);             
     
    $var = array("title"=>"","content"=>"<img src=\\\"$matches[1]\\\" />","caption"=>"" ) ;
     
       }                        
     
     
    $champ = '{"type":"slideshow","id":0,"name":"slide     1","settings":{"style":"default","autoplay":1,"interval":5000,"width":"auto","height":"auto","duration":500,"index":0,"order":"default","navigation":1,"buttons":1,"slices":20,"animated":"randomSimple","caption_animation_duration":500},"style":"default","items":{"4f99005b8d886":{"title":"","content":"<img     src=\\\\\"http:\/\/www.sudoku-gratuit.fr\/illusion-optique\/1image-illusion-optique18.jpg\\\\\"  \/>","caption":""},"4f99009d554fa":{"title":"","content":"<img  src=\\\\\"http:\/\/www.crihan.fr\/admin\/imgs\/film_k-epsilon_juil08.jpg\\\\\"  \/>","caption":""},"4f98009d554fa":{"title":"","content":"<img  src=\\\\\"http:\/\//sara.alexander.free.fr\/rw_common\/themes\/blendit\/images\/header\/image5.jpg\\\\\"  \/>","caption":"http:\/\/www.google.com"}}}';
      $data = json_decode($champ,true);
     
    $data['items']["4f98769d554fa"] = $var;
       print_r($data);
    $data = json_encode($data);
    Ceci me fais que la derniere image de ma bdd alors qu'elle en contiens 2.
    Comment faire pour que sa marche pour toutes les images de la bdd ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2012
    Messages : 142
    Par défaut
    En fait j'ai trouvé la solution à mon probleme, je vous en fais profiter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    $query4 = "SELECT COUNT(*) FROM jos_slide";
     
    $db->setQuery($query4);
    $count = $db->loadResult();
     
    $champ = '{"type":"slideshow","id":0,"name":"slide1","settings":{"style":"default","autoplay":1,"interval":5000,"width":"auto","height":"auto","duration":500,"index":0,"order":"default","navigation":1,"buttons":1,"slices":20,"animated":"randomSimple","caption_animation_duration":500},"style":"default","items":{"4f99005b8d886":{"title":"","content":"<img       src=\\\\\"http:\/\/www.sudoku-gratuit.fr\/illusion-optique\/1image-illusion-optique18.jpg\\\\\"  \/>","caption":""},"4f99009d554fa":{"title":"","content":"<img  src=\\\\\"http:\/\/www.crihan.fr\/admin\/imgs\/film_k-epsilon_juil08.jpg\\\\\"  \/>","caption":""},"4f98009d554fa":{"title":"","content":"<img  src=\\\\\"http:\/\//sara.alexander.free.fr\/rw_common\/themes\/blendit\/images\/header\/image5.jpg\\\\\"  \/>","caption":"http:\/\/www.google.com"}}}';
      $data = json_decode($champ,true);
     
       for($i=0;$i<$count;$i++)
           {
     
     
     
             preg_match('/< *img[^>]*src *= *["\']?([^"\']*)/i', $column[$i], $matches);
             $var = array("title"=>"","content"=>"<img src=\\\"$matches[1]\\\" />","caption"=>"" ) ;                          
             $data['items'][$i] = $var;
     
     
     
     
       }                        
     
     
     
     
       print_r($data);
    $data = json_encode($data);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. multi ouverture de la console dans une boucle for
    Par jamesleouf dans le forum C++
    Réponses: 2
    Dernier message: 16/03/2006, 21h26
  2. Shell - Erreur dans une boucle for
    Par claralavraie dans le forum Linux
    Réponses: 4
    Dernier message: 11/01/2006, 13h45
  3. Problème avec une DLL dans une boucle For
    Par BraDim dans le forum Langage
    Réponses: 5
    Dernier message: 20/09/2005, 12h22
  4. [batch] incrémentation dans une boucle for
    Par bart64 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 08/09/2004, 20h05
  5. Réponses: 3
    Dernier message: 06/07/2004, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo