begin process at 2012 05 31 09:24:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN

dimanche 14 mars 2010 à 23:19:33 | SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN

escabot

Bonsoir,

Je cherche desespérement la bonne syntaxe qui permettrait de sélectionner les coordonnées (stockées dans la bdd phpmyadmin) correspondant à un membre adhérant au site en cliquant sur un lien.
Le but est :
- en cliquant sur le lien "membre 1" on appelle les coordonnées du premier membre de la table "table_membres" dont le champs "memb_id" est incrémenté : 1
- en cliquant sur le lien "membre 2" on appelle les coordonnées du second membre de la table "table_membres" dont le champs "memb_id" est incrémenté : 2
- en cliquant sur le lien "membre 3" on appelle les coordonnées du troisième membre de la table "table_membres" dont le champs "memb_id" est incrémenté : 3

Voici ci-dessous mon script; je sais qu'il manque quelquechose pour que ça fonctionne mais je n'arrive pas à trouver.
Merci d'avance pour votre aide.

<?php
// INCLUDE BASIC FILES : Envoi des codes Admin pour accéder à la bdd phpmyadmin + Connection à la bdd phpmyadmin
include_once './includes/bdd-dial.php';
?>

<html>
<head>
</head>
<body>
<table>
<td >

<a href="#" id=1>membre 1</a>,<br>
<a href="#" id=2>membre 2</a>,<br>
<a href="#" id=3>membre 3</a>. <br>

<?php // Selection de la table "table_membres" et appel de tous des champs de la bdd mysql

// on prépare une requête permettant de sélectionner l'id du membre
$sql = 'SELECT * FROM table_membres WHERE memb_id="'.$data['id'].'"';

// on lance la requête
$select_memb = mysql_query($sql) ;

$ent = mysql_fetch_array($select_memb);

$nom = $ent['memb_name'];
$adresse = $ent['memb_address'];

?>
<!-- LES COORDONNEES MEMBRE S'AFFICHENT CI-DESSOUS EN DYNAMIQUE -->
<u>Nom du membre</u> : <?php echo stripslashes($nom); ?>
<br>
<u>Adresse</u> : <?php echo stripslashes($adresse); ?>

</td>
</table>
</body>
</html>
lundi 15 mars 2010 à 17:09:02 | Re : SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN

Tonio_35


Bonjour,

Tu peux te servir des variables d'url comme ceci :
Code HTML :
<a href="tapage.php?id=1">membre 1</a>
<a href="tapage.php?id=2">membre 2</a>


Code PHP :
<?php
// on prépare une requête permettant de sélectionner l'id du membre
$sql = 'SELECT * FROM table_membres WHERE memb_id="'.mysql_real_escape_string($_GET['id']).'"';
?>


_________________________________
Min iPomme
mardi 16 mars 2010 à 09:12:02 | Re : SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN

escabot

Bonjour Tonio_35,
Merci pour ta réponse.
Je vais l'essayer ce matin et pour donner mon impression : "I'll be back" !
mardi 16 mars 2010 à 09:31:19 | Re : SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN

escabot

Ca marche !
Je savais qu'il ne manquait pas grand chose, mais sans toi, je chercherais encore...
Merci encore Tonio_35.
mardi 16 mars 2010 à 10:01:57 | Re : SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN

Tonio_35

Réponse acceptée !
De rien tu peux accèpter le message qui t'as aidé avec le bouton face au message






<= ICI

Et n'oublie pas le mysql_real_escape_string, c'est très important pour éviter les failles de sécurité.
_________________________________
Min iPomme
mardi 16 mars 2010 à 12:39:11 | Re : SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN

TychoBrahe

Salut,

Code PHP :
<?php
// on prépare une requête permettant de sélectionner l'id du membre
$sql = 'SELECT * FROM table_membres WHERE memb_id="'.mysql_real_escape_string($_GET['id']).'"';
?>

Quelques petites remarques :
- Si memb_id est un entier (ce qui serait logique), alors on ne devrai pas mettre de quotes.
- Si on ne met pas de quotes, alors on utilisera intval() au lieux de mysql_real_escape_string().
- Le top serait en fait de tester le contenu de $_GET['id'] avec ctype_digit() et de langer une exception/générer une erreur en cas de donnée non conforme.
- Les "SELECT *" c'est un peu moche (malheureusement on en vois partout).

D'une manière plus générale, séparer le HTML du PHP est préférable.

Voilà, quelques remarques qui ne changeront pas le fonctionnement mais qui permettent de faire un peu mieux.
jeudi 18 mars 2010 à 09:50:03 | Re : SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN

escabot

Salut TychoBrahe,

Merci pour tes suggestions mais j'avoue ne pas être suffisamment calé en PHP pour comprendre la subtilité de ta syntaxe.
Autant j'ai déjà utilisé mysql_real_escape_string($_GET['id'])[/color](bien que trop de nuits passées à manipuler du code m'ont fait passé à côté...jusqu'à ce que Tonio_35 me sorte de mon Somnambulisme ), autant ton code ne m'est pas si familier. C'est pour ça qu'il m'interpelle mon côté "perfectionniste" (c'est lui qui me "bouffe" certaines nuits!)
Bien que " $sql = 'SELECT * FROM table_membres WHERE memb_id="'.mysql_real_escape_string($_GET['id']).'"'; " fonctionne très bien, j'apprécierais que tu m'écrives la syntaxe de cette ligne, intégrant intval() et ctype_digit() afin d'éviter toute erreur.

Par ailleurs, je ne vois pas en quoi les "SELECT *" c'est un peu moche : veux-tu dire que j'aurais pu écrire à la place : $sql = 'SELECT memb_name, memb_address FROM table_membres (...) ou est-ce une remarque plus fondamentale ?

