mon update ne fonctionnne pas!est il correct? - SQL/NoSQL - Programmation
Marsh Posté le 09-06-2008 à 15:48:32
Il s'affiche quoi à l'écran?
Marsh Posté le 09-06-2008 à 15:54:57
skeye a écrit : Il s'affiche quoi à l'écran? |
ça affiche ma table a partir de ma base de données qqch du genre ça:
_______________
n° | titre |
0 | un titre |
1 | blabla |
2 | bla |
je veux monter blabla a la place de un titre. donc seul le numero est changé.
Marsh Posté le 09-06-2008 à 15:59:40
Oui non c'est pas ça la question.
Tu as mis quelques "echo" dans ton script, ils affichent quoi?
Est-ce que tu testes bien systématiquement le retour de mysql_query? Est-ce que tu affiches mysql_error() en cas de problème?
Marsh Posté le 09-06-2008 à 16:17:50
oui je teste bien le retour de mysql_query et j'ai mis des echo pour voir si les variables de ma requete etaient bien afféctées. Par contre je je n'utilise pas le "mysql_error" Tu peux m'expliquer stp? merci
Marsh Posté le 09-06-2008 à 16:19:48
si le retour de mysql_query est false, affiche mysql_error() pour voir ce qui se passe mal.
Marsh Posté le 09-06-2008 à 15:40:24
Bonjour!
je réalise 2 update consécutifs afin d'échanger 2 lignes dans ma base de données.Cependant ma base de données reste inchangée après ces requetes
//selection de toutes les rubriques principales dans la table $tabRubP
$rezu = mysql_query("SELECT * FROM rubprincipales ORDER BY positionP" );
if($rezu)
{
$i = 0;
while($princ = mysql_fetch_array($rezu))
{
$tabP[$i][0] = $princ['positionP'];
$tabP[$i][1] = $princ['titreP'];
$tabP[$i][2] = $princ['cheminP'];
$tabP[$i][3] = $princ['numeroP'];
$i++;
}
}
$rubCourante=$_GET['selection'];
// Parcours de la table $tabRubP et recherche de l'élément séléctionné
echo "la selection est".$_GET['selection']."--";
$i=0;
foreach($tabP as $va1)
{
foreach($va1 as $va2)
{
//A partir de cet élément echange avec l'élément précedent(echange du titre et du chemin seulement)
if (($tabP[$i][0])==$_GET['selection'])
{
//pour l'échange on recupère les données relatives a la rubrique selectionnée dans des variables intermediaires
$ech1=$tabP[$i-1][0];//la rubrique selectionnée a pour position la position de la rubrique qui la précède
$ech2=$tabP[$i][1];
$ech3= $tabP[$i][2];
$ech4=$tabP[$i][3];
$itemPrecedent=$ech1;
//on récupère les données de la rubriques précedentes dans des variables intermediaires.
$int1=$tabP[$i-1][0]+1;
$int2=$tabP[$i-1][1];
$int3=$tabP[$i-1][2];
$int4=$tabP[$i-1][3];
/*mise a jour de la bd: les données concernant la rubrique séléctionnée sont mise à la place des données précedent cette meme rubrique.*/
$rez0 = mysql_query("UPDATE rubprincipales SET positionP='".$ech1."',titreP='".$ech2."',cheminP='".$ech3."',numeroP='".$ech4."'WHERE positionP='".$itemPrecedent."'" );
echo "les rez2 est -->".$rez0;
//et les données concernant la rubriques précédente prennent la place des données de la rubrique selectionnée;
$rez1 = mysql_query("UPDATE rubprincipales SET positionP='".$int1."',titreP='".$int2."',cheminP='".$int3."',numeroP ='".$int4."'WHERE positionP='".$rubCourante."'" );
echo "les rez3 est -->".$rez1;
}
$i++;
}
}
J'ai peut etre fait une erreur de ' ou de " mais il n'y a pas d'erreur lors du lancement de ma requete Pouvez vous m'éclairez svp Merci d'avance