bonjour,
j'ai besoin de votre aide pour une requete sql svp
en fait j'ai un SGBD de documents
et voici la liste de mes types de documents
l'ordre dans lequel ils sont ranges est determine selon le chiffre dans la colonne "ordre_type" de la table type_document
que voici
et pour vous donner un peu une idee de comment c'est fait
voila
en fait il y deux conditions dans lesquelles si l'utilisateur appuie sur la fleche monter ou descendre il ne se passera rien ; c'est lorque l'ordre type est deja a 0 ou l'ordre type est egal maximal
j'ai voulu traduire ces deux conditions
pour le fait que on ne peut pas monter lorsque ordre_type est egal a 0 c'est plus facile et ca marche
Colorez votre code PHP sur les forums grâce à Developpez.com<?php
elseif(isset($_POST['monter']) && $_POST["ordre"]>0){
$requete2 = "UPDATE type_document SET ordre_type =".($_POST["ordre"]-1)." WHERE NUM_TYPE=".$_POST["numero"];
$resultat2 = db_send_query("erreur", $requete2);
$requete3 = "UPDATE type_document SET ordre_type =".$_POST["ordre"]." WHERE NUM_TYPE=".$_POST["previous_type"];
$resultat3 = db_send_query("erreur", $requete3);
}
?>
mais pour le fait que on ne peut pas descendre lorsque ordre _type est le maximum dans sa branche
j'ai esaye de faire passer cette requete mais ca ne marche pas
Colorez votre code PHP sur les forums grâce à Developpez.com<?php
elseif (isset($_POST['descendre'])){
$requete= "SELECT max(ordre_type) as maxi
FROM type_document
WHERE TYPE_PARENT=".$_POST["parent"];
$resultat = db_send_query("erreur", $requete);
$res= db_result2array($resultat);
$max= $res['maxi'];
if ($_POST["ordre"] < $max){
$requete2 = "UPDATE type_document SET ordre_type =".($_POST["ordre"]+1)." WHERE NUM_TYPE=".$_POST["numero"];
$resultat2 = db_send_query("erreur", $requete2);
$requete3 = "UPDATE type_document SET ordre_type =".$_POST["ordre"]." WHERE NUM_TYPE=".$_POST["next_type"];
$resultat3 = db_send_query("erreur", $requete3);
}
}
?>
est ce que vous pouvez m'aider j'ai l'impression que c'est au niveau de la fonction max qui'l y a un probleme ou peut etre qu'elle est mal formulee ma requete?
merci
Partager