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 :

Modifier ma fonction comme dans un système de pagination pour qu'il n'affiche que les 5 prochains menus


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut Modifier ma fonction comme dans un système de pagination pour qu'il n'affiche que les 5 prochains menus
    Bonjour.

    J'ai un petit nouveau bug de changement d'affichage de menu de mon projet USSD (ce que j'appelle: "PAGINATION") qui pourtant fonctionnait avant que je ne fasse des modifications dans une autre partie de mon projet.

    Nom : USSD MENU.png
Affichages : 264
Taille : 32,0 Ko

    Comme vous pouvez le constater sur la capture d'écran que je viens de vous envoyer, la Page suivante (7 à 12) sélectionnée en bleu sur cette capture d'écran, du Menu apparait juste en dessous de l'index alors que quand on envoie le message "99" qui actionne l'option "Next", la 1ère liste de Menu de l'index par défaut (1 à 6) devrait disparaître et laisser place à la liste de Menus suivante (7 à 12).

    LE CODE QUI GERE L'AFFICHAGE DES MENUS EST LE SUIVANT:

    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
    function toString(){
    		$objectString='';
    		$items=$this->children;
    		$bufferLimit=(count($items)==0)?1:$this->getBufferLimit()+1;
    		do{
    			$bufferLimit-=1;
    			$objectString=$this->recurseMenu($items,$bufferLimit);
    		}while(strlen($objectString>160));
    		$this->index=$bufferLimit;
    		return $objectString;
    	}
     
    function getBufferLimit() {
    		$len=count($this->children);
    		$margin=$len-$this->index;
    		if($margin<5)
    			return $this->index+$margin;
    		else
    			return $this->index+5; //Permet de définir le Nombre de Menu à afficher au niveau de l'index "/ussd/receiver.php" dont le Menu est "/ussd/MyTree.php".
    	}
    Comment donc modifier le return $this->index+6 dans ma fonction getBufferLimit pour qu'il affiche SEULEMENT les 6 prochaines liste de Menu même quand on clique sur l'action "99. Next" au lieu de les afficher en dessous des précédents comme on le voit actuellement sur la capture d'écran ci-dessus sachant qu'elle est également utilisé dans la fonction toString ci-dessous ???

    Merci de m'aider s'il vous plaît.

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Quand je débugue lors du 1er appel à "99. Next", je reçois: comme valeur de $len = 12, de $margin = 12 et de $this->index = 0.
    Quand je débugue lors du 2ème appel à "99. Next", je reçois: comme valeur de $len = 12, de $margin = 7 et de $this->index = 5.
    Quand je débugue lors du 3ème appel à "99. Next", je reçois: comme valeur de $len = 12, de $margin = 2 et de $this->index = 10.


    Voici mon code avec le débugage:

    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
    function getBufferLimit() {
    		$len=count($this->children);
    		$margin=$len-$this->index;
    		echo "<pre>";
    		echo $len;
    		echo "</pre>";
     
    		echo "<pre>";
    		echo $margin;
    		echo "</pre>";
     
    		echo "<pre>";
    		echo $this->index;
    		echo "</pre>";
     
    		if($margin<5)
    			return $this->index+$margin;
    		else
    			return $this->index+5; //Permet de définir le Nombre de Menu à afficher au niveau de l'index "/ussd/receiver.php" dont le Menu est "/ussd/MyTree.php".
    	}
    Comment donc scinder l'affichage des menus par 5 à chaque appel de "99. Next" ???

    Merci de m'aider s'il vous plaît.

Discussions similaires

  1. [X3-V7] Fonction right dans transaction système
    Par leloup84 dans le forum SAGE
    Réponses: 9
    Dernier message: 03/07/2018, 13h48
  2. Réponses: 0
    Dernier message: 29/04/2016, 20h18
  3. session dans un système de pagination
    Par ronze dans le forum Langage
    Réponses: 12
    Dernier message: 16/05/2011, 12h08
  4. VS6.0 - reduction des fonctions comme dans le 2003 et 2005
    Par squale32 dans le forum Visual C++
    Réponses: 7
    Dernier message: 23/02/2007, 15h38
  5. Fonction Comme dans requete paramétrée
    Par spearboy dans le forum Access
    Réponses: 7
    Dernier message: 14/04/2006, 08h57

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