PHP : Méthode GET et menu dynamique

La méthode GET va gérer une variable passée dans l’URL.

  • Variable simple
<?php
echo $_GET['jour'];
?>

Ici la variable est ajoutée manuellement dans l’URL


  • Variables multiples
<?php
echo $_GET['jour'] ."<br>";
echo $_GET['mois'] ."<br>";
echo $_GET['année'];
?>

Plrs valeurs de variables se concatènent avec &


Créer un menu dynamique

On interroge une table de BDD nommée _josePHP
Les colonnes sont Id, titre, texte, url

On interroge la table en faisant une boucle. (voir cet article)

on affiche une ancre pour chaque élément de la table:

  • dont le nom correspond au ‘titre’ présent sur la table
  • dont l’url correspond à l’url actuel, ajouté de l’Id présent sur la table
//si pas d'erreur
while($ligne = $resultat->fetch()) { 

echo '<a href="index.php?Id='. $ligne['Id'] . '">'. $ligne['titre'] .'  </a>';

//<a href="adresse dynamique">titredynamique</a> 
// pas besoin de mettre l'url complete si on veut pointer sur le même repertoire


}

Code complet pour cet exemple:

<?php
$servername = 'benjamnviguier.mysql.db'; //adresse de la BDD
$username = 'benjamnviguier';//nom de l'utilisateur
$password = 'Mooo2543ovh';//mot de passe de l'utilisation
          
$dnspdo = 'mysql:dbname=benjamnviguier;host=' . $servername . ';charset=utf8';

// on se connecte via DPO
$bdd = new PDO($dnspdo, $username, $password);

// Récupère les données de la table clients

$nomdelatable = '_josePHP';
$requete1 = 'SELECT * FROM ' . $nomdelatable; 


//  on prepare le tableau pour recueillir le resultat de la requete
$resultat = $bdd->prepare($requete1);
$resultat->execute(); 
//ces 2 dernieres lignes sont de la methode PDO

// en cas d'erreur
if (!$resultat) {
    echo "Problème de requete";
} 
//si pas d'erreur
while($ligne = $resultat->fetch()) { 

echo '<a href="index.php?Id='. $ligne['Id'] . '">'. $ligne['titre'] .'  </a>';

//<a href="adresse dynamique">titredynamique</a> 
// pas besoin de mettre l'url complete si on veut pointer sur le même repertoire


}

?>

Version en déclarant des variables pour chaque élément utilisé. (Plus Propre)

// sinon on continue avec une boucle
while($ligne = $resultat->fetch()) {

$titredynamique = $ligne['titre'];
$idarticle = $ligne['Id'];
$adressedynamique = 'index.php?Id=' . $idarticle;

echo "<br>";
echo $adressedynamique;
echo "<br>";
echo $titredynamique;
echo "<br>";
echo $idarticle;
echo "<br>";
echo "<hr>";


echo '<a href="' . $adressedynamique . '">' . $titredynamique . '</a>';


} 


?> 

Aller chercher les pages créées avec cet méthode :

Suite de la méthode GET sur cet article