Besoin d'aide en php
Résolu
programos
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
programos Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
programos Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
salut
je suis en train de créer une base de donnée en langage php que j'ai nommé "emploi du temps". J'ai creé deux tables dans cette base :
la première nommé "faculté" ses attributs (codefac, nomfac, )
la deuxiémme nommée "département" ses attributs (codedep, nomdep, #codefac) //codefac est clé etrangere dans la table département.
j'ai rempli la table faculté, et pour remplir la table département j'ai un probleme d'afficher l'attribut #codefac. c'est à dire quand je clique sur faculté il ne doit etre affiché que les département de cette faculté
est ce qu'il y a quelqu'un qui peut m'aider à écrire le code source en php pour réaliser ça?
je suis en train de créer une base de donnée en langage php que j'ai nommé "emploi du temps". J'ai creé deux tables dans cette base :
la première nommé "faculté" ses attributs (codefac, nomfac, )
la deuxiémme nommée "département" ses attributs (codedep, nomdep, #codefac) //codefac est clé etrangere dans la table département.
j'ai rempli la table faculté, et pour remplir la table département j'ai un probleme d'afficher l'attribut #codefac. c'est à dire quand je clique sur faculté il ne doit etre affiché que les département de cette faculté
est ce qu'il y a quelqu'un qui peut m'aider à écrire le code source en php pour réaliser ça?
A voir également:
- Besoin d'aide en php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
Salut,
Pour ce qui est de la requête: avoir les departements associés à telle fac, ça donnera ça:
Pour executer cette requête, il faut bien sûr que la variable $fac soit une clé de faculte.
Ensuite pour afficher ça, ça donnera:
S'il y a quelque chose que tu ne comprends pas là-dedans, n'hésite pas à le dire.
Pour ce qui est de la requête: avoir les departements associés à telle fac, ça donnera ça:
$res = mysql_query("SELECT codedep, nomdep FROM departement, faculte WHERE faculte.codefac = departement.codefac AND faculte.codefac = $fac");
Pour executer cette requête, il faut bien sûr que la variable $fac soit une clé de faculte.
Ensuite pour afficher ça, ça donnera:
while ($tab = mysql_fetch_assoc($res)) { echo 'Codedep :' . $tab['codedep'] . ' Nomdep: ' .$tab['nomdep'] . '<br>'; }
S'il y a quelque chose que tu ne comprends pas là-dedans, n'hésite pas à le dire.
j'ai pas bien compris, voilà mon exemple :
voilà les pages php que j'ai creé ;
page 1 "conect.php"
<?php
function connect(){
$v="localhost";
$c="root";
$p="";
$base="emploi_du_temps";
mysql_connect($v,$c,$p)||die("connexion impossible");
mysql_select_db($base);
}
?>
page 2"base_de_donnée.php"
<?php
include"connect.php";
//creation de la table faculte
$fa="create table faculté(
codefac INTEGER(12) UNSIGNED not null AUTO_INCREMENT,
nomfac VARCHAR(50) not null UNIQUE,
numtelfac INTEGER(50)not null,
PRIMARY KEY(codefac))";
// creation de la table departement
$de="create table departement(
codedep INTEGER(20) UNSIGNED not null AUTO_INCREMENT,
nomdep VARCHAR(50) not null UNIQUE,
numteldep INTEGER(50)not null,
codefac INTEGER (12)UNSIGNED not null references faculte,
PRIMARY KEY(codedep))";
connect();
mysql_query($fa);
mysql_query($de);
mysql_close();
echo"go";
?>
page3"insertion.php"
<html>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="200" border="0">
<tr>
<td>nom_faculte</td>
<td><label>
<input type="text" name="nomfac" />
</label></td>
</tr>
<tr>
<td>numero de telephone</td>
<td><label>
<input type="text" name="numtelfac" />
</label></td>
</tr>
<tr>
<td colspan="2"><label>
<input type="submit" name="insert" value="insert" />
<input type="reset" name="effacer" value="effacer" />
</label></td>
</tr>
</table>
</form>
<?php
include"connect.php";
if(isset($_POST["insert"]))
{
if((!empty($_POST["nomfac"]))&&(!empty($_POST["numtelfac"])))
{
$f=mysql_escape_string($_POST["nomfac"]);
$t=mysql_escape_string($_POST["numtelfac"]);
$requete="INSERT INTO faculte VALUES ('','$f','$t')";
connect();
mysql_query($requete);
mysql_close();
}
}
?>
</body>
</html>
page4"affiche.php"
<?php
include"connect.php";
$requete="SELECT * FROM faculte";
connect();
$result=mysql_query($requete);
mysql_close();
$i=1;
while($r=mysql_fetch_array($result))
{
echo "<a href=\"insertion2.php\"?codefac=$r[codefac]>$r[nomfac]</a> <a href=\"\">$r[numtelfac]</a><br>";
;
$i++;
}
?>
page5"insertion2.php"
<html>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="500" border="0">
<tr>
<th scope="row">nom departement </th>
<td><input type="text" name="nomdep" /></td>
</tr>
<th scope="row">numero de telephone departement</th>
<td><input type="text" name="numteldep"/></td>
<tr>
<th scope="row"><input type="submit" name="insert" value="insert" /></th>
<td><input type="reset" name="effacer" value="effacer" /></td>
</tr>
</table>
</form>
<?php
include"connect.php";
$codemat=$HTTP_GET_VARS['codefac'];
if(isset($_POST["insert"]))
{
$nomdep=mysql_escape_string($_POST["nomdep"]);
$numteldep=mysql_escape_string($_POST["numteldep"]);
connect();
mysql_query("INSERT INTO departement VALUES ('','$nomdep','$numteldep','$codefac')");
mysql_close();
}
?>
</body>
</html>
et mon probleme est dans le code $HTTP_GET_VARS à la page 5 c'est à dire : comment porter l'attributs codfac de la table faculté vers la table département. dans la pgae 5, quand je remplie la table département je veux que l'attribut codfac s'affiche
voilà les pages php que j'ai creé ;
page 1 "conect.php"
<?php
function connect(){
$v="localhost";
$c="root";
$p="";
$base="emploi_du_temps";
mysql_connect($v,$c,$p)||die("connexion impossible");
mysql_select_db($base);
}
?>
page 2"base_de_donnée.php"
<?php
include"connect.php";
//creation de la table faculte
$fa="create table faculté(
codefac INTEGER(12) UNSIGNED not null AUTO_INCREMENT,
nomfac VARCHAR(50) not null UNIQUE,
numtelfac INTEGER(50)not null,
PRIMARY KEY(codefac))";
// creation de la table departement
$de="create table departement(
codedep INTEGER(20) UNSIGNED not null AUTO_INCREMENT,
nomdep VARCHAR(50) not null UNIQUE,
numteldep INTEGER(50)not null,
codefac INTEGER (12)UNSIGNED not null references faculte,
PRIMARY KEY(codedep))";
connect();
mysql_query($fa);
mysql_query($de);
mysql_close();
echo"go";
?>
page3"insertion.php"
<html>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="200" border="0">
<tr>
<td>nom_faculte</td>
<td><label>
<input type="text" name="nomfac" />
</label></td>
</tr>
<tr>
<td>numero de telephone</td>
<td><label>
<input type="text" name="numtelfac" />
</label></td>
</tr>
<tr>
<td colspan="2"><label>
<input type="submit" name="insert" value="insert" />
<input type="reset" name="effacer" value="effacer" />
</label></td>
</tr>
</table>
</form>
<?php
include"connect.php";
if(isset($_POST["insert"]))
{
if((!empty($_POST["nomfac"]))&&(!empty($_POST["numtelfac"])))
{
$f=mysql_escape_string($_POST["nomfac"]);
$t=mysql_escape_string($_POST["numtelfac"]);
$requete="INSERT INTO faculte VALUES ('','$f','$t')";
connect();
mysql_query($requete);
mysql_close();
}
}
?>
</body>
</html>
page4"affiche.php"
<?php
include"connect.php";
$requete="SELECT * FROM faculte";
connect();
$result=mysql_query($requete);
mysql_close();
$i=1;
while($r=mysql_fetch_array($result))
{
echo "<a href=\"insertion2.php\"?codefac=$r[codefac]>$r[nomfac]</a> <a href=\"\">$r[numtelfac]</a><br>";
;
$i++;
}
?>
page5"insertion2.php"
<html>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="500" border="0">
<tr>
<th scope="row">nom departement </th>
<td><input type="text" name="nomdep" /></td>
</tr>
<th scope="row">numero de telephone departement</th>
<td><input type="text" name="numteldep"/></td>
<tr>
<th scope="row"><input type="submit" name="insert" value="insert" /></th>
<td><input type="reset" name="effacer" value="effacer" /></td>
</tr>
</table>
</form>
<?php
include"connect.php";
$codemat=$HTTP_GET_VARS['codefac'];
if(isset($_POST["insert"]))
{
$nomdep=mysql_escape_string($_POST["nomdep"]);
$numteldep=mysql_escape_string($_POST["numteldep"]);
connect();
mysql_query("INSERT INTO departement VALUES ('','$nomdep','$numteldep','$codefac')");
mysql_close();
}
?>
</body>
</html>
et mon probleme est dans le code $HTTP_GET_VARS à la page 5 c'est à dire : comment porter l'attributs codfac de la table faculté vers la table département. dans la pgae 5, quand je remplie la table département je veux que l'attribut codfac s'affiche
Si j'ai bien compris, tu veux avoir le codefac pour le département que tu vas créer grâce à la page5 ?
Dans la page 4 tu as ça:
Ca donne des liens allant dans la page 5 pour insérer des départements dans cette fac.
Pour garder une référence vers ce codefac dans le formulaire tu dois créer un champs invisible (hidden) et ayant pour nom codefac, puis tu lui donnes la valeur qu'il y a dans le lien.
Ensuite tu pourras récupérer ce codefac comme les autres champs du formulaire:
Et il vaudrait mieux que tu testes si $_POST['codefac'] est un identifiant de fac valide, on ne sais jamais si l'utilisateur n'a pas bidouillé le fomulaire pour changer le champs hidden.
D'ailleurs en règle générale, il faut toujours vérifier ce qu'envoie l'utilisateur.
Et voilà :-)
Dans la page 4 tu as ça:
echo "<a href=\"insertion2.php\"?codefac=$r[codefac]>$r[nomfac]</a> <a href=\"\">$r[numtelfac]</a><br>";
Ca donne des liens allant dans la page 5 pour insérer des départements dans cette fac.
Pour garder une référence vers ce codefac dans le formulaire tu dois créer un champs invisible (hidden) et ayant pour nom codefac, puis tu lui donnes la valeur qu'il y a dans le lien.
<code><html> <body> <form id="form1" name="form1" method="post" action=""> <table width="500" border="0"> <tr> <th scope="row">nom departement </th> <td><input type="text" name="nomdep" /></td> </tr> <th scope="row">numero de telephone departement</th> <td><input type="text" name="numteldep"/> <input type="hidden" name="codefac" value="<? echo $_GET['codefac'] ?>" ></td> <tr> <th scope="row"><input type="submit" name="insert" value="insert" /></th> <td><input type="reset" name="effacer" value="effacer" /></td> </tr> </table> </form>
Ensuite tu pourras récupérer ce codefac comme les autres champs du formulaire:
<?php include"connect.php"; if(isset($_POST["insert"])) { $nomdep=mysql_escape_string($_POST["nomdep"]); $numteldep=mysql_escape_string($_POST["numteldep"]); $codefac=mysql_escape_string($_POST['codefac']); connect(); mysql_query("INSERT INTO departement VALUES ('','$nomdep','$numteldep','$codefac')"); mysql_close(); } ?> </body> </html>
Et il vaudrait mieux que tu testes si $_POST['codefac'] est un identifiant de fac valide, on ne sais jamais si l'utilisateur n'a pas bidouillé le fomulaire pour changer le champs hidden.
D'ailleurs en règle générale, il faut toujours vérifier ce qu'envoie l'utilisateur.
Et voilà :-)
<input type="hidden" name="codefac" value="<? echo $_GET['codefac'] ?>" ></td>
j'ai esayé ce code mais ça ne marche pas cdr le codefac ne s'affiche pas dans la table departement cdr je ne peus pas recupérer le champs codefac avec l'istruction ;
if(isset($_POST["insert"]))
{
$nomdep=mysql_escape_string($_POST["nomdep"]);
$numteldep=mysql_escape_string($_POST["numteldep"]);
$codefac=mysql_escape_string($_POST['codefac']);
connect();
mysql_query("INSERT INTO departement VALUES ('','$nomdep','$numteldep','$codefac')");
j'ai esayé ce code mais ça ne marche pas cdr le codefac ne s'affiche pas dans la table departement cdr je ne peus pas recupérer le champs codefac avec l'istruction ;
if(isset($_POST["insert"]))
{
$nomdep=mysql_escape_string($_POST["nomdep"]);
$numteldep=mysql_escape_string($_POST["numteldep"]);
$codefac=mysql_escape_string($_POST['codefac']);
connect();
mysql_query("INSERT INTO departement VALUES ('','$nomdep','$numteldep','$codefac')");
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question