Comment réussir dans mon code la pagination en arrière sans supprimer les données en me passant de array_pop ???
Posté : 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.
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.
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);
}Aidez-moi s'il vous plaît.