hobbes64
Messages postés5Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention20 juillet 2007
-
19 juil. 2007 à 17:14
hobbes64
Messages postés5Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention20 juillet 2007
-
20 juil. 2007 à 19:46
bonjour,
je suis entrain de développer un logiciel de helpdesk,
je programme en php depuis presque 2 semaines, et pourtant, je bloque sur des problèmes (excuser moi du langage) à la con!
donc, en gros:
j'essaie de faire l'UPDATE d'une table, à partir de variable venant d'un textarea, et d'une variable venant d'un formulaire ($_POST)
$query ="UPDATE solution
SET solution_description = '$text_solution'
WHERE id_ticket='$idticket'";
avec $text_solution venant du textarea,
et $idticket provenant du $_POST, qui est un chiffre: $idticket=$_POST['radio_name'] ;
solution_description et id_ticket étant deux colonnes d'une meme table.
j'ai fait plusieurs tests:
-lorsque je remplace '$idticket' par un numèro de ligne existante ça marche nikel, ca update comme il faut la ligne concerné de la table, dans la bonne colonne.
-par contre, si j'exécute la requête tel quel, ca me remplit la bonne colonne, à la bonne ligne, mais ca ne marque "rien", en gros ca m'efface toutes les données de cette case! je ne comprends pas trop...
lorsque je fait un echo de $idticket ca m'affiche bien le nombre voulu.
j'ai essayé mainte et mainte syntaxes tirées de différents forum, sans en trouver une qui marchent...
Donc voila,
j'espère que j'ai donné assez de précision.
hobbes64
Messages postés5Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention20 juillet 2007 20 juil. 2007 à 19:46
salut,
j'ai trouvé une solution à mon problème,
je n'y avais pas pensé, c'est tout con, je stocke la valeur récupéré par le $_POST dans la base de donnée, puis je la récupére quand j'en ai besoin avec un SELECT.
//MISE EN TAMPON DE LA VALEUR RADIO_NAME
if ($idticket!='')
{$query_temp ="UPDATE solution
SET temp = '$idticket'
WHERE id_ticket='0'";
$insert_temp=mysql_query ($query_temp) or die ("Requête invalide :
".mysql_error());
}
en esperant avoir été assez clair pour servir à quelqu'un
si il y a un probleme, hesiter pas à me demander des renseignements (sans oublier que je suis qu'un grand debutant!)
hobbes64
Messages postés5Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention20 juillet 2007 19 juil. 2007 à 18:06
après le fast-food, la fast-réponse!
merci bien!
beh à priori, cela ne doit pas venir non plus de $text_solution puisque lorsque je mets un chiffre à la place de $idticket
genre :
$query ="UPDATE solution
SET solution_description = '$text_solution'
WHERE id_ticket=20";
ça m'injecte bien le texte de text_solution au bon endroit.
donc bon...
je vais voir ce que je peux faire avec phpmyadmin, c'est vrai que je n'ai pas eu le reflexe!
hobbes64
Messages postés5Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention20 juillet 2007 20 juil. 2007 à 11:14
j'ai trouvé d'où vient le problème,
mais je n'ai pas encore de solution.
dans un premier temps je choisi un problème à traiter dans une premiere page (pb stocké dans une bdd),
puis après l'avoir choisie (grâce à des radiobuttons dynamique)
je récupère la donnée pas $_POST dans une deuxième page, cette valeur est la valeur d'une ligne de la table.
puis dans un champ de text je marque la solution, puis j'effectue l'UPDATE.
le problème est que la valeur du $_POST n'est plus valide dans la 2ème étape.
j'ai découvert ça en faisant un echo à chaque étape de ma requête UPDATE.
1ère étape, envoie par $_POST:
echo:
UPDATE solution
SET solution_description = ''
WHERE id_ticket='19'
on peut voir qu'il y a bien la valeur de $idticket qui est égale à 19, mais rien pour $text_solution(normal vu que je n'ai pas encore rempli le champ de texte...)
2ème étape, écriture dans le textarea puis envoie de la requête UPDATE
echo:
UPDATE solution
SET solution_description = 'test'
WHERE id_ticket=''
ici par contre, $text_solution contient bien la valeur de ce que j'ai rempli soit "test", mais la valeur de $idticket n'est plus là...
Donc ma question, comment puis-je contourner ce problème, comment pourrais stocker la valeur du $_POST ($idticket) pour pouvoir l'utiliser autant que je veux?
voila comment je récupère la valeur de $idticket:
if(isset($_POST['radio_name']))
$idticket=$_POST['radio_name'];
else $idticket="";