[php] inserer un lien dans un tableau qui contient - une table sql avec variable ds le lien

Salut la team, c’est encore moi, avec un autre soucis

J’affiche un tableau contenant un extrait de table sql


$requete = " select * from salons WHERE dep= $zone";
$resultat=mysql_query($requete,$id_connexion);

while ($tableau=mysql_fetch_array($resultat,MYSQL_ASSOC))
{
echo '<tr><td><b>',$tableau['nom'],'</b></td><td>',$tableau['ville'],'</td>
<td>',$tableau['date'],'</td><td>',$tableau['dep'],'</td></tr>';
}
?>

J’ai supprimé le “blabla” du dessus etant donné que ca fonctionne, du moins le tableau s’affiche correctement avec les valeurs voulues aux bon endroits et tt…
Je voudrais que quand on clique sur le nom ca affiche une page (deja créée) qui affiche l’integralité de l’extrait de la table sql voulue, chaque ligne de la table sql a un id unique, je passe donc cet id dans l’adresse de la page qui permet de voir l’extrait entier puis la suite n’est pas interessante, elle fonctionne
Le lien est du style page.php?id=XXX

J’ai donc essayé ceci pr commencer


$requete = " select * from salons WHERE dep= $zone";
$resultat=mysql_query($requete,$id_connexion);

while ($tableau=mysql_fetch_array($resultat,MYSQL_ASSOC))
{
echo '<tr><td><b><a href="http://www.google.fr">',$tableau['nom'],'</b></td><td>',$tableau['ville'],'</td>
<td>',$tableau['date'],'</td><td>',$tableau['dep'],'</td></tr>';
}
?>

Avec ca, ca fonctionne, chaque ligne dans la colonne nom du tableau est un lien menant à google.

Ensuite, j’ai changé le lien etant donné que j’ai trouvé la chose pour en faire ceci
La variable de l’id est… $id :slight_smile:


$requete = " select * from salons WHERE dep= $zone";
$resultat=mysql_query($requete,$id_connexion);

while ($tableau=mysql_fetch_array($resultat,MYSQL_ASSOC))
{
echo '<tr><td><b><a href="page.php?='$id'">',$tableau['nom'],'</b></td><td>',$tableau['ville'],'</td>
<td>',$tableau['date'],'</td><td>',$tableau['dep'],'</td></tr>';
}
?>

La, page blanche, j’ai donc viré les deux ’ autour de la variable ms le lien reste page.php?id=$id sans remplacer la variable par la bonne valeur.
J’ai essayé un [’$id’] rien, bref j’ai essayé plusieurs combinaisons en me basant sur des modeles trouvés à droite à gauche sur le net, j’arrive à 3 liens differents:

  • soit page.php?id=
  • soit page.php?id=$id
  • soit une page blanche

Bref, je n’arrive pas à creer correctement le lien et j’aimerais une petite aide :slight_smile:

Merci bcp, et bonne soirée ^^

Corentin

Lire Manuel PHP > Variables > Variables pré-définies (notamment le paragraphe sur $_GET et sur $_POST)

Ca ne m’aide pas vraiment… j’suis allé voir le mode d’emploi php quand meme avant de demander !

[i]HTTP GET variables : $_GET

Note : Introduite en 4.1.0. Dans les versions plus anciennes, elle s'appelait &#036;HTTP_GET_VARS. 

Un tableau associatif des valeurs passées au script courant via le protocole HTTP et la méthode GET. Elle est automatiquement globale dans tous les contextes d’exécution.

Cette variable est une ‘superglobal’, ou globale automatique. Cela signifie qu’elle est simplement disponible dans tous les contextes d’exécution (fonctions ou méthodes). Vous n’avez pas besoin de faire global $_GET; pour y accéder, comme vous le faisiez avec $HTTP_GET_VARS.

$HTTP_GET_VARS contient les mêmes informations, mais n’est pas autoglobale. (Notez que $HTTP_GET_VARS et $_GET sont des variables différentes et que PHP les traite comme telles.)

Si la directive register_globals est active, alors ces variables seront aussi rendues directement accessibles dans le contexte d’exécution global. C’est à dire séparément des tableaux $_GET et $HTTP_GET_VARS. Pour plus d’informations sur la sécurité de cette configuration, voyez le chapitre Utiliser la directive Register Globals. Ces variables globales individuelles ne sont pas des globales.
HTTP POST variables : $_POST

Note : Introduite en 4.1.0. Dans les versions plus anciennes, elle s'appelait &#036;HTTP_POST_VARS. 

Un tableau associatif des valeurs passées au script courant via le protocole HTTP et la méthode POST. Elle est automatiquement globale dans tous les contextes d’exécution.

Cette variable est une ‘superglobal’, ou globale automatique. Cela signifie qu’elle est simplement disponible dans tous les contextes d’exécution (fonctions ou méthodes). Vous n’avez pas besoin de faire global $_POST; pour y accéder, comme vous le faisiez avec $HTTP_POST_VARS.

$HTTP_POST_VARS contient les mêmes informations, mais n’est pas autoglobale. (Notez que $HTTP_POST_VARS et $_POST sont des variables différentes et que PHP les traite comme telles.)

Si la directive register_globals est active, alors ces variables seront aussi rendues directement accessibles dans le contexte d’exécution global. C’est à dire séparément des tableaux $_POST et $HTTP_POST_VARS. Pour plus d’informations sur la sécurité de cette configuration, voyez le chapitre Utiliser la directive Register Globals. Ces variables globales individuelles ne sont pas des globales. [/i]

:neutre:

Ah OK, et ceci fonctionne-t-il ?

$requete = 'select * from salons WHERE dep= ' . $zone;
$resultat = mysql_query($requete, $id_connexion);

while($tableau = mysql_fetch_assoc($resultat)) {
    echo '<tr>
    <td><b><a href="page.php?id=' , $_GET['id'] , '">' , $tableau['nom'] , '</b></td>
    <td>' , $tableau['ville'] , '</td>
    <td>' , $tableau['date'] , '</td>
    <td>' , $tableau['dep'] , '</td>
</tr>';
}

PS: J’ai remplacé ton mysql_fetch_array($x, MYSQL_ASSOC)[/url][/b] par un [b][url=http://fr3.php.net/manual/fr/function.mysql-fetch-assoc.php]mysql_fetch_assoc($x) (car ça revient au même, mais en plus lisible)

Non ca ne fonctionne pas, mais en déséspoir de cause j’ai regarder le code dans un script deja fait et j’ai reussi

<a href="page.php?id='.$tableau['id'].'">

Voila :slight_smile:

Merci quand meme :slight_smile: