Recuperer une donnée en meme temps qu'une insertion

Goldwel
Invité n'ayant pas de compte PHPfrance

12 mars 2006, 19:16

Bonjour, voila mon pb :

J'execute une requete pour remplir une table PIECE JOINTE et ca fonctionne. Mon pb vient apres pour recuperer l'id_utilisateur pour trvailler dessus apres.
J'arive pas a recuperer ca ds ma variable $user
($user = '$row_Resul[id_utilisateur]';)
eske la syntaxe est bonne au moins ou c'est pa du tout comme ça qu'il faut sy prendre.

Merci pour votre aide..
	// requete qui recherche l'id_utilisateur en fonction du login
	$query1 = " SELECT id_utilisateur
		FROM utilisateur
		WHERE login LIKE '$name'";
    $result1 = mysql_query ($query1) or die (" La requête pour la recherche du id_utilisateur a échoué ");
    $row_Resul = mysql_fetch_assoc($result1);
	
	//Insertion des informations concernant le fichier dans la table "PIECE JOINTE"
    $sql = "INSERT INTO piece_jointe VALUES('', '$titre', '$description', '$Dest_Fichier', '$row_Resul[id_utilisateur]', '')";
	$user = '$row_Resul[id_utilisateur]';
	mysql_query($sql) or die('Erreur SQL'.$sql.'<br>'.mysql_error());
	}

Mammouth du PHP | 19672 Messages

12 mars 2006, 19:23

Fais des concaténations propres, ça marchera mieux:
// requete qui recherche l'id_utilisateur en fonction du login
    $query1 = " SELECT id_utilisateur
        FROM utilisateur
        WHERE login LIKE '$name'";
    $result1 = mysql_query ($query1) or die (" La requête pour la recherche du id_utilisateur a échoué ");
    $row_Resul = mysql_fetch_assoc($result1);
    
    //Insertion des informations concernant le fichier dans la table "PIECE JOINTE"
    $sql = "INSERT INTO piece_jointe VALUES('', '$titre', '$description', '$Dest_Fichier', '". $row_Resul['id_utilisateur'] ."', '')";
    $user = '$row_Resul[id_utilisateur]';
    mysql_query($sql) or die('Erreur SQL'.$sql.'<br>'.mysql_error());
    }
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Goldwel
Invité n'ayant pas de compte PHPfrance

12 mars 2006, 19:28

Ok merci pr la precision, mais ca marche deja ds ma base de donnée ca m'insere bien l'id_utilisateur ds ma table.

Le pb est qu'apres j'arive pas a recuperer l'id_utilisateur ds ma variable $user

Mammouth du PHP | 19672 Messages

12 mars 2006, 19:43

Regarde la modif que j,ai faite dans la requête et onbserve bien comme on encadre l'index d'un tableau
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Goldwel
Invité n'ayant pas de compte PHPfrance

12 mars 2006, 19:53

Oui, j'ai vu mais ca me resoud pas le pb. J'arive pas a recup l'id_utilisateur pour apres m'en servir ds la requete suivante.
Est-ce que c'est bon ça : $user = '$row_Resul[id_utilisateur]' ; ds la requete precedente ?



   // requete qui recherche l'id_mention en fonction du id_utilisateur
	$query2 = " SELECT id_mention
                FROM annee_etude
	WHERE id_utilisateur = '$user' ";
   							$result2 = mysql_query ($query2) or die (" La requête pour la recherche du id_mention a échoué ");
   						$row_Resul2 = mysql_fetch_assoc($result2);
							$mention = '$row_Resul2[id_mention]';
							echo "$mention";

GoldWel
Invité n'ayant pas de compte PHPfrance

12 mars 2006, 19:55

PS : J'ai modifié pr le INSERT INTO en rajoutant les ". et ." pour ".$row_Resul[id_utilisateur]." comme Cyrano le disait

Mammouth du PHP | 19672 Messages

12 mars 2006, 19:59

Presque :
au lieu de
$row_Resul[id_utilisateur]
essaye en mettant
$row_Resul['id_utilisateur']
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

GoldWel
Invité n'ayant pas de compte PHPfrance

12 mars 2006, 20:06

Ca marche toujours ds l insertion des données en prennant compte les modifs mais pas la recuperation.

Quand je fais un echo"$user" ; ca me renvoit $row_Resul[id_utilisateur]

Mammouth du PHP | 19672 Messages

12 mars 2006, 20:24

<?php
$row_Resul['id_utilisateur'] = 12345;
$user = '$row_Resul[id_utilisateur]'; // affiche $row_Resul[id_utilisateur]
$user = $row_Resul[id_utilisateur]; // affiche une erreur : constante id_utilisateur non définie
$user = "$row_Resul['id_utilisateur']"; // affiche 12345, les guillemets ne servent strictement à rien ici
$user = $row_Resul['id_utilisateur']; // affiche 12345 : voilà la méthode correcte
?>
Ce qui est entre apostrophes n'est pas interprété mais lu et reproduit tel quel.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

GoldWel
Invité n'ayant pas de compte PHPfrance

12 mars 2006, 20:46

Ok merci, ca marche. Merci pr l explication