Page 1 sur 1

Résultat d'une requete

Posté : 24 mai 2013, 10:35
par NUAGE
Bonjour,

J'ai fais mes requêtes, elles fonctionnent bien sur phpmyadmin mais une fois en php ça me met la valeur 0 dans le champ que je veux !
Avez-vous une idée ?
$id_form=mysql_insert_id();

$sql = "UPDATE Formation SET nombreJ = ( SELECT count(`date`) AS nombreJ FROM dateformation WHERE id_form='$id_form') WHERE `id_form`='$id_form' ";

$result= mysql_query($sql);

if($result){
	echo " Le nombre de jour a été ajouté ! ";
}

Merci de votre aide.

Re: Résultat d'une requete

Posté : 24 mai 2013, 10:38
par ghost5922
Bonjour,

la requete juste avant $id_form=mysql_insert_id(); ce fait bien ?

fait un echo de $id_form;

Re: Résultat d'une requete

Posté : 24 mai 2013, 10:41
par NUAGE
Re,

Je viens de le faire, en effet, elle me prend le dernier id de la date... ce n'est pas normal :?

Re: Résultat d'une requete

Posté : 24 mai 2013, 10:58
par ghost5922
Re,

poste tous le code les deux requetes etc

Re: Résultat d'une requete

Posté : 24 mai 2013, 11:07
par NUAGE
Re,

C'est bon c'est réglé !
Sinon, j'ai un problème lorsque je veux insérer une formation qui contient un certain nombre de champs dont un id du formateur et un id du type de formation qui sont deux clés étrangères.
J'arrive à récupérer le id du type grâce à une liste déroulante mais pour le id du formateur qui aussi sous forme d'une liste déroulante, ça m'insère la valeur 0.
Suivant l'ordre dans le formulaire, c'est l'inverse...

Re: Résultat d'une requete

Posté : 24 mai 2013, 11:12
par ghost5922
post le formulaire et la requete sans code on peux pas t'aide :)

Re: Résultat d'une requete

Posté : 24 mai 2013, 11:23
par NUAGE
Voici les codes :
<form name="ajout" action="formation.php" method="POST">
            <table>


                <tr>
            <td><label for="id_formateur"><strong>Formateur :</strong></label></td>
            <td><form><select name="id_formateur">
                <?php
                require("connect.php");
                $dsn="mysql:dbname=".BASE.";host=".SERVER;
                try{
                     $connexion=new PDO($dsn,USER,PASSWD);
                    }
                catch(PDOException $e){
                printf("Échec de la connexion : %s\n", $e->getMessage());
                exit();
                             
                  }
                $requete="SELECT * FROM formateur";
                if(!$connexion->query($requete)) echo "Pb d'accès à la table";
                else{
                foreach ($connexion->query($requete) as $row){
                  echo "<option value=".$row['id_formateur'].">".$row['nomformateur']."</option>";}
                    }      
                  ?>
              </select></td></tr></form>
            <tr>

            <td><label for="idtype"><strong>Activité :</strong></label></td>
            <td><form ><select name="idtype">
                <option value="1" >Formation 1</option>
                <option value="2"  >Formation 2</option>
               
            </select></td></tr></form>
formation.php
$nomform=isset($_POST['nomform'])?$_POST['nomform]:"";
$id_formateur=isset($_POST['id_formateur'])?$_POST['id_formateur]:"";
$idtype=isset($_POST['idtype'])?$_POST['idtype']:"";
$sql= "INSERT INTO formation (`id_form`, `nomform`, `idtype`,`id_formateur`) VALUES (' ', '$nomform',  '$idtype','$id_formateur')";
$requete = mysql_query($sql) or die( mysql_error() ) ;

Re: Résultat d'une requete

Posté : 24 mai 2013, 12:34
par ghost5922
tu as des erreurs dans ton code regarde si deja ca va mieux
<?php
$nomform=isset($_POST['nomform'])?$_POST['nomform']:"";
$id_formateur=isset($_POST['id_formateur'])?$_POST['id_formateur']:"";
$idtype=isset($_POST['idtype'])?$_POST['idtype']:"";
$sql= "INSERT INTO formation (`id_form`, `nomform`, `idtype`,`id_formateur`) VALUES (' ', '$nomform',  '$idtype','$id_formateur')";
$requete = mysql_query($sql) or die( mysql_error() ) ;
?>

Re: Résultat d'une requete

Posté : 24 mai 2013, 12:39
par NUAGE
Re,

Pardon, c'était une erreur quand j'ai copier/coller. SInon, j'ai toujours mon idtype à 0...

Re: Résultat d'une requete

Posté : 24 mai 2013, 12:51
par ghost5922
ok fais un print_r($_POST); voir si tu récupère bien tous les valeurs et tu as un espace en trop (' ', '$nomform', '$idtype','$id_formateur')";
<?php
print_r($_POST);
$nomform=isset($_POST['nomform'])?$_POST['nomform']:"";
$id_formateur=isset($_POST['id_formateur'])?$_POST['id_formateur']:"";
$idtype=isset($_POST['idtype'])?$_POST['idtype']:"";
$sql= "INSERT INTO formation (`id_form`, `nomform`, `idtype`,`id_formateur`) VALUES (' ', '$nomform', '$idtype','$id_formateur')";
$requete = mysql_query($sql) or die( mysql_error() ) ;
?>

Re: Résultat d'une requete

Posté : 24 mai 2013, 13:03
par NUAGE
Non, justement je ne récupère pas le id du type :

Array ( [nomform] => Toto [id_formateur] => 2 [register] => Ajouter une formation )

ET si je change l'ordre dans le formulaire j'ai ceci :

Array ( [idtype] => 1 [nomform] =>Toto [register] => Ajouter une formation )

Re: Résultat d'une requete

Posté : 24 mai 2013, 13:35
par ghost5922
Re,

tu ferme ton form avant
<form name="ajout" action="formation.php" method="POST">
            <table>


                <tr>
            <td><label for="id_formateur"><strong>Formateur :</strong></label></td>
            <td><form><select name="id_formateur">
                <?php
                require("connect.php");
                $dsn="mysql:dbname=".BASE.";host=".SERVER;
                try{
                     $connexion=new PDO($dsn,USER,PASSWD);
                    }
                catch(PDOException $e){
                printf("Échec de la connexion : %s\n", $e->getMessage());
                exit();
                             
                  }
                $requete="SELECT * FROM formateur";
                if(!$connexion->query($requete)) echo "Pb d'accès à la table";
                else{
                foreach ($connexion->query($requete) as $row){
                  echo "<option value=".$row['id_formateur'].">".$row['nomformateur']."</option>";}
                    }      
                  ?>
              </select></td></tr>
            <tr>

            <td><label for="idtype"><strong>Activité :</strong></label></td>
            <td><form ><select name="idtype">
                <option value="1" >Formation 1</option>
                <option value="2"  >Formation 2</option>
               
            </select></td></tr></form>
 

Re: Résultat d'une requete

Posté : 24 mai 2013, 13:50
par NUAGE
Re,

Merci beaucoup ghost5922 !

Résolu !