Requête qui ne fonctionne pas

RIFF49
Invité n'ayant pas de compte PHPfrance

16 mai 2008, 14:06

Salut ;)

Un peu perdu dans mon code je viens chercher un regard tout neuf. Si quelqu'un a 2mn.

En fait j'ai une page qui contient un formulaire qui envoie des données en POST à une page de traitement. En fonction de la valeur d'un des paramètres envoyés, par exemple '3' on exécute une requête mysql sinon pour toute autre valeur on en exécute une autre.
Le problème est que si je donne la valeur '3' dans mon formulaire, ça fonctionne. Mais si je donne une autre valeur aucune action n'est exécutée. o_O

Une idée ?

Voici le code :
Code : PHP

 <?php

function convert_date($date)
   {
      $tab_date = explode("/",$date);
      $retour = $tab_date[2]."-".$tab_date[1]."-".$tab_date[0];

      return $retour;
   }


if ($_POST['cloture_inter']=="3") {

$idclient=$_POST["id_client"] ;
$interatelierpartlog=$_POST["inter_atelier_partlog"] ;
$rapporttec=$_POST["rapport_tec"] ;

mysql_query("INSERT INTO inter_atelier VALUES('', '$idclient', '$interatelierpartlog', '$rapporttec', '', '3')") ;

$idsite=$_POST["id_site"] ;
mysql_query("DELETE FROM inter_site WHERE id_site='$idsite'") ;

}
else {

$idsite=$_POST["id_site"];
$rapporttec=$_POST["rapport_tec"] ;
$dateinter=convert_date($_POST["date_inter"]) ;
$heuredebut=$_POST["heure_debut"] ;
$heurefin=$_POST["heure_fin"] ;
$clotureinter=$_POST["cloture_inter"] ;

mysql_query("UPDATE inter_site SET raport_tec='$rapporttec', date_inter='$dateinter', $heure_debut='$heuredebut', heure_fin='$heurefin', cloture_inter='$clotureinter' WHERE id_site='$idsite'") ;

}

?>


Merci :) de vous être intéressé !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

16 mai 2008, 14:25

Un peu de lecturepour éventuellement nous en dire plus :)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

RIFF49
Invité n'ayant pas de compte PHPfrance

16 mai 2008, 14:36

Merci pour la réponse.

J'ai bien la demande d'affichage d'erreur dans mon script mais je n'ai aucun message d'erreur.

Une idée ?

Merci

Mammouth du PHP | 1353 Messages

16 mai 2008, 14:39

Personnellement je dirai que id_site dans ta base n'est pas de type TEXT donc il faudrait verifier ta clause "WHERE".
Tell me and I forget. Teach me and I remember. Involve me and I learn.

RIFF49
Invité n'ayant pas de compte PHPfrance

16 mai 2008, 14:45

Merci !

Pourquoi ça fonctionnerait avec le Insert et Delete en début de script dans ce cas ? Je comprends pas !

id_site est donc passé correctement en paramètre.

Mammouth du PHP | 1353 Messages

16 mai 2008, 15:54

Pour le INSERT c'est normal, tu mets comme valeur '' puisque c'est un champ auto incrémenté.
Par contre pour le DELETE ca devrait ne pas marcher non plus en théorie.

Tu devrais de plus t'assurer de l'existence de la valeur de tes variables postées avec des
if(isset($_POST["ma_variable"]) && !empty($_POST["ma_variable"]))
{
}
Les as tu affiché pour voir ?
Tell me and I forget. Teach me and I remember. Involve me and I learn.

ViPHP
ViPHP | 2291 Messages

16 mai 2008, 16:05

Merci pour la réponse.

J'ai bien la demande d'affichage d'erreur dans mon script mais je n'ai aucun message d'erreur.

Une idée ?

Merci
Ou :?:
Et autre chose aussi ta requêtte Update dans cette partie
$heure_debut='$heuredebut',
Ne devrais t'il pas être
heure_debut='$heuredebut',
:wink:

RIFF49
Invité n'ayant pas de compte PHPfrance

16 mai 2008, 18:33

Merci pour tout ! ça fonctionne à présent !!!

C'était dû à mes erreurs de saisie effectivement.

Je penserai également à la vérification de l'existence de mes variables dorénavant.

Merci encore !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

16 mai 2008, 18:42

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer