Decaler les lignes d'une base mysql

Résolu
mariobotta Messages postés 57 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 12 septembre 2009 - 6 avril 2006 à 19:10
mariobotta Messages postés 57 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 12 septembre 2009 - 7 avril 2006 à 09:28
bonjour,

je voudrais décaler les lignes d'une base(mysql) lorsque j'en enlève une afin de ne pas avoir de "trou" mais je sais pas trop comment exécuter cela
voici imaginons plusieurs lignes :
1
2
3
4

si j'enlève la ligne 2 par exemple cela me donne:
1
3
4

je voudrais faire remonter toutes les autres lignes pour ne pas avoir de trou
1
2
3
quelqu'un aurait il une idée?merci d'avance pour votre aide

7 réponses

mariobotta Messages postés 57 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 12 septembre 2009
6 avril 2006 à 20:45
bonsoir ,
non il ne s'agit pas de la clef mais d'un champs position mais je viens de trouver la solution simplement :
$ordre étant la position supprimer (le 2 dans mon exemple)
pour mon cas:
mysql_query("UPDATE `module` SET position =position-1 WHERE position>'$ordre' AND emplacement='0'");

en général
mysql_query("UPDATE `latable` SET position =position-1 WHERE position>'2' ");

cela doit être correcte maintenant car ç tourne chez moi .
maintenant je sais pas si cela ne prend pas trop de ressource de modifier les lignes de cette manière (qui dans mon cas ne sera pas nombreuses).

merci pour ton intervantion
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 avril 2006 à 20:24
helloo,

tu es sûr de toi...? Si tu parles de la clef, ce n'est pas une bonne idée DU TOUT.
Mais bon...sinon, c'est possible...mais fais voir la structure de ta table, avant...en indiquant ce que tu veux changer comme champ...
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
6 avril 2006 à 21:00
Si c'est pas nombreux ca peut aller ...

Encore faut il ne pas faire de modif trop souvent ! :p
0
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
6 avril 2006 à 21:02
Mouais...
Quand tu en supprimes un, tu prends l'enregistrement qui a le plus grand position et tu modif son position en celle de l'enregistrement que tu as supprimé... C'est pas mieux? :)

@++

R@f

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mariobotta Messages postés 57 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 12 septembre 2009
6 avril 2006 à 21:14
non ç une modification pour la mise en page sur 1 ,2 ou 3 colonnes d'un site et le positionnement des modules affichés donc pas appliqué souvent voir 1, 2 ou 3 fois lors de la construction du site et des modification future éventuelles.
(ç pour le webmaster du site en général)
j'utilise le même squelette pour mon cms alors je veux lui donner un maximum de mise en page sans trop de manipulation coté code et css.(un peu comme pwsphp mais le mien est multilingue à "l'infini" et avec des dossiers mieux défini dans le site(plus clair pour le webmasterlol).

pour répondre à la deuxième intervantion j'y ai penser aussi mais je préfère le décalage complet.

merci à tous pour votre aide
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 avril 2006 à 23:43
hmm, mouais...je t'accorde le bénéfice du doute pour plusieurs raisons: j'ai pas compris ce que tu cherchais à faire (c'est une bonne raison, lol), et FhX et Coockiesh qui sont loin d'être des nases ont l'air d'avoir compris, eux ;-)

Ceci dit...ça me parait louche, ta manipulation. On ne devrait pas avoir besoin de telles manipulations sur une base. A moins d'avoir de TRES bonnes raisons, ou d'avoir mal structuré son bin's, au choix.

Bref, comme j'ai pas compris, je me contente d'un : t'es bien sûr d'avoir bien pensé ton machin, hein...? T'as vraiment besoin de bouger ta table de cette manière...?
0
mariobotta Messages postés 57 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 12 septembre 2009
7 avril 2006 à 09:28
"La mise en page" de mon site se trouve dans une table enfin plus exactement les bloc affichés.
je sais cela parait inutile une telle manipulation mais lorsque j'ai un client qui ne se décide pas je dois pouvoir modifier la mise en page sans transformer le code .De plus comme je l'ai dis plus haut j'utilise le même squelette et je lui applique des "themes" différent" pour chaque client.(qui veux un cms)
Il s'agit là d'une manipulation rare (pour webmaster paresseux lol) mais evite de toucher au code pour les différents "themes".
Les modules peuvent également évoluer et s'ajouter ou se retirer (c interressant pour çà aussi).

Voilà j'espère que tu vois mieux où je voulais en venir (reste à optimizer le code)
à bientot et merci
0
Rejoignez-nous