Accueil > Forum > > > > inverser 2 lignes
inverser 2 lignes
mardi 21 février 2006 à 13:58:40 |
inverser 2 lignes

mariobotta
|
bonjour,
Je cherche un moyen pour ordoner mon menu grace à un lien du type "up"/"down" suivant le cas. Mais pour cela je pense devoir inverser 2 ligne pour incrémenter de 1 ou -1 l'ordre. J'ai essayer cette methode mais mon problème est que ma première requete ne s'exécute pas quelqu'un aurait il une idée? merci d'avance
if($_GET['mod'] == 'plus') { //celui qui monte UPDATE `tickets` SET ordre=3 WHERE ordre= 2 mysql_query("UPDATE $matable SET ordre =(".$_GET['ordre']."+1) WHERE ordre=".$_GET['ordre']); //celui qui descend UPDATE `tickets` SET ordre=2 WHERE ordre= 3 mysql_query("UPDATE $matable SET ordre=".$_GET['ordre']." WHERE ordre=(".$_GET['ordre']."+1)"); }
if($_GET['mod'] == 'moins') { //celui qui descend UPDATE `tickets` SET ordre=3 WHERE ordre= 2 mysql_query("UPDATE $matable SET ordre =(".$_GET['ordre']."+1) WHERE ordre=".$_GET['ordre']); //celui qui monte UPDATE `tickets` SET ordre=2 WHERE ordre= 3 mysql_query("UPDATE $matable SET ordre=".$_GET['ordre']." WHERE ordre=(".$_GET['ordre']."+1)"); }
|
|
mercredi 22 février 2006 à 11:27:00 |
Re : inverser 2 lignes

Mindiell
|
Ta première requete s'execute bien :
Départ : a - 2 b - 3 Premiere requete : a - 2 b - 2 Deuxieme requete : a - 3 b - 3
Puisque tu te bases uniquement sur l'ordre... a mon avis, le mieux serait soit de baser ta requete sur l'id. exemple : "remonter b" Départ a - 2 b - 3 Premiere requete : je modifie l'id 3 a - 2 b - 2 Deuxieme requete : je modifie l'id 2 de tout ce qui n'est pas b a - 3 b - 2
Ou alors passer par la valeur -1 : Départ a - 2 b - 3 Premiere requete : je modifie la valeur3 a - 2 b - (-1) Deuxieme requete : je modifie la valeur 2 a - 3 b - (-1) Troisieme requete : je modifie la valeur -1 a - 3 b - 2
Mindiell Software
|
|
mercredi 22 février 2006 à 22:54:54 |
Re : inverser 2 lignes

mariobotta
|
bonsoir,
merci pour ton aide et cette réflexion
j'ai une table avec plusieurs id primaire et toucher à l'id est assez lourd pour moi à maneuvrer. Donc j'ai trouver une astuce en créant un champs pour l'ordre temporaire pcq j'ai essayer 2 requetes uniquement mais impossible à faire tourner sans ecraser la valeur
voici ce que j'ai fait (à optimiser surement) et je cherche toujours le moyen pour eviter le champs temporaire je vais encore essayer avec l'id car il y a surement moyen de conserver l'ordre en mémoire pour les requetes si tu trouves une meilleur solution fais le moi savoir sinon j'espère que ce code pourra t'aider ou aider quelqu'un car sur goo par exemple j' ai pas trouver de solution de ce type. encore merci pour ton aide Enfin soit:
if($_GET){ $ordre=$_GET['ordre'];//2 $img=$_GET['img'];//table $lang=$_GET['lang'];//lang } if($_GET['mod'] == 'plus') { $ordre1=$ordre+1;//3 $ordre2=$ordre;//2 mysql_query("UPDATE $img SET ordre_page ='$ordre1' WHERE ordretemp='$ordre'"); mysql_query("UPDATE $img SET ordre_page='$ordre' WHERE ordretemp='$ordre1'"); $requete= mysql_query('SELECT `ordre_page` FROM '.$img); while($result = mysql_fetch_array($requete)) { $ordre = $result['ordre_page']; $sql=mysql_query("UPDATE $img SET ordretemp ='$ordre' WHERE ordre_page='$ordre'"); } }
if($_GET['mod'] == 'moins') { $ordre1=$ordre-1;//3 $ordre2=$ordre;//2 mysql_query("UPDATE $img SET ordre_page ='$ordre1' WHERE ordretemp='$ordre'"); mysql_query("UPDATE $img SET ordre_page='$ordre' WHERE ordretemp='$ordre1'"); $requete= mysql_query('SELECT `ordre_page` FROM '.$img); while($result = mysql_fetch_array($requete)) { $ordre = $result['ordre_page']; $sql=mysql_query("UPDATE $img SET ordretemp ='$ordre' WHERE ordre_page='$ordre'"); } }
//redirection header("Location: ../index.php?lang=$lang&adm=menu&img=$img") ;
|
|
jeudi 23 février 2006 à 00:13:55 |
Re : inverser 2 lignes

Mindiell
|
Réponse acceptée !
Par ID, je voulais dire le champ ordre, bien entendu ;o)
la solution existe :
Tu passes l'ancien ordre au negatif nouveau,
puis tu passes le nouveau a l'ancien,
puis tu passes le negatif nouveau au nouveau,
Exemple : a = 2 / b = 3
UPDATE $img SET ordre_page = -($ordre+1) WHERE ordre_page = $ordre
UPDATE $img SET ordre_page = $ordre WHERE ordre_page = ($ordre+1)
UPDATE $img SET ordre_page = $ordre+1 WHERE ordre_page = -($ordre+1)
et voila ! ;o)
|
|
Cette discussion est classée dans : set, ordre, get, update, where
Répondre à ce message
Sujets en rapport avec ce message
UPDATE SET case WHERE.... Ca marche? [ par davidcian ]
Bonjour, J'essaie cette requette mais ca n'a pas l'aire de marcher... [code=php] UPDATE abo_news_letter SET send = case send when'oui' then'' wh
UPDATE de 2 tables [ par cnguyen ]
Bonjour, j'aimerai savoir comment faire un update de 2 tables dans oracle :Je voudrais mettre ces 2 updates en un seul : UPDATE proact SET projet = @p
Update SQL avec un where dynamique [ par imaram ]
Bonjour à tous, je voudrai updater sur SQl server certains champ d'une table. j'ai une table produit, je veux modifier article, libelle article et pr
[FIREBIRD] améliorer UPDATE ... WHERE VAR IN(SELECT...) [ par RV2931 ]
Bonjour, J'effectue actuellement des requêtes imbriquées sous la forme [code=sql]UPDATE T1 SET T1.F1 = 'FOO' WHERE T1.ID IN ( SELECT T1.ID FROM T1 W
requete update avec un max dans le where [ par t8024328 ]
bonjour, Disons que c'est un systeme chez un medecin qui recoit des visites. J'ai une table t_consultation numauto;fnom;fprenom;fheure_debut;fheure_f
update + recuperer dernier id [ par wally88 ]
Bonjour, voila j'aimerais recuperer le dernier id de ma table lors d'un update, j'utilise cette requete ... :update bien set bien_image" + numImage +
Update [ par fdouieb ]
Bonjour,J'ai une procedure stockée sur mon serveur SQL Serveur 2003 ayant un update de ce type create table #Data (IdRow int
Question sur le WHERE [ par mdemo ]
Bonjour,Je suis sous Asp.net 2.0 et Sql server 2005, mais ma question est à priori indépendante de ça.J'ai un tableau sur lequel je souhaite faire des
update [ par ehmarc ]
salut a tous,je fonctionne sur une bdd oracle ma requete ici ne marche pas :update PS_tao1 SET cust_id = b.cust_id from ps_tao1 a, ps_tao2 b where
Problème de select multiples dans plusieurs tables [ par superseb801 ]
bonjour, J'ai un problème, je voudrais faire une requête sur plusieurs tables en même temps (3 pour être plus précis), et avec d'autres SELECT dans le
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|