SOS base de donnees et code php

Fermé
mckennit - 20 févr. 2011 à 18:39
tito23 Messages postés 305 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 janvier 2013 - 20 févr. 2011 à 20:56
Bonjour, et merci de vos réponses

voilà, j ai creee trois tables dans ma base,
interprete(trad_id,trad_nom,trad_prenom);
langue(lang_id,lang_nom);
jonction(trad_id,lang_id);

la table jonction est le résultat de la relation N-M.
j ai ensuite creer des contraintes d integrités sur trad_id et lang_id de jonction , on_delete_cascade et on_update_cascade avec trad_id de interprete et lang_id de langue.
tout d abord est ce que ma table jonction sera automatiquement renseignée ?
De plus , j ai déja entré dans la table langue les différentes langues car cela ne changera pas , est ce une erreur ?

j ai ensuite un problème avec mon formulaire et mes requetes ...pouvez vous m aider ?
merci !!



A voir également:

2 réponses

Profil bloqué
20 févr. 2011 à 19:04
Ca sera à toi de renseigner cette table, sauf si tu fais un script qui le fera pour toi.
Mais cette table me semble inutile de toute façon, si son but est de faire le lien entre les données de 2 tables existantes, c'est à ça que servent les requêtes (en PHP ou autre)
0
Merci de ta réponse,
En fait , j ai suivi les règles de la création de table en fonction de leur relation, et ainsi je pourrais facilement récuperer la langue de l interprete en fonction de l'id de la langue et l 'id de l interprete..voici le formulaire et une partie du code, c est brouillon mais bon, il me sort une erreur impossible d ajouter un enregistrement fils...


<form action="renseignement.php" method="post" />


<table>
<caption>RENSEIGNEMENT DE FICHES</caption>


<tr>

<th>Nom</th>
<th>Prenom</th>

</tr>

<tr>
<td><input type="text" name="Nom" /></td>
<td><input type="text" name="Prenom" size="50px" /></td>
</tr>




</table>

<table>
<caption>Selection des langues parlées</caption>

<tr>
<td>
<?php
$serveur = "localhost";
$utilisateur = "root";
$motdepasse = "";
$base = "mat01";
mysql_pconnect($serveur,$utilisateur,$motdepasse);
mysql_select_db($base) or die("Connexion ratee");

$select= 'SELECT lang_id, lang_nom FROM langue ';
$result= mysql_query($select);
$total=mysql_num_rows($result);

if ($total > 0)
{
while($row = mysql_fetch_array($result))
{
echo $row["lang_id"];
echo' <input type="checkbox" name="cases[]" value=" '.$row["lang_id"].' " />';
echo $row["lang_nom"];
}
}

else

{
echo 'Aucune langue';

mysql_free_result($result);
mysql_close();
}

?>

</td>
</tr>

<tr><th colspan=2><input type="reset" value="Reset" size="10"></input></th></tr>
<tr><th colspan=2 ><input type="submit" name="Validez" value="Enregistrez" size="10"></input></th></tr>

</form>

</table>


<!--insertion des données-->

<?php
if ( isset ($_POST['Nom'])
&& isset($_POST['Prenom']))
{
if ($_POST['Nom'] != NULL

&& $_POST['Prenom'] != NULL)

{

$NOM=htmlentities($_POST['Nom'], ENT_QUOTES);
$PRENOM=htmlentities($_POST['Prenom'],ENT_QUOTES);

$array_cochees=$_POST['cases'];

$serveur = "localhost";
$utilisateur = "root";
$motdepasse = "";
$base = "mat01";
mysql_pconnect($serveur,$utilisateur,$motdepasse);
mysql_select_db($base) or die("Connexion ratee");
$array_cochees=$_POST['cases'];


mysql_query ("INSERT INTO traducteur (trad_id,trad_nom,trad_prenom) VALUES ('','$NOM','$PRENOM')")or die (mysql_error());

}

}

$requete='SELECT trad_id FROM traducteur ';
$result= mysql_query($requete);
$total=mysql_num_rows($result);
if ($total > 0)
{
while($row = mysql_fetch_array($result))
{
echo $row["trad_id"];
}
}
for($i=0; $i<sizeof($array_cochees); $i++)
{
$insert="INSERT INTO jonction (trad_id,lang_id) values (' ".$row["trad_id"]." ',' ".$array_cochees[$i]." ' )" ;
mysql_query($insert) or die ('erreur: ' .mysql_error() );
}

mysql_close();

?>






</form >
0
tito23 Messages postés 305 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 16 janvier 2013 4
20 févr. 2011 à 20:56
qu'elle est le message d'erreur?
0