IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[Conception] afficher des choses en fonction du clic


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 147
    Points : 109
    Points
    109
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo '<a href="lien.php?id=.'$donnees['id'].'" target="_blank">'.$donnees['societe'].'</a>'.'</br>';
    }

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 147
    Points : 109
    Points
    109
    Par défaut
    CA MARCCCCHHHHHEEEEE !
    Merci beaucoup.


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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    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

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 147
    Points : 109
    Points
    109
    Par défaut
    bonjour, merci de ta réponse:

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


    Lien.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.)

  6. #6
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    mets $req et $res au lieu de req et res
    Dia [ Page DVP ] [ Site pro ]

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 147
    Points : 109
    Points
    109
    Par défaut
    Ok ca marche niquel, merci beaucoup.

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  8. #8
    Membre régulier Avatar de pioule
    Profil pro
    Inscrit en
    Août 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 66
    Points : 97
    Points
    97
    Par défaut
    C'est parce qu'il faut passer ton id dans un champ de formulaire pour pouvoir le récupérer avec un $_POST :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="POST" action="lien.php?id=<?php echo $data[id] ?>">
    Mais c'est plus propre de la passer en champ caché je trouve

  9. #9
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 147
    Points : 109
    Points
    109
    Par défaut
    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

  10. #10
    Membre éclairé
    Avatar de Dia_FR
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2006
    Messages : 512
    Points : 708
    Points
    708
    Par défaut
    passes par du javascript pour modifier des valeurs sans recharger une page
    Dia [ Page DVP ] [ Site pro ]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] afficher des bouquet en fonction de la catégorie selectionné dans la liste déroulante
    Par mademoizel dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/02/2008, 22h34
  2. Afficher des résultats en fonction d'une valeur de liste
    Par subnox dans le forum VBA Access
    Réponses: 13
    Dernier message: 14/08/2007, 11h54
  3. Réponses: 4
    Dernier message: 30/01/2007, 14h42
  4. [Conception] Afficher des images
    Par sourie29 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/12/2006, 17h43
  5. [Conception] Afficher des données en fonction du mois.
    Par fabrice88 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 05/06/2006, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo