Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/09/2006, 21h19   #1
Membre régulier
 
Étudiant
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 75
Points : 75
Envoyer un message via MSN à Henry9 Envoyer un message via Yahoo à Henry9
Par défaut [Conception] afficher des choses en fonction du clic

Bonjour,

j'ai fait un code pour afficher chaque nom de société contenu dans ma table t1 grâce à une boucle while

J'ai fait en sorte que chaque lien soit cliquable et qui amène à une page nommé lien.php qui doit afficher les informations complétaire de la société en fonction du clic.

Et donc j'aimerai savoir comment on fait pour que la page lien.php sache sur quel nom de société on a cliqué pour pouvoir afficher les informations correspondante.

Donc voici le code qui affiche les noms de sociétés:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
$connection = mysql_connect("localhost", "root", ""); 
mysql_select_db("test");
 
// sélection de la base
$sql="select id, societe FROM t1"; 
$query=mysql_query($sql);
while ($donnees = mysql_fetch_array($query) )
{
 echo '<a href="lien.php" target="_blank">'.$donnees['societe'].'</a>'.'</br>';
}
mysql_close(); // Déconnexion de MySQL
?>

Et pour la page lien.php je ne vois pas du tout ce que je pourrai faire pour qu'il sache si j'ai cliquer sur tel ou tel société .


Merci d'avance pour votre aide.



[EDIT] je viens d'essayer de pointer vers lien.php?go=id

et dans la page lien.php quand je fais echo go ca m'affiche id au lieu du vrai id. quelqu'un sait ou est le probleme svp
Henry9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2006, 22h32   #2
Membre éclairé
 
Inscription : décembre 2004
Messages : 658
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2004
Messages : 658
Points : 317
Points : 317
Alore c'est tout simple tu change ton echo avec le href et tu rajout la variable id

Code :
1
2
3
 
echo '<a href="lien.php?id=.'$donnees['id'].'" target="_blank">'.$donnees['societe'].'</a>'.'</br>';
}
zulot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2006, 22h55   #3
Membre régulier
 
Étudiant
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 75
Points : 75
Envoyer un message via MSN à Henry9 Envoyer un message via Yahoo à Henry9
CA MARCCCCHHHHHEEEEE !
Merci beaucoup.


Donc sur la page lien.php j'ai un tableau qui ressemble à ca:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<form method="POST" action="lien.php">
<table>
<tr>
	<td><strong>SOCIETE: </strong></td>
	<td><input type="text" name="societe" value="<?echo $_GET['id'] ?>"/></td>
</tr>
<tr>
	<td><strong>ADDRESSE : </strong></td>
	<td><input type="text" name= "adresse" /></td>
</tr>
</table>
<input type="submit" name="Valider" value="Valider" />
 
</form>

Comme on peut récupéré déjà l'id j'aimerai savoir si c'est mieux qu'à la place de récupéré l'id, je met le nom et l'adresse dans le get ? est-ce secure sachant que nous sommes à l'intérieur d'une session (l'utilisateur est connecté).

Ou alors dans la page lien.php j'utilise une instruction conditionnel comme chaque société a son propre id et donc contenant aussi l'adresse par la même occasion, donc le code ressemblerai par exemple:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// je me connecte à ma base
mysql_connect("localhost", "root", "");
mysql_select_db("test");
 
// je vérifie que la variable id=go
if (isset($GET['go'] {
 
<form method="POST" action="lien.php">
<table>
<tr>
	<td><strong>SOCIETE: </strong></td>
 
         //comme je me suis connecté à ma base je fais faire un echo $societe ou societe est le nom de mon champ contenant les sociétés
	<td><input type="text" name="societe" value="<?echo $societe] ?>"/></td>
</tr>
</table>
}

Pardonnez moi si y a pas mal d'erreur, mais est-ce que le raisonnement est bon ? Quels sont les erreurs ?


(je suis débute en php).

merci de votre compréhension
Henry9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2006, 11h39   #4
Membre éclairé
 
Inscription : décembre 2004
Messages : 658
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2004
Messages : 658
Points : 317
Points : 317
si tu connais l'id tu peux retirer de ta base les donné de la societe ayant l'idee donc faut faire un select que tu fais pas.

apres y a mass d'erreur de syntaxe dans ton morceau de code
zulot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 02h15   #5
Membre régulier
 
Étudiant
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 75
Points : 75
Envoyer un message via MSN à Henry9 Envoyer un message via Yahoo à Henry9
bonjour, merci de ta réponse:

Donc voilà, j'ai un peu amélioré mon code:


Lien.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
        $base = mysql_connect ('localhost', 'root', ''); 
        mysql_select_db ('test', $base);
 
//voila je sélect
req = 'SELECT id, societe, adresse, cp, ville FROM t1 WHERE id="'.$_GET['id'].'"'; 
res = mysql_query(req);
 $data = mysql_fetch_assoc($req);
 echo $data[societe];
 echo $data[ville];
 echo $data[adresse];
 echo $data[cp];
 ?>
Malheureusement, j'obtiens l'erreur
Parse error: syntax error, unexpected '=' in C:\apachefriends\xampp\htdocs\www\Lien.php on line 13

la ligne 13 désigne la ligne où y a le SELECT

Pour info, dans l'url de cette page, j'obtiens bien l'id
...lien.php?id=3


Donc voilà, qu'en pensez vous maintenant de mon code?




(Et pour info, je viens de finir mon bouquin php pour les nuls, c'est pourquoi je n'ai pas pu répondre avant.)
Henry9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 08h24   #6
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
mets $req et $res au lieu de req et res
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 14h37   #7
Membre régulier
 
Étudiant
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 75
Points : 75
Envoyer un message via MSN à Henry9 Envoyer un message via Yahoo à Henry9
Ok ca marche niquel, merci beaucoup.

Maintenant j'ai un problème de mise à jour.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
        $base = mysql_connect ('localhost', 'root', ''); 
        mysql_select_db ('test', $base);
 
 
$req = 'SELECT id, societe, adresse, cp, ville FROM t1 WHERE id="'.$_GET['id'].'"';
$res = mysql_query($req);
$data = mysql_fetch_assoc($res);
 
 ?>
<form method="POST" action="lien.php">
<table>
<tr>
	<td><strong>SOCIETE</strong></td>
	<td><input type="text" name="societe" value="<?php echo $data[societe] ?>"/></td>
</tr>
<tr>
	<td><strong>ADDRESSE : </strong></td>
	<td><input type="text" name= "adresse" value="<?php echo $data[adresse] ?>"/></td>
</tr>
<tr>
	<td><strong>CODE POSTAL : </strong></td>
	<td><input type="text" name="cp" value="<?php echo $data[cp] ?>"/></td>
</tr>
<tr>
	<td><strong>VILLE : </strong></td>
	<td><input type="text" name="ville" value="<?php echo $data[ville] ?>"/></td>
</tr>
</table>
<input type="submit" name="Valider" value="Valider" />
 
</form>
<?php
if (isset($_POST['Valider']) && $_POST['Valider'] == 'Valider')
	{
		mysql_query('UPDATE t1 SET societe="'.$_POST['societe'].'", adresse="'.$_POST['adresse'].'", cp="'.$_POST['cp'].'", ville="'.$_POST['ville'].'" WHERE id="'.$_GET['id'].'"');
		echo "La base de donnée à été mise à jour";
	}
	?>

Je modifie par exemple le champ Société et une fois que je clique sur Valider, j'obtiens bien "La base de donnée à été mise à jour" mais en allant dans ma base de donnée, il n'y a eu aucune modification.

Où se trouve l'erreur ?

merci d'avance
Henry9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 15h07   #8
Membre du Club
 
Avatar de pioule
 
Inscription : août 2003
Messages : 65
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 65
Points : 69
Points : 69
C'est parce qu'il faut passer ton id dans un champ de formulaire pour pouvoir le récupérer avec un $_POST :

Code :
<input type="hidden" name="id" value="<?php echo $data[id] ?>"/>
Edit : oups mal lu
Pour récupérer l'id dans le $_GET, il faudrait plutôt faire :
Code :
<form method="POST" action="lien.php?id=<?php echo $data[id] ?>">
Mais c'est plus propre de la passer en champ caché je trouve
pioule est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 15h24   #9
Membre régulier
 
Étudiant
Inscription : juillet 2006
Messages : 147
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2006
Messages : 147
Points : 75
Points : 75
Envoyer un message via MSN à Henry9 Envoyer un message via Yahoo à Henry9
Ok ca marche. Merci beaucoup !!!!!!!!!!!!!!!!!!!




Sinon pour améliorer le code, comment pourrait-je permettre à mon formulaire d'afficher les valeurs modifié après avoir valider le formulaire, car pour l'instant, je suis contraint d'actualiser mon navigateur pour actualiser
Henry9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2006, 15h55   #10
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
passes par du javascript pour modifier des valeurs sans recharger une page
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h43.


 
 
 
 
Partenaires

Hébergement Web