8 réponses
Yorundr
- Messages postés
- 289
- Date d'inscription
- mardi 31 octobre 2006
- Statut
- Membre
- Dernière intervention
- 11 juin 2012
Salut,
ce qui pourrait aider c que tu montre ta fonctionEnregistrerProduit()
La jointure est inutile, parcontre il faut que ta clé etrangere existe bien
ce qui pourrait aider c que tu montre ta fonctionEnregistrerProduit()
La jointure est inutile, parcontre il faut que ta clé etrangere existe bien
biboo
Euh techniquement c'est bon, mais ça ne veut rien dire (sauf si une personne est un produit).
Sinon faudrait revoir ton modèle de données non?
Sinon faudrait revoir ton modèle de données non?
lyn1109
- Messages postés
- 6
- Date d'inscription
- mardi 12 août 2008
- Statut
- Membre
- Dernière intervention
- 26 mai 2009
Au fait la personne propose un produit , le modele de donnée est bon
on a besoin de la clé de table Personne dans la table produit pour relier les 2!!!
mais je ne sais pas ca ne marche pas!!!
on a besoin de la clé de table Personne dans la table produit pour relier les 2!!!
mais je ne sais pas ca ne marche pas!!!
lyn1109
- Messages postés
- 6
- Date d'inscription
- mardi 12 août 2008
- Statut
- Membre
- Dernière intervention
- 26 mai 2009
je me dis que c'est peut etre une fonction Php qu'il faudrait ajouter
mon code PHP pour l'insertion :
<?php
//pour charque clic sur le bouton Enregistrer2 on vérifie les valeurs
if (isset($_POST["Enregistrer2"])==1)
{
// recuperer les valeurs saisies
$nomP = $_POST["txt_NomP"];
$descP = $_POST["txt_DescP"];
$resumP = $_POST["txt_ResumP"];
$prix = $_POST["txt_Prix"];
$cat = $_POST["txt_Cat"];
$dateD = $_POST["txt_DateD"];
$dateF = $_POST["txt_DateF"];
$hd = $_POST["txt_HD"];
$hf = $_POST["txt_HF"];
// connexion à MySQL
connexion_choix();
// appel de la fonction d'enregistrement et construction du compte-rendu
$insererproduit = enregistrerProduit($nomP, $descP, $resumP, $prix, $cat, $dateD, $dateF, $hd, $hf);
echo ("$insererproduit");
if($insererproduit == 1)
{
echo ('<b>Votre produit a bien été mis en enchère</b>');
}
else if ($insererproduit == 2)
{
echo ("Erreur SQL");
}
}
si ca peut vous aider!!!
merci!!
mon code PHP pour l'insertion :
<?php
//pour charque clic sur le bouton Enregistrer2 on vérifie les valeurs
if (isset($_POST["Enregistrer2"])==1)
{
// recuperer les valeurs saisies
$nomP = $_POST["txt_NomP"];
$descP = $_POST["txt_DescP"];
$resumP = $_POST["txt_ResumP"];
$prix = $_POST["txt_Prix"];
$cat = $_POST["txt_Cat"];
$dateD = $_POST["txt_DateD"];
$dateF = $_POST["txt_DateF"];
$hd = $_POST["txt_HD"];
$hf = $_POST["txt_HF"];
// connexion à MySQL
connexion_choix();
// appel de la fonction d'enregistrement et construction du compte-rendu
$insererproduit = enregistrerProduit($nomP, $descP, $resumP, $prix, $cat, $dateD, $dateF, $hd, $hf);
echo ("$insererproduit");
if($insererproduit == 1)
{
echo ('<b>Votre produit a bien été mis en enchère</b>');
}
else if ($insererproduit == 2)
{
echo ("Erreur SQL");
}
}
si ca peut vous aider!!!
merci!!
lyn1109
- Messages postés
- 6
- Date d'inscription
- mardi 12 août 2008
- Statut
- Membre
- Dernière intervention
- 26 mai 2009
la voici!!
<?php
// fonction correspondant a l'enregistrement d'un produit
function enregistrerProduit($nomP, $descP, $resumP, $prix, $cat, $dateD, $dateF, $hd, $hf)
{
// construction de la requete
$ordreInsert2 = "INSERT INTO Produits(CodePers, NomP, DescP, ResumP, PrixP, CategorieP,
Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix', '$cat', '$dateD', '$dateF', '$hd', '$hf')";
// executer l'ordre
$idExec2 = mysql_query($ordreInsert2);
$nb_ligne2 = mysql_affected_rows();
if($nb_ligne2 == 1)
{
return 1;
}
else
{
return 2;
}
}
?>
et merci
<?php
// fonction correspondant a l'enregistrement d'un produit
function enregistrerProduit($nomP, $descP, $resumP, $prix, $cat, $dateD, $dateF, $hd, $hf)
{
// construction de la requete
$ordreInsert2 = "INSERT INTO Produits(CodePers, NomP, DescP, ResumP, PrixP, CategorieP,
Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix', '$cat', '$dateD', '$dateF', '$hd', '$hf')";
// executer l'ordre
$idExec2 = mysql_query($ordreInsert2);
$nb_ligne2 = mysql_affected_rows();
if($nb_ligne2 == 1)
{
return 1;
}
else
{
return 2;
}
}
?>
et merci
Yorundr
- Messages postés
- 289
- Date d'inscription
- mardi 31 octobre 2006
- Statut
- Membre
- Dernière intervention
- 11 juin 2012
Ah ben la oui c plus simple je voit tout de suite ton erreur...
En fait '$nom' n'est pas interpreté comme une variable mais comme une chiane de caractere. Ce qu'il faut que tu fasse c'est :
$ordreInsert2 = "INSERT INTO Produits(CodePers, NomP, DescP, ResumP, PrixP, CategorieP,
Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('".$nomP."', '"....)
En fait '$nom' n'est pas interpreté comme une variable mais comme une chiane de caractere. Ce qu'il faut que tu fasse c'est :
$ordreInsert2 = "INSERT INTO Produits(CodePers, NomP, DescP, ResumP, PrixP, CategorieP,
Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('".$nomP."', '"....)
lyn1109
- Messages postés
- 6
- Date d'inscription
- mardi 12 août 2008
- Statut
- Membre
- Dernière intervention
- 26 mai 2009
Au fait ca n'a rien avoir avec ca!!
on a essayé ca pour inserer une personne ,mais ca marche!!
donc le probleme est avec la clé etrangére et le probleme à été reglé comme ca:
<?php
//pour charque clic sur le bouton Enregistrer2 on vérifie les valeurs
if (isset($_POST["Enregistrer2"])==1)
{
// recuperer les valeurs saisies
$nomP = $_POST["txt_NomP"];
$descP = $_POST["txt_DescP"];
$resumP = $_POST["txt_ResumP"];
$prix = $_POST["txt_Prix"];
$cat = $_POST["txt_Cat"];
$dateD = $_POST["txt_DateD"];
$dateF = $_POST["txt_DateF"];
$hd = $_POST["txt_HD"];
$hf = $_POST["txt_HF"];
// connexion à MySQL
connexion_choix();
//recupere code personne
$Rq1 = "Select * from Personnes WHERE loginPers = '$login' ";
$Exrq = mysql_query($Rq1);
$nbligne = mysql_num_rows($Exrq);
if ($nbligne != 0)
{
$nuplet = mysql_fetch_array($Exrq);
$codePers = $nuplet ['CodePers'];
}
else
{
echo "aucune ligne trouvée";
}
// construction de la requete
$ordreInsert2 = "INSERT INTO Produits(NomP, DescP, ResumP, PrixP,CodePers,
CategorieP, Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix','$codePers', '$cat', '$dateD', '$dateF', '$hd', '$hf') ";
// executer l'ordre
$idExec2 = mysql_query($ordreInsert2);
$nb_ligne2 = mysql_affected_rows();
if($nb_ligne2 == 1)
{
return 1;
}
else
{
return 2;
}
}
?>
et voila ce qu'il fallait faire!!!
merci pour votre aide!!!
on a essayé ca pour inserer une personne ,mais ca marche!!
donc le probleme est avec la clé etrangére et le probleme à été reglé comme ca:
<?php
//pour charque clic sur le bouton Enregistrer2 on vérifie les valeurs
if (isset($_POST["Enregistrer2"])==1)
{
// recuperer les valeurs saisies
$nomP = $_POST["txt_NomP"];
$descP = $_POST["txt_DescP"];
$resumP = $_POST["txt_ResumP"];
$prix = $_POST["txt_Prix"];
$cat = $_POST["txt_Cat"];
$dateD = $_POST["txt_DateD"];
$dateF = $_POST["txt_DateF"];
$hd = $_POST["txt_HD"];
$hf = $_POST["txt_HF"];
// connexion à MySQL
connexion_choix();
//recupere code personne
$Rq1 = "Select * from Personnes WHERE loginPers = '$login' ";
$Exrq = mysql_query($Rq1);
$nbligne = mysql_num_rows($Exrq);
if ($nbligne != 0)
{
$nuplet = mysql_fetch_array($Exrq);
$codePers = $nuplet ['CodePers'];
}
else
{
echo "aucune ligne trouvée";
}
// construction de la requete
$ordreInsert2 = "INSERT INTO Produits(NomP, DescP, ResumP, PrixP,CodePers,
CategorieP, Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix','$codePers', '$cat', '$dateD', '$dateF', '$hd', '$hf') ";
// executer l'ordre
$idExec2 = mysql_query($ordreInsert2);
$nb_ligne2 = mysql_affected_rows();
if($nb_ligne2 == 1)
{
return 1;
}
else
{
return 2;
}
}
?>
et voila ce qu'il fallait faire!!!
merci pour votre aide!!!
Yorundr
- Messages postés
- 289
- Date d'inscription
- mardi 31 octobre 2006
- Statut
- Membre
- Dernière intervention
- 11 juin 2012
Oui c'est vrai j'avais pas fait gaffe, vous lui dite que vous allez inserer 10 colonne alors que vous ne lui en fournissiez que 9....
Ouai je suis pas convaincu que ca
$ordreInsert2 = "INSERT INTO Produits(NomP, DescP, ResumP, PrixP,CodePers,
CategorieP, Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix','$codePers', '$cat', '$dateD', '$dateF', '$hd', '$hf')
ca marche, mais si ca marche tant mieu, par contre faite gaffe si vous n'avez pas de $codepers, vous pouvez quand meme executé la requete, et en plus la vous ne gerer pas les injections sql
Ouai je suis pas convaincu que ca
$ordreInsert2 = "INSERT INTO Produits(NomP, DescP, ResumP, PrixP,CodePers,
CategorieP, Date_debut_Ench, Date_fin_Ench, Heure_debut_Ench, Heure_fin_Ench )
VALUES('$nomP', '$descP', '$resumP', '$prix','$codePers', '$cat', '$dateD', '$dateF', '$hd', '$hf')
ca marche, mais si ca marche tant mieu, par contre faite gaffe si vous n'avez pas de $codepers, vous pouvez quand meme executé la requete, et en plus la vous ne gerer pas les injections sql