[PHP/MYSQL] Afficher une jointure

Résolu/Fermé
cb Messages postés 45 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 14 avril 2010 - 28 févr. 2007 à 11:48
liliana23 Messages postés 2 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 20 avril 2008 - 17 avril 2008 à 18:38
Bonjour,

Le PC que j'utilise est un AMD 1300 MHz avec 256 Mo Ram et son système d'exploitation est Windows 2000 Server.
Je suis en train de réaliser une SGBD avec MySQL, PHP et Apache.

Je voudrais afficher une jointure dans une table.
Voici la jointure :

<html>
<head>
<title>Jointure</title>
<style type="text/css" >
table {border-style:double;border-width: 3px;border-color: red;background-color: white;}
</style>
</head>
<body>
<?php
include("connex.inc.php");
$idcom=connex("btscp","myparam");
$requete3="SELECT nom, prenom, id_contrat, datedebut, datefin, salairebrut, typecontrat, dureeperiodeessai, emploiprecisoccupe, dureehebdomadaire, caissederetraitecomplementaire, organismedeprevoyance FROM etudiant, contrat WHERE contrat.id_etudiant = etudiant.id_etudiant";
$result=@mysql_query($requete3,$idcom);
if(!$result)
{
	die('Requête invalide : ' . mysql_error());
}
else
{
	$nbcol=mysql_num_fields($result);
	$nbart=mysql_num_rows($result);
	echo "<table border=\"1\">";
	echo "<th>nom</th> <th>prenom</th> <th>identifiant du contrat</th> <th>Date début</th> <th>Date fin</th> <th>Salaire brut</th> <th>Nature du contrat</th> <th>Type du contrat</th> <th>Durée de la période d'essai</th> <th>Emploi précis occupé</th> <th>Durée hebdomadaire</th> <th>Caisse de retraite complémentaire</th> <th>Organisme de prévoyance</th>";
	while($ligne=mysql_fetch_array($result,MYSQL_NUM))
	{
    echo "<tr>";
    foreach($ligne as $valeur)
	  {
      echo "<td> $valeur </td>";
		}
		echo "</tr>";
	}
	echo "</table>";
}?>
</body>
</html>


Et je voudrais qu'il y ai un lien dans la colonne "Contrat" dans cette table :

<html>
<head>
<title>Lecture de la table Etudiant</title>
<style type="text/css" >
table {border-style:double;border-width: 3px;border-color: red;background-color: white;}
</style>
</head>
<body>
<BODY>
<BR>
<CENTER><IMG src="logo.gif" border=0 width=880 height=310></CENTER>
<BR><BR>
<?php
include("connex.inc.php");
$idcom=connex("btscp","myparam");
$requete="SELECT * FROM etudiant";
$result=@mysql_query($requete,$idcom);
if(!$result)
{
	die('Requête invalide : ' . mysql_error());
}
else
{
	$nbcol=mysql_num_fields($result);
	$nbart=mysql_num_rows($result);
	echo "<h1> Tous nos étudiants de BTS</h3>";
	echo "<h3> L'Institut Européen des Affaires compte aujourd'hui $nbart etudiant(s) en BTS</h4>";
        echo "<table border=\"1\">";
	echo "<th>identifiant de l'étudiant</th> <th>Nom</th> <th>Prénom</th> <th>titre</th> <th>Adresse</th> <th>Ville</th> <th>Code postal</th> <th>Téléphone fixe</th> <th>Téléphone portable</th> <th>Mail</th> <th>Date de naissance </th> <th>Lieu de naissance</th> <th>Nationalité</th> <th>Situation de famille</th> <th>Formation choisie</th> <th>Situation précédente</th> <th>Diplôme</th> <th>Permis de conduire</th> <th>Véhicule</th> <th>Date inscription</th> <th>Contrat(s)</th>";
	while($ligne=mysql_fetch_array($result,MYSQL_NUM))
	{
    echo "<tr>";
    foreach($ligne as $valeur)
	  {
      echo "<td> $valeur </td>";
		}
		echo "</tr>";
	}
	echo "</table>";

$date = date("H:i:s",time());
?>
<center><h3>
<? echo "Il est $date";?>
</h3></center>
<?
}
?>
</body>
</html>


Merci de votre aide.
A voir également:

22 réponses

cb Messages postés 45 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 14 avril 2010 15
2 mars 2007 à 11:42
Voici la solution a mon problème:

1 : afficher le lien.
Dans ton code, au moment où tu génères les lignes, mets ça :

	foreach($ligne as $valeur)
	{
		echo "<td> $valeur </td>";
	}
	echo "<td><a href='jointure.php?id_etudiant=".$ligne[0]."'>voir contrat</a></td>";
	echo "</tr>";
}
echo "</table>";


2 : permettre à la page de ta jointure de n'afficher les données que pour 1 étudiant.
Modifie ta requête comme ceci :

$requete3="SELECT nom, prenom, id_contrat, datedebut, datefin, salairebrut, typecontrat, dureeperiodeessai, emploiprecisoccupe, dureehebdomadaire, caissederetraitecomplementaire, organismedeprevoyance FROM etudiant, contrat WHERE contrat.id_etudiant = etudiant.id_etudiant";
if (isset($_GET['id_etudiant']))
    $requete3 .= " AND etudiant.id_etudiant='".$_GET['id_etudiant']."'";
$result=mysql_query($requete3,$idcom);


Un grand merci a Xavier !
0
liliana23 Messages postés 2 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 20 avril 2008
17 avril 2008 à 18:38
salut
je veux faire une page protégée avec mot de passe et pseudo ces dernier sont enregistré dans bdd ,et dans cette base
il ya 3 type professeur ,étudiant,et directeur et suivant le type de l'utilisateur on ouvre une page
par exemple dans la page protégée on écrit mot de passe et un pseudo déjà existe dans ma base et selon le type d'utilisateur s'il est étudiant par exemple alors la page d'étudiant s'ouvre et s'il est prof alors c'est page de prof qui s'ouvre...etc
j'ai fais la page protégés mais pas pu faire le reste
0