Monter/Descendre les liens dans un menu dynamqiue

SAaD44 Messages postés 69 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 6 décembre 2007 - 29 août 2004 à 11:10
SAaD44 Messages postés 69 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 6 décembre 2007 - 6 févr. 2005 à 18:21
Voila ce que j'ai fait :

<?php
$requete = \"SELECT * FROM `menu_left_titre`\";
$requete1 = mysql_query($requete);
while ($voir = mysql_fetch_array($requete1)){?>
----

<?echo $voir[1];?>,

<?$requete2 = \"SELECT * FROM `menu_left_lien` where num_famille=\".$voir[0].\" order by `num`\";
$requete3 = mysql_query($requete2);
while ($voir = mysql_fetch_array($requete3)){?>
----

<?echo $voir[1];?> - ">+1,

<?}}?>

et voici la requête mysql :

<?
if($plus){
$id2 = $id+1;$sql 'UPDATE `menu_left_lien` SET `num` '.$id2.' WHERE `num` = '.$id.'';
$result=mysql_query($sql) or print 'erreur';
echo $id2;
}?>

Ce qui me permet d'ajouter +1 à la valeur inscrite dans le champ `num`, or ce champ `num` est en auto_increment, et donc unique, donc la requête mysql bloque lorsqu'elle essaye d'ajouter +1 et que le résultat donnera un chiffre deja existant. Donc les liens ne changent pas de place...
Voila, j'èspère avoir été clair :blush)

Merci et @ plouche !

P.S.: je n'arrive pas à mettre du code sur fond grisé, comment fais-t'on ?

6 réponses

TheEwook Messages postés 155 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 30 mai 2005
29 août 2004 à 13:49
salut ,

Premier chose à faire c'est de créer un autre champ de type interger nommé par exemple position

Puis aprés quand tu crées ton tableau, tu affectes tes liens comme ceci:

Liens1 => position = 0
Liens2 => position = 100
Liens3 => position = 200
etc.....

si tu dois avoir plus de 100 liens dans ton menu alors il faut augmenter l'ecart. (Tu comprends le principe)

Aprés il te suffit juste d'ajouter 1 ou de retirer 1 à position en fonction de tes liens

et de tous classer par position

Voilà

j'éspere que j'ai été assez clair.

@++

________________
TheEwook
0
SAaD44 Messages postés 69 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 6 décembre 2007
29 août 2004 à 17:04
Excuse moi, mais si j'ajoute 1 au lien1 par exemple, ça va donner ça :
Liens1 => position = 1
Liens2 => position = 100
Liens3 => position = 200
etc.....
et les liens seront toujours dans le même ordre...
0
TheEwook Messages postés 155 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 30 mai 2005
29 août 2004 à 18:30
Salut,

exact, j'aurais réflechir un peu avant de poster

je vais voir car j'utilise justement dans mon site ce genre de procedé

je voit et je te dis quoi

@++

________________
TheEwook
0
SAaD44 Messages postés 69 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 6 décembre 2007
29 août 2004 à 18:39
ok merci
0

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

Posez votre question
TheEwook Messages postés 155 Date d'inscription samedi 3 juillet 2004 Statut Membre Dernière intervention 30 mai 2005
29 janv. 2005 à 11:41
Salut,

Voilà la source de mon site à l'état brute :

$req_blocs=mysql_query("SELECT * FROM `modules` WHERE `id`=$id");
$result_blocs = mysql_fetch_object($req_blocs) ;



$pos_down = $result_blocs->position ;
$id_down = $id ;



$pos_up = $pos_down - 1 ;



$req_blocs=mysql_query("SELECT * FROM `modules` WHERE `position`=$pos_up and `emplacement`=$result_blocs->emplacement");
$result_blocs = mysql_fetch_object($req_blocs) ;



$id_up = $result_blocs->id ;



//echo "$pos_down <=> $pos_up
$id_down <=> $id_up" ;



mysql_query("UPDATE `modules` SET position=$pos_down WHERE `id`=$id_up") ;
mysql_query("UPDATE `modules` SET position=$pos_up WHERE `id`=$id_down") ;

La table module est la table où sont stockés les liens avec leur emplacement

voilà

@++

________________
TheEwook
http://www.codes-studio.com
0
SAaD44 Messages postés 69 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 6 décembre 2007
6 févr. 2005 à 18:21
merci,

mais malheureusemnt j'ai du mal à faire fonctionner ce code...


<?php

$conn = mysql_connect("localhost", "root", "");

mysql_select_db("test",$conn) or
die ("

Connexion à la
base impossible
");

$req_blocs=mysql_query("SELECT * FROM `modules` WHERE `id`=$id");

$result_blocs = mysql_fetch_object($req_blocs) ;

$pos_down = $result_blocs->position ;

$id_down = $id ;

$pos_up = $pos_down - 1 ;

$req_blocs=mysql_query("SELECT * FROM `modules` WHERE `position`=$pos_up and `emplacement`=$result_blocs->emplacement");

$result_blocs = mysql_fetch_object($req_blocs) ;

$id_up = $result_blocs->id ;

echo "$pos_down <=> $pos_up
$id_down <=> $id_up

" ;

mysql_query("UPDATE `modules` SET position=$pos_down WHERE `id`=$id_up") ;

mysql_query("UPDATE `modules` SET position=$pos_up WHERE `id`=$id_down") ;

$sql="SELECT * FROM `modules` order by `position`";

$res=mysql_query($sql);

while($var = mysql_fetch_array($res)){

echo $var["nom"]." - Action

lien2 - Action

lien3 - Action

lien4 - Action

lien5 - Action






Je ne comprend pas trop ce que ce code fait, pourrais-tu m'expliquer stp

Comment fai-je pour faire un lien "monter" et un lien "descendre"

merci
0
Rejoignez-nous