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 :

contenu json pagination php [PHP 5.6]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Par défaut contenu json pagination php
    Bonjour,

    j'ai besoin d'aide pour optimiser mon petit script php qui me permet de récupérer du json,
    tout fonctionne bien et je suis à l'étape de la pagination.

    Si je passe les infos via l'url par exemple index.php?page=1, 2, 3 ça fonctionne très bien

    puis j''essaye d'ajouter au bas les pagination tel que 1 2 3, j'ai pu arriver mais j'ai un soucis lorsque je veux récupérer le nombre d'item pour faire cela,

    normalement il y a 16 entré dans mon script, et si je tape un valeur de 16 pour la pagination le calcul ce fait et donc diviser par 4 ça me fait bien 4 pages

    mais je dois récupérer automatiquement ce nombre normalement il me semble que ce nombre je la récupéré dans $i++ mais quand je met en bas ça bug un peux ...

    et donc j'ai du faire cette variable -> $valeurManuelle et mettre la valeur dedans, mais c'est pas pratique

    pouvez vous voir mon script et me dire si il y a un bug? Au bas? si ça vous dérange pas?

    Merci


    Code php : 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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
     
    <?php
     
    //error_reporting(0);
     
     
     
    $json_url = "";
     
     
    // pagination
    $page = $_GET['page'];
     
    $nbParPage = 4;
     
    if (empty($_GET['page']) OR !is_numeric($_GET['page'])) {
     
        $debut = 0;
        $fin = count($json_url->results);
     
    } else {
     
        $debut = ($page - 1) * $nbParPage;
        $fin = $debut + $nbParPage;
    }
     
     
    $json = file_get_contents($json_url);
    $articles = json_decode($json, TRUE);
     
    ?>
     
     
    <h1>Les infos</h1>
    <hr>
     
     
    <?php
     
    $i = 0;
        foreach(array_slice($articles['results'], $debut) as $key=>$val){ 
     
        if ($i < $nbParPage){
     
     
    ?>
    			<h5><a href="<?php echo $val['link'] ?>" target="_blank"><?php echo $val['title_value'] ?></a></h5>
    		   <p><?php echo $val['link/_text'] ?></p>
    		  <p><em><?php echo $val['number/_source'] ?></em></p>
    		  <a href="<?php echo $val['link'] ?>" target="_blank"><img src="<?php echo $val['unveil_image'] ?>" width="150" height="85"></img></a>
    		    <hr>
    	 	<?php
       }
       $i++;
     
    }
     
    ?>
     
    <?php
     
     
     
    $valeurManuelle = '16';
     
    $nb_pages = ceil($valeurManuelle / $nbParPage);
     
    echo '<p>[ Page :';
    // Boucle sur les pages
    for ($i = 1 ; $i <= $nb_pages ; $i++) {
        if ($i == $page )
            echo " $i";
        else
            echo " <a href=\"?page=$i\">$i</a> ";
    }
    echo ' ]</p>';
     
    ?>

  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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    si la valeur est le nombre d'articles, tu peux simplement récupérer la taille du tableau de résultats au début de ton script : count($articles['results']).
    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 confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 202
    Par défaut
    Merci Celira,
    c'est parfait maintenant

    :-)

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

Discussions similaires

  1. [AJAX] d'envoi d'un JSON a php
    Par DeeVoiD dans le forum AJAX
    Réponses: 1
    Dernier message: 09/04/2009, 14h46
  2. [AJAX] Ajax et Json - création d'un .json par PHP
    Par versus68 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/06/2008, 17h18
  3. Création de fichier json avec PHP
    Par versus68 dans le forum Langage
    Réponses: 1
    Dernier message: 02/06/2008, 11h56
  4. [MySQL] Probleme pagination php
    Par cedgs dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/05/2008, 09h44
  5. Réponses: 2
    Dernier message: 09/01/2008, 09h40

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