Créer un hyperlien en PHP dans l'affichage d'une requête MySql

Résolu/Fermé
mandrane Messages postés 1 Date d'inscription lundi 25 mai 2015 Statut Membre Dernière intervention 25 mai 2015 - 25 mai 2015 à 15:00
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 27 mai 2015 à 23:29
Bonjour à tous.
Je suis débutant en PHP-MySql] et j'ai essayé de créer un hyperlien dans l'affichage d'une requête MySql, mais le code n'est pas correct, il n'y a pas d'erreur affichée dans cette page mais la requête affiche uniquement les lignes impaires.

- La formule qui fonctionne sans l'hyperlien:
echo "<td><h5>".$row["NOM"]."</td>";

- La formule modifié avec l'ajout d'un hyperlien et d'une variable "recordid" pour ouvrir le lien dans la page "affichage_bdd.php" :
echo "<td><h5> <a href=\"affichage_bdd.php?recordid=<? ".$row['NOM']." ?> ".$row['NOM']."</td>";

La page "affichage_bdd.php"; s'ouvre avec d'autres informations enregistré dans ma table, ainsi qu'une erreur SQL.

J'espère avoir été assez précis dans ma demande, c'est mon premier poste, soyez indulgent.
Merci par avance pour votre aide.
A voir également:

4 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
25 mai 2015 à 15:05
Bonjour
commence par retirer les balises pjp qui sont DANS ton echo <? Et ?>
0
Merci pour ta réponse.
j'ai retiré mes deux balises, maintenant je n'ai plus d'affichage du champ "NOM"
0
ReDLoG Messages postés 243 Date d'inscription mardi 12 mars 2013 Statut Membre Dernière intervention 28 octobre 2021 57
25 mai 2015 à 21:20
Bonsoir,
Essaies comme ceci :
echo "<td><h5><a href=\"affichage_bdd.php?recordid=".$row['NOM']."\">".$row['NOM']."</a></h5></td>";

Cordialement.
0
Bonsoir ReDLoG, et merci.
Je viens d'essayer la modification, maintenant j'ai une erreur :
Parse error: syntax error, unexpected end of file in C:\Easy PHP\base\liste.php on line 100
la ligne 100 est la fin de la page. </html>
Si tu as une idée ?
En te remerciant.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié par jordane45 le 26/05/2015 à 00:11
Essayes comme ceci :
echo "<td>
         <h5>
            <a href='affichage_bdd.php?recordid=".$row['NOM']."'
              >".$row['NOM']."</a>
           </h5>
          </td>";


Par contre... si le souci persiste.. il faudra nous montrer ton code ...
(entièrement ! )
car visiblement ... tu as oublié de fermer des balises quelque part ...



Cordialement,
Jordane
0
Bonjour jordane45
Tu avais raison l'erreur venait de moi, j'ai repris une sauvegarde précédente, maintenant cette page fonctionne. Excusé moi.
Encore un souci sur la page qui s' ouvre avec une erreur.
Erreur SQL !
SELECT num, nom, adr, cp, loc FROM client where nom.num=durand jean
You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'jean' at line 1

Je t'envoie le code de cette page "affichage_bd".
Si tu peut m'aider encore une fois je te serais très reconnaissant.
Merci beaucoup.

<?php
$hostname = "localhost";
$database = "Gestion_bd";
$username = "root";
$password = "";
$test = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
?>
<html>

<head>
<title>Affichage Client</title>
<link href="css/style2.css" rel="stylesheet" type="text/css">
</head>

<center>
<font size="6"><font face="Comic Sans MS">Affichage Client</font></font>
<h6>
<body>

<?php
$id = $_GET['recordid'];

mysql_select_db($database, $test);
$sql = "SELECT num, nom, adr, cp, loc FROM client where client.numsoc=$id";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req)) {

echo 'N°: '.$data['num'].'<br /><br /><br />';
echo 'Nom : '.$data['nom'].'      ';
echo 'Adresse : '.$data['adr'].'      ';
echo 'CP : '.$data ['cp'].'      ';
echo 'Ville : '.$data ['loc'].'<br /><br /><br /><br />';

}
mysql_free_result ($req);
mysql_close ();
?>
</body>
</html>
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > mandrane
27 mai 2015 à 00:33
1 - Si c'est une nouvelle question ... tu dois fermer celle là..et ouvrir une nouvelle discussion
(cela facilite la recherche sur le site.. dans le cas où un internaute aurait les mêmes soucis que toi !)

2 - Places le code de connexion à ta BDD dans un fichier à part plutôt que de le copier/coller dans chacune de tes pages.
Ensuite.. tu en feras un INCLUDE dans les pages où tu en auras besoin.

3 - Ton souci vient du fait que tu lui passes .. dans ton $id ... un nom et non un "id" (numérique).
Si c'est voulu (ce qui serait étonnant... car on ne se sert que très rarement de champs textes comme "ID" d'une table.....) il faut ajouter des QUOTES autour de ta variable dans ta requête.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
27 mai 2015 à 00:34
Ah... et à l'avenir.. merci d'utiliser les BALISES DE CODE lorsque tu postes du code sur le forum.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
Bonsoir Jordane et un grand merci, ainsi qu'à ReDLoG pour votre aide,
ça m'a permis de bien avancé dans mon projet.
Je suivrais tes conseils.
Je voudrais cloturer ce poste. Je n'ai pas trouvé la méthode, même dans le lien envoyé.
Peut tu m'indiquer comment faire ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
27 mai 2015 à 23:29
J'ai marqué la discussion en résolue à ta place.
Tu ne vois pas le lien pour le faire... car tu as posté ta question en étant LOGUE sur le site... alors que là.. tu postes en tant que "simple" visiteur. (ton login est gris.. et non pas bleu....)
0