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

Langage PHP Discussion :

Faire un lien qui pointe vers une news en particulier


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut Faire un lien qui pointe vers une news en particulier
    Bonjour tout le monde

    Je développe mon blog perso de A à Z, donc à la main. Pour le moment cela avance bien. J'ai pu mettre un système de News sur ma page d'accueil.
    Cependant, je souhaiterai établir un lien sur le titre d'une News afin de pouvoir ouvrir cette dernière (qu'elle apparaisse seule) dans une nouvelle page.
    Vous voyez ce que je souhaite faire ?

    Et le hic, c'est que je ne vois pas du tout comment faire cela... Pouvez-vous m'apporter un peu d'aide s'il vous plait ou bien une astuce ?

    Merci d'avance!!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le lien a seulement a passer l'id de la news : http://tonsite/news.php?id=456

    et la page va lire la news en question.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Si je comprends bien, il me suffit de récupérer l'id dans ma table et de simplement faire un lien avec ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    oui et dans l'autre sens une page qui recupere l'id du lien et va lire la base.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Pour le lien j'ai compris, mais sur l'autre page qui va afficher la new en particulière, je dois mettre quelle ligne de code ?

    J'avoue que je cherche mais je donne ma langue au chat. Je ne trouve pas non plus de tutoriaux sur cette fonctionnalité. En tout cas pas de tuto qui colle avec ce que je cherche à faire.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    1 - est-ce que tu sais récupérer une variable transmise par un lien ?
    2 - est-ce que tu as écris la requête qui recupère les données d'une news précise ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    J'avoue être assez novice et tester sur mon blog le langage pour mettre les mains dedans.
    J'ai essayé cette requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    $i = $_GET['id'];
    $sql = "SELECT titre,contenu FROM news WHERE id=".$i;
    $req = mysql_query($sql);
    $data = mysql_fetch_assoc($req);
    echo '<b>'.$data['titre'].'</b><br />\n'.$data['contenu'];
     
    ?>
    Mais rien ne s'affiche.
    Mon lien quant à lui qui devrait afficher le contenu précis que j'aimerai voir apparaitre est le suivant: view.php?id=42
    Je l'ai placé dans ma page: articles.php (qui est amenée à indexer toutes mes News).

    En gros j'ai créé une page View.php afin d'afficher ma news dedans, mais j'ai dû me planter quelque part..

    Pour l'id à récupérer, on parle bien du numéro attribué automatiquement pour l'id ? (Que l'on retrouve dans la structure de la table?)

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton code est bon, à part qu'on ne place pas directement une donnée externe dans une requête, question de sécurité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT titre,contenu FROM news WHERE id=".intval($_GET['id']);
    Puisque que tu n'obtiens rien, il faut debuguer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var_dump($sql);
    var_dump($data);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Merci pour l'information, je prends note

    Par contre, j'ai une erreur qui remonte sur ma page view.php (celle censée affichée la news): string(43) "SELECT titre, contenu FROM news WHERE id=42" NULL (la seule chose qui s'affiche). Si je comprends bien, il m'affiche cette ligne pour me dire qu'il ne trouve rien ?

    Le contenu de ma table news se compose de ces infos: id, titre, contenu.
    Je souhaite donc afficher le contenu et le titre de ma news qui porte l'id 42.

    Voici le code que j'ai tapé dans ma page view.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $id = $_GET['id'];
    		$sql = "SELECT titre, contenu FROM news WHERE id=".intval($_GET['id']);
    		//*$sql = "SELECT titre,contenu FROM news WHERE id=".$i;
    		$req = mysql_query($sql);
    		$data = mysql_fetch_assoc($req);
     
    		var_dump($sql);
    		var_dump($data);
     
    		echo '<b>'.$data['titre'].'</b><br />'.$data['contenu'];
    Et le lien qui figure dans ma page articles.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p> Cependant, voici un test de lien vers <a href="view.php?id=42" title="view">ma première news</a></p>
    J'ai du faire une erreur...

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Visiblement ta requête a une erreur
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Merci pour la commande, elle est bien pratique ! Voici l'erreur qui remonte:
    Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

    Apparemment il n'arrive pas à se connecter sur ma base Mysql ?

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as bien mis la connexion mysql sur cette page n'est ce pas ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Oui j'ai bien mis ceci en début de code <php>:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mysql_connect($serveur mysql,$nom de ma base,$mon mot de passe);
                mysql_select_db($nom de ma base);

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Je n'ai plus d'erreur mais je tombe sur une page blanche à présent (en cliquant sur le lien). Pourtant je n'ai fait que de copier coller ce que j'avais déjà fait.

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Toujours pareil : debug chaque étape.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    Toujours rien.

    Mais je me demande si ma requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT titre, contenu FROM news WHERE id=".intval($_GET['id']);
    est la bonne puisque je désire afficher la news qui porte l'id 42 avec son titre et son contenu.
    Là si on décortique, la requête dit de sélectionner le titre et le contenu dans ma table news et lui indique l'endroit (where) => dans id.


    Est-ce bien juste ? Ou est ce possible que le chemin soit faux ?

    Je ne dois pas rajouter la ligne $id = 42; par hasard ?

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Toujours rien.
    C'est pas du debugage ça, je t'ai indiqué avant les tests à réaliser.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    J'ai effectué les tests mais cela ne me donne rien. C'est pour cela que j'ai écris "toujours rien"

    Mais voici le code avec le débuggage:

    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
    	<?php
                mysql_connect($Serveur BDD, $LOGIN, $PASS,);
                mysql_select_db($NOM BDD);
     
     
    		$id = $_GET['id'];
    		$sql = "SELECT titre, contenu FROM news WHERE id=".intval($_GET['id']);
    		//*$sql = "SELECT titre,contenu FROM news WHERE id=".$i;
    		$req = mysql_query($sql);
    		$data = mysql_fetch_assoc($req);
     
    		var_dump($sql);
    		var_dump($data);
    		var_dump ($req);
    		var_dump ($id);
     
    		echo '<b>'.$data['titre'].'</b><br />'.$data['contenu'] ;
     
    		?>
    L'url qui est censée m'afficher le contenu: view.php?id=42

    Cette url est renseignée dans ma page articles.php comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p> Cependant, voici un test de lien vers <a href="view.php?id=42" title="view">ma première news</a></p>
    Le résultat m'affiche une page blanche. Plus d'erreur mais juste une page blanche.

    Le plus curieux est que je n'ai rien ajouté ou modifié de spécial.

    Ma table news est composée comme ceci:
    Id
    contenu
    titre
    timestamp

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est quoi ça ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 27
    Points : 13
    Points
    13
    Par défaut
    J'ai remplacé l'info pour ne pas communiquer le serveur Mysql où est ma BDD ^^

Discussions similaires

  1. [Débutant] Page ASP.NET avec un lien qui pointe vers une requête HTTPS
    Par fterf dans le forum ASP.NET
    Réponses: 2
    Dernier message: 13/07/2014, 12h07
  2. Champ d'un tableau qui pointe vers une structure
    Par Almenor dans le forum Débuter
    Réponses: 3
    Dernier message: 23/05/2012, 09h04
  3. Réponses: 3
    Dernier message: 02/03/2010, 08h16
  4. Bouton qui pointe vers une valeur ciblée
    Par d_cer76 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/07/2008, 06h16
  5. bouton qui pointe vers une page jsp
    Par redabadache3 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 29/10/2007, 14h33

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