Besoin d'aide en php
Résolu/Fermé
programos
Messages postés
5
Date d'inscription
samedi 3 mars 2007
Statut
Membre
Dernière intervention
13 mars 2007
-
3 mars 2007 à 21:21
programos Messages postés 5 Date d'inscription samedi 3 mars 2007 Statut Membre Dernière intervention 13 mars 2007 - 13 mars 2007 à 19:27
programos Messages postés 5 Date d'inscription samedi 3 mars 2007 Statut Membre Dernière intervention 13 mars 2007 - 13 mars 2007 à 19:27
5 réponses
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
3 mars 2007 à 21:47
3 mars 2007 à 21:47
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.
programos
Messages postés
5
Date d'inscription
samedi 3 mars 2007
Statut
Membre
Dernière intervention
13 mars 2007
4 mars 2007 à 20:23
4 mars 2007 à 20:23
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
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
6 mars 2007 à 21:04
6 mars 2007 à 21:04
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à :-)
programos
Messages postés
5
Date d'inscription
samedi 3 mars 2007
Statut
Membre
Dernière intervention
13 mars 2007
9 mars 2007 à 19:11
9 mars 2007 à 19:11
<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
programos
Messages postés
5
Date d'inscription
samedi 3 mars 2007
Statut
Membre
Dernière intervention
13 mars 2007
13 mars 2007 à 19:27
13 mars 2007 à 19:27
enfin j trouvé la sollution c'était dans le code :
echo "<a href=\"insertion2.php\"?codefac=$r[codefac]>$r[nomfac]</a> ;
j'aurais due l'écrire comme ça :
echo "<a href=\"insertion2.php?codefac=$r[codefac]\">$r[nomfac]</a> ;
c'est le caractere \" qui est mal placé
echo "<a href=\"insertion2.php\"?codefac=$r[codefac]>$r[nomfac]</a> ;
j'aurais due l'écrire comme ça :
echo "<a href=\"insertion2.php?codefac=$r[codefac]\">$r[nomfac]</a> ;
c'est le caractere \" qui est mal placé