|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : août 2010 Messages : 265 ![]() |
Bonjour,
Je ne savais pas trop comment formuler mon problème dans le titre, j'ai besoin de quelques lignes pour l'expliquer ... Je fais en PHP/HTML/JS un projet pour la conception d'une zone Espace membre/Administration de Quizz et j'ai un problème: Dans une table "question", j'ai un champ NumeroQuestion qui représente tout simplement le numero de la question qu'un adminsitrateur veut créer... Par exemple si il y a déjà pour un questionnaire lambda 11 questions de créer, il va donc créer la numéro 12 pour sa nouvelle question... Quel type de requete me permettrait d'obtenir la plus grande valeur de la table contenue dans NumeroQuestion et de faire +1 donc ? ET... Si l'adminsitrateur veut supprimer la question 7 et qu'il y a 11 questions... il faut que les questions 8 à 11 soient décalées vers le bas , la question 8 devient la 7 , la 9 devient la 8 ect ... Quel type de requete peut faire ça ? Merci d'avance PS: j'avais mis aussi ce post dans le forum "debuter" mais c'est peut etre plus approprié ici, merci aux modérateurs de supprimer le mauvais post...et dsl... |
|
|
00
|
|
|
#2 | |||||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Max + 1 te donnera le nouveau NumeroQuestion.
Je te conseille de faire en une requête l'insertion et le max+1 pour éviter que 2 utilisateurs, se partageant le travail de 2 questions (la 12 et la 13), ne récupèrent chacun le numéro 12 : Code :
Citation:
Code :
|
|||||
|
|
10
|
|
|
#3 |
|
Membre régulier
![]() Inscription : août 2010 Messages : 265 ![]() |
Merci bcp pour ton aide, je reviens vers toi si besoin est!
|
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Taoufiq BenDéveloppeur Web Inscription : mai 2009 Messages : 456 ![]() |
1er requete
Code :
SELECT max(NumeroQuestion) FROM questions Code :
UPDATE questions SET NumeroQuestion -= 1 WHERE NumeroQuestion > "NumeroQuestionSupprimer" |
|
|
10
|
|
|
#5 |
|
Membre régulier
![]() Inscription : août 2010 Messages : 265 ![]() |
Je reviens juste pour dire que ça a marché parfaitement !
Code :
$query_Recordset3 = "UPDATE question SET NumeroQuestion=NumeroQuestion-1 where questionnaire='".$_GET['questionnaire']."'AND NumeroQuestion>'".$_GET['NumeroQuestion']."'"; Bref! Thx |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
Bonsoir,
ta requête n'est pas sécurisée contre les injections SQL |
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : août 2010 Messages : 265 ![]() |
Bonjour,
Ce que je fais est pour un projet PHP et on a aucune exigence particulière concernant la sécurité... Mais par curiosité, qu'est ce que tu aurais proposé pour éviter ceci ? |
|
|
00
|
|
|
#8 |
![]() ![]() |
Utilise PDO et cache tes paramètres de requêtes.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#9 |
![]() ![]() |
Utilise PDO et cache tes paramètres de requêtes.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
10
|
|
|
#10 |
|
Membre régulier
![]() Inscription : août 2010 Messages : 265 ![]() |
Merci , je vais regarder ça...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com