Forum Clubic

Lien sur le resultat d'une requete

Bonjour à tous,
je suis un débutant en php, je vais essayer d’etre plus claire possible.voila mon probleme est le suivant: je ve faire des liens sur le resultat de ma requete qui se presente sous la forme d’un tableau de 4 colonnes (champs) plus précisement à la deuxieme et la quatrieme colonne du tableau

Titres Departement Commune Arrondissement Communaute_rurale
TIVAOUANE MBORO
TIVAOUANE Pambal Chérif Lô
TIVAOUANE Pambal Mont Rolland
TIVAOUANE Pambal Notto Gouye Diama

Et ?

Il doit manquer un morceau dans ton explication, peux-tu détailler ce que tu veux faire en nous présentant par exemple le code source où tu essayes de créer ton lien ?

Merci.

merci pour ta reponse voici le code:
<?php
$n_depart=$_GET[‘d’];

// tentative de connexion au serveur MySQL

$lien = @mysql_connect(“localhost”,“root”,"");

// si la connexion échoue
if ($lien == false) {
// on renvoie une variable resultat_0 qui indique l’échec
// ainsi qu’une variable erreurmsg qui indique la raison de l’échec
echo “&resultat_0=Echec&erreurmsg=”;
echo utf8_encode(“La connexion au serveur MySQL a échoué”);
exit;
}
// tentative de sélection de notre base
if (mysql_select_db(“cnev”) == false) {
echo “&resultat_0=Echec&erreurmsg=”;
echo utf8_encode(“Erreur dans la sélection de la base de donnée”);
echo utf8_encode(“Erreur : " . mysql_error($lien));
echo “&”;
exit;
}
// construire et exécuter la requête
$requete = “SELECT Departement,Commune,Arrondissement,Communaute_rurale FROM centre1 WHERE n_depart =$n_depart”;
$resultat = mysql_query($requete);
echo “

”;//afficher les matrices et le tableau centré
echo “”;
echo “”;
echo “”;
echo “”;
echo “”;
echo “”;
echo “”;
echo “”;
echo “”;
echo “”;
}
echo “
”;
echo mysql_field_name($resultat,0);//affichage de l’entete du champ de la table
echo “
”;
echo mysql_field_name($resultat,1);//affichage de l’entete du champ de la table
//echo “<a href=””>Commune";
echo “
”;
echo mysql_field_name($resultat,2);//affichage de l’entete du champ de la table
echo “
”;
echo mysql_field_name($resultat,3);//affichage de l’entete du champ de la table
echo “
”;
// on parcourt le résultat de la requête
while ($donnees=mysql_fetch_array($resultat)){

// et on concatène les résultats dans une variable listeResultats
//$listeResultats .= “&resultat_”.$i."=".urlencode(utf8_encode($donnees[‘Prenom’]));
echo “

”;
echo $donnees[‘Departement’];//
echo “
”;
echo $donnees[‘Commune’];//je veux un lien ici
echo “
”;
echo $donnees[‘Arrondissement’];//
echo “
”;
echo $donnees[‘Communaute_rurale’];//je veux un lien ici
echo “
”;
echo “
”;//fermer la table
?>
merci de votre comprehension

voila l’objectif est la suivante : une la requete affichée, je ve faire un clic sur une commune (Mboro par exemple) ou sur une communauté rurale (Chérif Lô ) pour afficher les details du centre en question et toutes c informations se trouvent dans la meme table.

Et bien au lieu, dans tes

, de faire seulement ‘echo $donnees[‘Commune’];’, il faut que tu lui fasses écrire un lien (balises ). P.ex. avec un :
echo '<a href="'.$url_correspondant_a_la_commune.'">'.$donnees['Commune'].'</a>'

Bien sûr il faut mettre l’adresse qui va bien et qui est sera a priori déterminée par $donnees['Commune] aussi.

merci ton code reflete c que je ve faire mé j’ai un probleme avec l’url ( comment lui indiquer la page traitement et en meme temps recuperer l’id de la commune).
ce que je cherche à faire é une fois que je clique sur le lien, je recupere l’id de la commune pour aller chercher les autres infos dans ma base. ce ve dire que mon clic va envoyer id de la commune vers une autre page php qui va faire le traitement.
voici mon message d’erreur:
Notice: Undefined variable: url_correspondant_a_la_commune in c:\program files\easyphp1-7\www\cnec\resultatcentre.php on line 76
merci pour tout

Le message d’erreur c’est normal, en fait c’est à toi de remplacer $url_correspondant_a_la_commune par la variable ou n’importe quoi qui contient l’url que tu veux utiliser comme lien.

On va supposer que la page qui affiche les infos de la commune s’appelle commune.php, tu peux par exemple mettre comme dans ta table le lien vers commune.php?nom=nom_de_la_commune. Donc avec un truc qui ressemble à


echo '<a href="commune.php?nom='.$donnees['Commune'].'">'.$donnees['Commune'].'</a>'

Bon après faut voir à mettre le lien correctement pour qu’il correspondent à tes fichiers et répertoires, etc…
Du côté de commune.php tu récupères la variable GET qui correspond à ‘nom’ et tu affiches ce que tu veux à partir de là.

merci pour ta reponse maintenant je recupere la variable nom dans dans page commune.php mais j’ai n’autre probleme dans la requete il y à des erreurs.
je vous donne d’abord mon code sur la page commune.php

<?php $n_depart=$_GET['nom']; echo $n_depart; $lien = @mysql_connect("localhost","root",""); // si la connexion échoue if ($lien == false) { // on renvoie une variable resultat_0 qui indique l'échec // ainsi qu'une variable erreurmsg qui indique la raison de l'échec echo "&resultat_0=Echec&erreurmsg="; echo utf8_encode("La connexion au serveur MySQL a échoué"); exit; } // tentative de sélection de notre base if (mysql_select_db("cnev") == false) { echo "&resultat_0=Echec&erreurmsg="; echo utf8_encode("Erreur dans la sélection de la base de donnée"); echo utf8_encode("Erreur : " . mysql_error($lien)); echo "&"; exit; } // construire et exécuter la requête $requete = "SELECT Commune,Communaute_rurale, type_centre, Date_creation, adresse, officier, etat_centre, nombre_agent FROM centre1 WHERE Commune =$n_depart or Communaute_rurale=$n_depart"; $resultat = mysql_query($requete); echo "";//afficher les matrices et le tableau centré echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; // on parcourt le résultat de la requête [b][u]while ($donnees=mysql_fetch_array($resultat)){[/u][/b] echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
"; echo mysql_field_name($resultat,0); echo ""; echo mysql_field_name($resultat,1); echo ""; echo mysql_field_name($resultat,2); echo ""; echo mysql_field_name($resultat,3); echo ""; echo mysql_field_name($resultat,4); echo ""; echo mysql_field_name($resultat,5); echo ""; echo mysql_field_name($resultat,6); echo "
"; echo $donnees['Commune']; echo ""; echo $donnees['Communaute_rurale']; echo ""; echo $donnees['type_centre']; echo ""; echo $donnees['Date_creation']; echo ""; echo $donnees['adresse']; echo ""; echo $donnees['officier']; echo ""; echo $donnees['etat_centre']; echo ""; echo $donnees['nombre_agent']; echo "
";//fermer la table ?>

maintenant voici l’erreur que j’ai
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\cnec\commune.php on line 51
Warning: mysql_field_name(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\cnec\commune.php on line 30
merci de votre comprehension
Edité le 03/10/2007 à 12:58

Le message d’erreur dit que MySQL n’a pas renvoyé de réponse valide à ta requête, donc il doit y avoir une erreur dans celle-ci. Et ici, il me semble que ça vient du fait que tu écris : WHERE Commune =$n_depart or Communaute_rurale=$n_depart sans mettre de guillemets simples autour de $n_depart. En effet $n_depart représente une chaîne de caractères et MySQL a besoin de guillemets autour des chaînes pour les interpréter comme telles. Donc, WHERE Commune =’$n_depart’ or Communaute_rurale=’$n_depart’ devrait faire l’affaire.
Ensuite, pour une question de sécurité (injection SQL), il vaut mieux que tu fasses $n_depart=mysql_real_escape_string($_GET[‘nom’]); renseigne toi sur le sujet pour plus d’informations

Salut je suis un nouveau dans le coins et des problemes avec le php base de donnée MYsql
PLEASE HELP ME

BJ
en faite, mon probleme est que je suis debutant en langage PHP. J’ais essayé de crée des formulaires en html et ensuite integré des codes php avec la base de donnée MYsql. Donc j’ais reussi en partie puis que je remplis ces formulaires les informations seront dans une table que j’ais crée avec mysql.
Maintenent le probleme est que je n’arrive pas à mettre un lien qui me permet de voir simplement la liste des enrégistrements.
J’espere pouvoir recevoir des reponses.
MERCI D’AVANCE.

merci bcp kinji127 cété sa l’erreur maintenant g un probleme de mise en forme.
j’aimeré affiché mes donnees sous la forme de deux colonnes et sept lignes comment faire exemple

                                [b]  Noms des champs[/b]	          [b] données dynamiques[/b]

                                          Commune	                                 tivaouane
                                          Communaute_rurale	
                                          type_centre	                              principal
                                           Date_creation	                              ddddd
                                           adresse	                                           ddddd
                                          officier	                                                dddd
                                          etat_centre	                                   dddd
                                           nombre_agent	                            ddgghhh

Ben comme plus haut, avec un tableau où tu as 7 lignes et pour chacune 2

avec ce que tu veux mettre dedans.

g pas bien compri g fé des td mé sa na pas marché


<tr>
<td> 1ère ligne 1ere colonne</td><td>1ère ligne 2ème colonne</td>
</tr>
<tr>
<td>2ème ligne 1ère colonne </td><td> 2ème ligne 2 ème colonne</td>
</tr>

Donne en gros (désolé pour le tableau pourri)


| 1ère ligne 1ère colonne | 1ère ligne 2 ème colonne |

| 2ème ligne 1ère colonne | 2ème ligne 2 ème colonne |

A toi d’adapter ensuite.
Edité le 09/10/2007 à 19:40