Enfin, concernant le fait de séparer le HTML du PHP, tu prêches un convaincu : comme tu peux le voir, j'utilise une "include" pour l'envoi des codes "Admin" pour accéder à la bdd phpmyadmin et pour établir la connexion à la bdd phpmyadmin (cf. INCLUDE BASIC FILES). Mais afin de faciliter la lecture de ma recherche, j'ai jugé important de "décomposer" le code PHP en illustrant l'endroit où je l'inclue dans le HTML, afin d'éviter les vas et viens entre les 2 codes pendant la lecture de ma requête...
jeudi 18 mars 2010 à 10:12:48 | Re : SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN

Tonio_35

Réponse acceptée !
Alors par rapport au SELECT *.
Ton serveur SQL ne renvois que les infos nécessaires si tu indique les colonnes. Si tu fais un *, il renvois toutes les colonnes.

Du coup ca va beaucoup plus vite si tu fais un select en précisant le nom des colonnes. Le traffic de ton serveur SQL est aussi amoindris.
Si dans ta page tu n'as besoin que du nom du membre il faut mettre que :
SELECT memb_name, memb_address FROM table_membres

Pour le intval et ctype_digit dans un premier temps je te conseil de lire la doc php.

Comme tu es sur que ton ID seras un nombre, tu peux utiliser intval :
Code PHP :
<?php
$sql = 'SELECT * FROM table_membres WHERE memb_id="'.intval($_GET['id']).'"';
?>

Comme ça si au pire tu as du texte qui passe, il seras convertis en chiffre.

Ensuite encore une fois comme tu es sur que ton ID seras un nombre, tu peux avant de faire ta requête SQL vérifier si ta variable $_GET['id'] est bien un nombre.

Code PHP :
<?php
if(!ctype_digit($_GET['id']))
{
   die("Erreur de type de param...");
   // OU
   // redirection ou autre
}
$sql = 'SELECT * FROM table_membres WHERE memb_id="'.intval($_GET['id']).'"';
?>



_________________________________
Min iPomme
mardi 13 avril 2010 à 17:21:42 | Re : SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN

escabot

Bonjour Tonio_35
Je tiens à te remercier pour la spontanéité de tes réponses pertinentes.
Voila un mois que j'ai posé ma question à TychoBrahe à laquelle je n'ai toujours pas de réponse de sa part.
Malgré que tu es tenté de répondre à sa place, je reste sur ma faim quant aux explications que je lui ai demandé sur ses raisonnements : qui de mieux placé que TychoBrahe pour expliquer ce qu'il a voulu dire !?
Cela dit, ta réponse me satisfait amplement.
Peut-être a-t-il trouvé ta réponse suffisamment complète pour n'avoir rien à y ajouter : dans ce cas, en plus de ton talent de programmeur, tu as un don de télépathe !
merci encore.

mardi 13 avril 2010 à 23:59:23 | Re : SELECTION DU N° DE L'ID EN CLIQUANT SUR UN LIEN

TychoBrahe

Salut,

Voila un mois que j'ai posé ma question à TychoBrahe


Tonio à donné la réponse environ 22 minutes après que tu ai posté donc bon...

Peut-être a-t-il trouvé ta réponse suffisamment complète pour n'avoir rien à y ajouter


C'est le cas.

tu as un don de télépathe


Il n'y a aucune magie là dessous, n'importe qui connaissant un peu le PHP aurai pu te répondre.

1 2

Cette discussion est classée dans : table, lien, id, membre, cliquant


Répondre à ce message

Sujets en rapport avec ce message

Probleme avec la concatenation [ par jam83 ] Bonjours, Voila mon problème: Pour commencer le membre se connecte a mon site et je garde son pseudo en session, jusque là ok, ensuite il clique sur Sélection ordre croissant [ par fabienfs ] Bonjour, J'ai actuellement une table dans ma base de donnée contenant des clubs de sport qui s'appelle "club" et une autre table qui contient les vot requete n'affiche pas le resultat [ par joujma5 ] bonjour, j'ai deux tables, table nommé sport et une autre nommé student, je veux afficher les étudiants inscrit dans la table student dont leur id n'e modification d'un enregistrement dans une table par un lien [ par esteller ] j'aimerai modifier les enregistrements de de ma table employe à partir du lien modifier qui est dans table apres ma recherche.voci mon code si vous po script formulaire php [ par ryuk47 ] bonjour, j'ai créer 2 tables dans ma bdd: "ville" et "alveole1". Dans la table ville, il y a 2 champs: - "id_ville" qui s'incremente quand on rajo Mise à jour Table phpMyAdmin depuis un formulaire html sélectionnant l'id [ par escabot ] Bonjour, J'essaie de créer un formulaire me permettant de mettre à jour les coordonnées des membres de mon site. J'ai beau simplifier le code comme c Probleme lien relatif/lien absolu pour requete sql [ par antoinesoler ] Bonjour a tous, je rencontre un problème lors de l'exécution d'une requête sql utilisant un lien vers un fichier. Je m'explique : je souhaite mettre creation de vue mysql [ par Diablo62 ] Bonjour, C'est pas facile à expliquer mais je vais tenter :) J'ai une table qui contient différents champs : Table user : id | user | mdp | .... 1 Probleme interogation 2 table [ par casper77610 ] Bonjour à tous, Voici mon code. Et je vous explique mon problème. [code=php] <?php $db = mysql_connect('localhost', 'root', '') or die('HOST ?'); mysq Probleme requete sql [ par moza2409 ] Bonjour à tous, J’ai un petit problème avec une requête sql, j’explique mon problème : J’ai un formulaire d’inscription avec les champs pseudo, ema


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales