Page 1 sur 1

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

Posté : 12 mars 2006, 19:16
par Goldwel
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());
	}

Posté : 12 mars 2006, 19:23
par Cyrano
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());
    }

Posté : 12 mars 2006, 19:28
par Goldwel
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

Posté : 12 mars 2006, 19:43
par Cyrano
Regarde la modif que j,ai faite dans la requête et onbserve bien comme on encadre l'index d'un tableau

Posté : 12 mars 2006, 19:53
par Goldwel
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";

Posté : 12 mars 2006, 19:55
par GoldWel
PS : J'ai modifié pr le INSERT INTO en rajoutant les ". et ." pour ".$row_Resul[id_utilisateur]." comme Cyrano le disait

Posté : 12 mars 2006, 19:59
par Cyrano
Presque :
au lieu de
$row_Resul[id_utilisateur]
essaye en mettant
$row_Resul['id_utilisateur']

Posté : 12 mars 2006, 20:06
par GoldWel
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]

Posté : 12 mars 2006, 20:24
par Cyrano
<?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.

Posté : 12 mars 2006, 20:46
par GoldWel
Ok merci, ca marche. Merci pr l explication