Pb d'ajout

Fermé
sarah - 11 sept. 2007 à 20:03
 Alain42 - 11 sept. 2007 à 22:25
bonjour !! j'ai décider de créer un site internet avec une base de données . Et je rencontre quelques difficultés à enregistrer des nouvelles données dans ma base, en effet quend je clique sur "Valider" un message comme celui-ci s'affiche:
"Impossible d'ajouter un enregistrement fils : une constrainte externe l'empèche"
et je ne sais pas du tout s'ou vient le problème
merci
sarah

9 réponses

degseb Messages postés 353 Date d'inscription dimanche 20 mai 2007 Statut Contributeur Dernière intervention 6 juillet 2010 42
11 sept. 2007 à 20:05
Salut

Pourrais tu envoyer l'url de la page qui pause problème et donner son code source !!

Merci bcp

Seb
0
alr j'ai 2 pages, une avec le formulaire, et une autre avec le code php

code avec le formulaire
<?php
include('connexion.php');
?>
<form action="rechp.php" method="POST">
Nom de l'article
<select name = "numperle">
<?php
$sql = "SELECT numperle,nomperle FROM perle";
$requete = mysql_query($sql);
$nombre = mysql_num_rows($requete);
if($nombre!=0){
while(list($numperle,$nomperle) = mysql_fetch_array($requete)){
?>
<option value="<?php echo $numperle;?>"><?php echo $nomperle;?></option><?php
}
}?>
</select>

<input type="submit" value="Rechercher"/>
</form>



et la 2ème page:
<?php
include("connexion.php");
$reponse =mysql_query("SELECT *
FROM perle,formeperle, couleurperle, genreperle,matiere
WHERE numperle='".$_POST['numperle']."'
and formeperle.numformeperle=perle.numformeperle
and couleurperle.numcouleurperle=perle.numcouleurperle
and genreperle.numgenreperle=perle.numgenreperle
and matiere.nummatiereperle=perle.nummatiereperle");
$nblignes=mysql_num_rows($reponse);
$i=0;
echo 'Le ou les article(s) correspondant(s) à votre requête :';
while($i<$nblignes):
$nomperle=mysql_result($reponse,$i,"nomperle");
$image=mysql_result($reponse,$i,"image");
$formeperle=mysql_result($reponse,$i,"nomformeperle");
$couleurperle=mysql_result($reponse,$i,"nomcouleurperle");
$genreperle=mysql_result($reponse,$i,"nomgenreperle");
$matiereperle=mysql_result($reponse,$i,"nommatiereperle");
?>
<p><?php echo "$nomperle"?>
<p> <?php echo "$formeperle"?>
<p> <?php echo "$couleurperle"?>
<p> <?php echo "$genreperle"?>
<p> <?php echo "$matiereperle";
$i++;
endwhile
?>
<img src="<?php echo $image;?>"/>
<img src="<?php $image?>">

voila voila ...
merci
0
degseb Messages postés 353 Date d'inscription dimanche 20 mai 2007 Statut Contributeur Dernière intervention 6 juillet 2010 42
11 sept. 2007 à 20:45
ton ficher connexion.php est il correct ?

Pas d'erreur de bdd ou de mots de passe ? je suppose que non si non tu aurais une erreur du tu type "Could not connect" ...

Et l'url de la page si elle est en ligne c'est ??
0
C'est pas encore en ligne
pas d'erreur au niveau de la base de données, ni de mot de passe...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
degseb Messages postés 353 Date d'inscription dimanche 20 mai 2007 Statut Contributeur Dernière intervention 6 juillet 2010 42
11 sept. 2007 à 20:59
Je pense que le problème vient des propriétés que tu as données aux champs de ta base sql (not NULL etc...)

CE problème apparait quand, un champs que tu a renseigner comme ne pouvant pas être null, est null !

exemple : tu as un champ qui s'appelle id_age et qui pointe donc j'imagine vers une table "age". Et tu es donc obligé de précisé quelque chose dans id_age qui corresponde a un groupe qui existe.

Si rien n'est précisé alors ta requette est est rejeter ... tu dois donc preciser quelque chose dans le champ OU modifié sa contrainte ( pas not null)

Voila je pense que ce cela doit venir d'un de tes champs ... regarde sur ta bdd

Et tiens moi au courant

Seb
0
bon alors j'ai regarder dans ma base et dans le champs NULL, pour toutes mes tables c'est écrit "NON", ça signifie quoi ?
0
Et je rencontre quelques difficultés à enregistrer des nouvelles données dans ma base, en effet quend je clique sur "Valider"

Pour enregistrer des données modifiées dans une BDD il faut utiliser la requette UPDATE et je ne la voit nulle part dans ton script.
0
mais je n'est rien dans ma base, donc je suis obligé d'utliser un insert into, et le update sert a acualisé des données déja présentes dans la base??? non c pas ça?
0
OUi exact il te fuat une requette INSERT INTO.

Mais elle n'y est pas non plus dans ton script.

Ce que je ne comprend pas c'est que ton formulaire lit ce qui est déja dans la base, et l'affiche dans une liste SELECT,alors que veux tu rajouter ?
0