Pour faire un tableau à partir d'une table en base, ce n'est pas bien compliqué (c'est étonnant d'ailleurs que ce ne soit pas déjà dans la faq

).
Il te faut écrire et exécuter une requête sql qui te ramenera les champs (colonnes) des différents enregistrements, et lire en boucle le résultat pour l'afficher au fur et à mesure avec des balises html :
<?$sql = "SELECT champ1, champ2, champ3 FROM maTable";
$resultSet = mysql_query($sql); // exécution de la requête
echo '<table>' ; // on ouvre le tableau
while ($row = mysql_fetch_array($resultSet)) { // on boucle sur le résultat de la requête en mettant chaque ligne dans $row
?>
<tr>
<td><?php echo $row['champ1']?></td>
<td><?php echo $row['champ2']?></td>
<td><?php echo $row['champ3']?></td>
</tr>
<? } // on affiche ainsi le contenu des différents champs
echo '</table>'; // on ferme le tableau
?>
Pour ne ramener que les enregistrement qui répondent à un certain critère, on peut filtrer directement dans la requête en ajoutant la clause where :
$sql = "SELECT id, nom_voiture, etat, date_reparation FROM voiture";
$sql.= " WHERE date_reparation > '$date'"; // avec $date étant la date du jour - 7
Tu ne récupères ainsi que les voiture dont la date de réparation est supérieur à $date, et le contenu de ton tableau s'adapte automatiquement
Enfin pour le lien, il te faut récupérer dans ta requete un identifiant unique caractérisant chaque enregistrement. Tu peux ensuite l'utiliser dans un lien lorsque tu génères le tableau :
<td><a href="page_detail.php?id=<?php echo $row['id'];?>Texte du lien</a></td>
Il ne te reste plus qu'à créer la page_detail.php, qui récuperera la variable passée en paramètre dans $_GET['id'], et recommencer ta requête, avec pour condition cette fois de ne ramener que l'enregistrement corredonant :
$sql = "SELECT id, nom_voiture, etat, date_reparation FROM voiture";
$sql.= " WHERE id = " . $_GET['id'];
voilà pour les grandes lignes...
