Comment réussir dans mon code la pagination en arrière sans supprimer les données en me passant de array_pop ???

Eléphant du PHP | 137 Messages

10 mars 2021, 22:33

Bonjour à tous.

J'ai un petit souci avec la PAGINATION RETOUR. J'essaie d'utiliser array_pop (ligne 18) dans la fonction loadPrevNode, mais ça efface mon menu lorsque j'essaie de le réutiliser. Je veux pouvoir faire ma PAGINATION EN ARRIERE SANS PERDRE OU SUPPRIMER DE DONNEES du tableau $this->stack car je dois l'utiliser à chaque fois dans mon Code donc je ne veux pas les supprimer.

J'ai cependant essayé d'utiliser la fonction PHP prev (https://www.php.net/manual/fr/function.prev.php qui récupère la valeur précédente dans un tableau) et end (https://www.php.net/manual/fr/function.end.php) en faisant $this->currentNode=$this->myTree->getNode(prev(end($this->stack))); MAIS ça n'arrête de me retourner des erreurs.

Code : Tout sélectionner

function getNode($name){ return $this->myTree->getNode($name); } function setIndex($ind){ $this->index=$ind; } function changeNode($node){ $this->setIndex(0); $currName=$this->currentNode->getName(); $this->stack[]=$currName; $newNode=$this->myTree->getNode($node); if(count($newNode->getChildren())==1){ $newNode=$this->myTree->getNode($newNode->getChildren()[0]); } $this->currentNode=$newNode; } function loadPrevNode(){ $this->currentNode=$this->myTree->getNode(array_pop($this->stack)); $this->currentNode->setIndex(0); $this->setIndex(0); }
Comment donc réussir à faire un système de PAGINATION RETOUR dans ma fonction loadPrevNode sans supprimer les données du dernier index du tableau comme ça les supprime dans mon code actuel avec array_pop ???

Aidez-moi s'il vous plaît.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

11 mars 2021, 14:34

Je n'ai pas compris ce que tu voulais faire et ce qui ne marche pas.
C'est quoi "un système de pagination retour" ?

Mon avis est que tu devrais simplifier au maximum ton code pour faire le debugage de ta fonction loadPrevNode().
Et une fois que tu as le fonctionnement attendu sur des données statiques par exemple, tu l'intègres dans ta fonction.
N'oublie pas d'utiliser var_dump() pour vérifier le contenu de tes variables et leur type.
Quand tout le reste a échoué, lisez le mode d'emploi...