formulaire d'enregistrement et récupération de données - PHP - Programmation
Marsh Posté le 01-06-2011 à 15:05:14
Salut,
Je ne sais pas si j'ai très bien compris mais tu recherches seulement à récupérer l'identifiant du mot / auteur / lieu / ... si il est déjà en base ?
Si c'est cela, tu fais déjà fait quasiment déjà tout le boulot, il ne te reste qu'a faire un mysql_fetch_assoc ( http://fr.php.net/manual/fr/functi [...] -assoc.php ) après tes requête pour récupérer ce que tu veux !
Marsh Posté le 01-06-2011 à 15:37:17
Merci beaucoup pour ta réponse! oui c'est bien ce que je veux faire mais je bloque dessus où dois je et comment mettre mysql_ftech_array dans mon code?
Marsh Posté le 01-06-2011 à 15:43:54
à la place de tes mysql_num_rows() et tu check si l'id ($res['id']) n'est pas vide ...
Marsh Posté le 01-06-2011 à 16:07:53
Merci encore et également pour ta patience alors j'ai remplacé mais ça ne fonctionne pas j'ai un un 0 dans ma table et pas mon identifiant.
// on regarde dans la table auteur si le nom existe déjà
$sql = "SELECT idauteur FROM auteur WHERE nom='$nom'";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$res= mysql_fetch_assoc($req);
if($res!=0) // le nom existe déjà, on affiche un message d'erreur
{
echo '<font color="red">Désolé, mais ce nom existe déjà dans notre base.</font>';
}
else // Le nom n'existe pas, on insère d'abord les infos dans auteur
{
$sql = "INSERT INTO auteur (idauteur, nom) VALUES('','$nom')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on récupère l'idauteur qui vient d'être généré
$idauteur = mysql_insert_id();
}
Marsh Posté le 01-06-2011 à 16:09:43
si tu fait un print_r($res) juste après $res= mysql_fetch_assoc($req);
qu'as-tu ?
Marsh Posté le 01-06-2011 à 16:17:35
voila ce que j'ai fais :
$sql = "SELECT idauteur FROM auteur WHERE nom='$nom'";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$res= mysql_fetch_assoc($req);
print_r($res);
if($res!=0) // le nom existe déjà, on affiche un message d'erreur
{
echo '<font color="red">Désolé, mais ce nom existe déjà dans notre base.</font>';
}
else // Le nom n'existe pas, on insère d'abord les infos dans auteur
{
$sql = "INSERT INTO auteur (idauteur, nom) VALUES('','$nom')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on récupère l'idauteur qui vient d'être généré
$idauteur = mysql_insert_id();
}
ça m'affiche: Array ( [idauteur] => 1 )
Marsh Posté le 01-06-2011 à 16:45:50
heu .. je ne comprends pas tu as la réponse sous les yeux ... tu récupère donc bien l'idauteur, tu n'as plus qu'à le réutiliser ...
$monId = $res['idauteur'];
Marsh Posté le 03-06-2011 à 10:18:29
Merci infiniment ça fonctionne, cela faisait des jours et des jours que je cherchais!
Marsh Posté le 01-06-2011 à 10:43:05
Bonjour,
j'ai fais un formulaire de saisie.
voici mon problème. J'arrive à inserer des nouvelles données dans ma table image mais dès que je rentre une données déja existante dans une table par exemple un auteur, un lieu ou un mot déja connu. On me répond qu'il existe, je voudrais qu'il reprenne l'identifiant dans la table image comment faire?
voici mes tables image(idimage, titre, support..., idauteur,idlieu,idmot)
et par exemple ma table mot (idmot, mot).
Je comprends mon problème: je lui dis que si le mot existe on affiche un message d'erreur(c'est ce qu'il fait) et je peux inserer un nouveau mot sans problème. mais comment recuperer l'identifiant d'un mot qui existe déja?
Merci beaucoup!
voici mon code:
[/url][/cpp]