changer l'ordre d'affichage

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : changer l'ordre d'affichage

par moileraz » 15 oct. 2008, 12:07

Bonjour,
merci à tout les deux de votre aide car j'arrivé pas vraiment à trouver la logique pour mettre ca en route.

je vais faire les testes et vous dire ou ca en est

par Aureusms » 14 oct. 2008, 21:26

Bien Ok je vais t'aider un peu :
Utilises la fonction array_slice() http://www.manuelphp.com/php/function.array-slice.php bien pratique dans ton cas.
<?php
$tab = array (1,2,3,4,5,6,7,8,9,10);
$tab_temp1 = array_slice(0,1); //on récupère que la variable 1
$tab_temp2 = array_slice(1,8) //on récupère 2,3,4,5,6,7,8,9

array_push ($tab_temp1,10); //on insère la variabel 10 au premier tableau qui devient 1,10

$tab_fin = array_combine ($tab_temp1,$tab_temp2); //on fusionne les deux tableaux.

?>
il te reste plus qu'à tester où se trouve la clef de ta variable que tu veux "switcher" et ainsi calculer les données pour array_slice. Utilises array_keys http://www.manuelphp.com/php/function.array-keys.php pour cela mais là je te laisse un peu chercher...

par Calimero » 14 oct. 2008, 21:18

Salut merci pour ta réponse,
ca je sais mais mon problème c'est quand j'ai 10 images qui sont dans cette position


1
2
3
4
5
6
7
8
9
10


et que je veut mettre l'image 10 en position 2 il faut que je modifie la position de l'image 2 jusqu'au 9eme

voila
C'est beaucoup plus clair comme problème (je pense que tu ne l'avais pas du tout bien expliqué dans ton post initial). Tu souhaites donc pouvoir gérer cet ordre dans une interface.

Déjà tu supposes que le champ d'ordre doit être un entier positif. Ce n'est pas obligatoire, même si c'est le cas le plus classique.

Le problème évident que tu as remarqué est que si tu veux insérer un élément en position 2 (entre l'élément d'ordre 1 et l'élément d'ordre 2), tu te retrouves obligé d'incrémenter tout ce qui est >=2, car il n'y a aucune possibilité dans l'univers entier positif entre 1 et 2.

Ca se fait très facilement en SQL :

Code : Tout sélectionner

UPDATE latable SET lechampordre=lechampordre+1 WHERE lechampordre >=2;
Quel est ton réel problème en fait ? :-)

par moileraz » 14 oct. 2008, 21:06

Salut merci pour ta réponse,
ca je sais mais mon problème c'est quand j'ai 10 images qui sont dans cette position


1
2
3
4
5
6
7
8
9
10


et que je veut mettre l'image 10 en position 2 il faut que je modifie la position de l'image 2 jusqu'au 9eme

voila

par Aureusms » 14 oct. 2008, 20:54

Ici on rase gratis...

Plus sérieusement, essaye dans ta base d'indiquer une colonne position qui te donneras cette fameuse position. Ensuite avec une page admin tu donne cette position.

changer l'ordre d'affichage

par moileraz » 14 oct. 2008, 17:26

Bonjour,
dans ma base de données j'ai plusieurs images, qui sont affiché en fonction de leurs ID. J'aimerai rajouté un champs "position" afin de pouvoir les affichés dans n'importe quel ordre.

Auriez vous une fonction pour le faire.

J'ai essayé de trouver une solution mais en vain.

merci d'avance pour votre aide