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

PHP & Base de données Discussion :

exploiter select mysql via json [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut exploiter select mysql via json
    Bonjour,
    j'ai sur ma page un script jquery qui permet d'afficher un calendrier avec gestion d'evenement

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="eventCalendarHumanDate"></div>
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $(document).ready(function() {
    	$("#eventCalendarHumanDate").eventCalendar({
    		eventsjson: 'json/event.humanDate.json.php',
    		monthNames: [ "Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre" ],
    		dayNames: [ 'Dimanche','Lundi','Mardie','Mercredi', 'Jeudi','Vendredi','Samedi' ],
    		dayNamesShort: [ 'Dim','Lun','Mar','Mer', 'Jeu','Ven','Sam' ],
    		txt_noEvents: "Pas d'événement pour cette date",
    		txt_SpecificEvents_after: "événements:",
    		txt_SpecificEvents_prev: "",
    		txt_next: "suivant",
    		txt_prev: "précédent",
    		txt_NextEvents: "Événements à venir:",
    		jsonDateFormat: 'human'  // 'YYYY-MM-DD HH:MM:SS'
    	});
    });

    il reçoit des donné par ce fichier json

    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
    <?php
    header('Content-type: text/json');
    echo '[';
    $separator = "";
    $days = 16;
     
    $i = 1;
        echo $separator;
        $initTime = date("Y")."-".date("m")."-".date("d")." ".date("H").":00:00";
        //$initTime = date("Y-m-d H:i:00");
        echo '  { "date": "2013-04-01 17:30:00", "type": "meeting", "title": "Test Last Year", "description": "Lorem Ipsum dolor set", "url": "" },';
        echo '  { "date": "2013-04-02 17:30:00", "type": "meeting", "title": "Test Last Year", "description": "Lorem Ipsum dolor set", "url": "" },';
        echo '  { "date": "'; echo date("Y-m-d H:i:00",strtotime($initTime. ' + 1 days')); echo '", "type": "meeting", "title": "Projectto '; echo $i; echo ' meeting", "description": "Lorem Ipsum dolor set", "url": "" },';
        echo '  { "date": "'; echo date("Y-m-d H:i:00",strtotime($initTime. ' + 1 days + 4 hours')); echo '", "type": "demo", "title": "Project '; echo $i; echo ' demo", "description": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", "url": "http://www.event2.com/" },';
     
        echo '  { "date": "'; echo date("Y-m-d H:i:00",strtotime($initTime. ' + 1 days 8 hours')); echo '", "type": "meeting", "title": "Test Project '; echo $i; echo ' Brainstorming", "description": "Lorem Ipsum dolor set", "url": "http://www.event3.com/" },';
        echo '  { "date": "'; echo date("Y-m-d H:i:00",strtotime($initTime. ' + 3 days 3 hours')); echo '", "type": "test", "title": "A very very long name for a f*cking project '; echo $i; echo ' events", "description": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam.", "url": "http://www.event4.com/" },';
        echo '  { "date": "'; echo date("Y-m-d H:i:00",strtotime($initTime. ' + 2 days 3 hours')); echo '", "type": "meeting", "title": "Project '; echo $i; echo ' meeting", "description": "Lorem Ipsum dolor set", "url": "http://www.event5.com/" },';
        echo '  { "date": "'; echo date("Y-m-d H:i:00",strtotime($initTime. ' + 4 days 3 hours')); echo '", "type": "demo", "title": "Project '; echo $i; echo ' demo", "description": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", "url": "http://www.event6.com/" },';
        echo '  { "date": "'; echo date("Y-m-d H:i:00",strtotime($initTime. ' + 7 days 1 hours')); echo '", "type": "meeting", "title": "Test Project '; echo $i; echo ' Brainstorming", "description": "Lorem Ipsum dolor set", "url": "http://www.event7.com/" },';
        echo '  { "date": "'; echo date("Y-m-d H:i:00",strtotime($initTime. ' + 12 days 3 hours')); echo '", "type": "test", "title": "A very very long name for a f*cking project '; echo $i; echo ' events", "description": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam.", "url": "http://www.event8.com/" },';
        echo '  { "date": "'; echo date("Y-m-d H:i:00",strtotime($initTime. ' + 20 days 10 hours')); echo '", "type": "demo", "title": "Project '; echo $i; echo ' demo", "description": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", "url": "http://www.event9.com/" },';
        echo '  { "date": "'; echo date("Y-m-d H:i:00",strtotime($initTime. ' + 22 days 3 hours')); echo '", "type": "meeting", "title": "Test Project '; echo $i; echo ' Brainstorming", "description": "Lorem Ipsum dolor set", "url": "http://www.event10.com/" },';
        echo '  { "date": "'; echo date("Y-m-d H:i:00",strtotime($initTime. ' + 28 days 1 hours')); echo '", "type": "test", "title": "A very very long name for a f*cking project '; echo $i; echo ' events", "description": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam.", "url": "http://www.event11.com/" }';
        $separator = ",";
    echo ']';
    ?>
    comment puis exploiter ce type de requête ci dessous ? ( je ne met que le champ "type" mais j'ai 5 colonnes dans ma table qui corespondent aux 4 rubriques du fichier json plus haut : type,title,description,url + l'id

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $requete_prepare=$connexion->prepare("SELECT type_calendar FROM calendar"); 
    $requete_prepare->execute();
    while($lignes=$requete_prepare->fetch(PDO::FETCH_OBJ))
    {
         echo $lignes->type_calendar.'<br />';
    }
    comment puis intégrer cette requête dans le fichier json

    merci de votre aide

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Le plus simple est sans doute de construire un tableau et d'appliquer json_​encode dessus pour écrire ton json
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    merci

    j'ai fait ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    header('Content-type: text/json');
    include '../conexionbd.php';
    $requete_prepare=$connexion->prepare("SELECT date,type,title,description FROM calendar"); 
     
    $requete_prepare->execute();
    $results=$requete_prepare->fetchAll(PDO::FETCH_ASSOC);
    $json=json_encode($results);
    echo  $json
    ?>
    je continue sur cette piste ?

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Là tu mets la totalité de ta table directement dans le json. Si c'est ce que tu veux faire, parfait.
    Sinon, il faut que tu boucles avec un fetch simple et que tu remplisses un tableau.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $results = $requete_prepare->fetchAll(PDO::FETCH_ASSOC);
    $data = array();
     
    while ($result = $results->fetch()) {
    	$ligne = array();
    	$ligne['type'] = $result->type;
    	$data[] = $ligne;
    }
     
    $json=json_encode($data);
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    merci

    il me faut tous les champs de la table je pense

    il faut que la page json.php donne l’équivalent du code ci dessous mais en exploitant dynamiquement les données des 4 champs de la table ( date,type, title,description)

    le scripte exploite cette page json.php pour afficher les événements du calendrier

    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
    <?php
    header('Content-type: text/json');
    echo '[';
    $separator = "";
    $days = 16;
     
    $i = 1;
        echo $separator;
        $initTime = date("Y")."-".date("m")."-".date("d")." ".date("H").":00:00";
        //$initTime = date("Y-m-d H:i:00");
     echo '  { "date": "2014-02-01 12:30:00", "type": "meeting", "title": "evenement 01 ", "description": "Lorem Ipsum dolor set", "url": "" },';
       echo '  { "date": "2014-04-02 17:30:00", "type": "meeting", "title": "Test evenement 02", "description": "Lorem Ipsum dolor set", "url": "" }';
     
        $separator = ",";
     
    echo ']';
    ?>

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    ça fonctionne en faisant comme ça


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $requete_prepare=$connexion->prepare("SELECT date,type,title,description FROM calendar"); 
     
    $requete_prepare->execute();
    $results=$requete_prepare->fetchAll(PDO::FETCH_ASSOC);
    $json=json_encode($results);
    echo  $json	  ;

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

Discussions similaires

  1. Exploitation base MySQL : Select/Jointure
    Par jourzebest dans le forum QlikView
    Réponses: 2
    Dernier message: 14/04/2015, 17h11
  2. Réponses: 24
    Dernier message: 22/06/2013, 20h27
  3. gérer une base de donnée MySql via C++
    Par thiane dans le forum Bibliothèques
    Réponses: 9
    Dernier message: 19/05/2005, 16h19
  4. Comment sauvegarder MySQL via SSH ?
    Par Blade dans le forum Administration
    Réponses: 7
    Dernier message: 30/09/2004, 14h03
  5. [JBuilder]connexion postgres ou mysql via DataExpress
    Par rebolon dans le forum JBuilder
    Réponses: 12
    Dernier message: 07/08/2003, 16h45

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