SOS base de donnees et code php
mckennit
-
tito23 Messages postés 305 Date d'inscription Statut Membre Dernière intervention -
tito23 Messages postés 305 Date d'inscription Statut Membre Dernière intervention -
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 !!
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:
- SOS base de donnees et code php
- Code ascii - Guide
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Supprimer les données de navigation - Guide
2 réponses
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)
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)
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 >
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 >