Pb d'ajout

sarah -  
 Alain42 -
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

  1. degseb Messages postés 353 Date d'inscription   Statut Contributeur Dernière intervention   42
     
    Salut

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

    Merci bcp

    Seb
    0
  2. sarah
     
    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
  3. degseb Messages postés 353 Date d'inscription   Statut Contributeur Dernière intervention   42
     
    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
  4. sarah
     
    C'est pas encore en ligne
    pas d'erreur au niveau de la base de données, ni de mot de passe...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. degseb Messages postés 353 Date d'inscription   Statut Contributeur Dernière intervention   42
     
    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
  7. sarah
     
    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
  8. a
     
    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
  9. sarah
     
    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
  10. Alain42
     
    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