Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1773 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  récupérer un lien de la bbd et le mettre sur un titre récupéré

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

récupérer un lien de la bbd et le mettre sur un titre récupéré

n°1951194
Positivist​e
Reaction Apathique
Posté le 17-12-2009 à 14:33:09  profilanswer
 

Bonjour à tous,
 
 
Je suis entrain de faire un site web, une sorte de webzine avec beaucoup d'articles qui correspondent à des thèmes/catégories. Il y a à peu prés 6 catégorie thèmatique.
Un article = une page.
 
les pages s'accumulent mais c'est pas un souci.
 
Ce que je souhaiterais c'est un lien par catégorie qui renvoie l'internaute à une page rescenssant tous les articles de la catégorie avec une possibilité de recherche de mots clés ds tous les articles de cette catégorie.
 
 
donc voila ce que j'ai compris :
 
ds mon site j'ai 6 catégorie. (environnement,alternaltives, etc...)A chaque catégorie je peux aller sur une page qui recense tous les articles de la catéorie choisie.
 
Pour la catégorie "environnement", je crée une table "environnement" ds ma bdd.
 
ds cette table je met 8 champs dont j'insère du (contenu):
 
- ID en auto_increment
- catégorie (environnement)
- index (A -> car je souhaite faire un trie par odre alphabètique sur la page)
- titre (Agent Orange)
- contenu (petit résumé de l'article)
- Auteur (monsieur poireaux-cacahuète)
- lien ( "http://blabla.com/tataginette.php" ou ""/tataginette.php ou "lire l'article sur l'agent orange de M.poireaux cacahuète" et je ds ce cas je mets le lien ds ma page php ? )
- date_publication (34/13/2345)
 
Puis sur ma page php, j'apelle tous le "A" de la table "environnement" puis tous les "B"
 
 

Code :
  1. <h2>A</h2>
  2. <?php
  3. mysql_connect("localhost", "pseudo", "mot_de_passe" );
  4. mysql_select_db("nom_de_la_bbd" );
  5. // Sélectionnons les champs la table "environnement" dont le champs index est "A"
  6. $reponse = mysql_query("SELECT titre, contenu, auteur, lien, date FROM environnement WHERE indx='A'" );
  7. while ($donnees = mysql_fetch_array($reponse) )
  8. {
  9. ?>
  10. <?php echo $donnees['tire']; ?><br />
  11. <?php echo $donnees['contenu']; ?><br />
  12. Auteur : <?php echo $donnees['auteur']; ?><br />
  13. <?php echo $donnees['lien']; ?><br />
  14. Date de publication : <?php echo $donnees['date']; ?><br />
  15. <?php
  16. }
  17. mysql_close();
  18. ?>
  19. <hr/>
  20. <h2>B</h2>
  21. <?php
  22. mysql_connect("localhost", "pseudo", "mot_de_passe" );
  23. mysql_select_db("nom_de_la_bbd" );
  24. // Sélectionnons les champs la table "environnement" dont le champs index est "B"
  25. $reponse = mysql_query("SELECT titre, contenu, auteur, lien, date FROM environnement WHERE index='B'" );
  26. while ($donnees = mysql_fetch_array($reponse) )
  27. {
  28. ?>
  29. <?php echo $donnees['tire']; ?><br />
  30. <?php echo $donnees['contenu']; ?><br />
  31. Auteur : <?php echo $donnees['auteur']; ?><br />
  32. <?php echo $donnees['lien']; ?>
  33. Date de publication : <?php echo $donnees['date']; ?><br />
  34. <?php
  35. }
  36. mysql_close();
  37. ?>


Par contre je sais pas si je dois faire comme çà pour récup les donnée pour A et pour B.
 
 
J'aimerais donc aussi inclure sur cette page une fonction de recherche qui rechercherai des mots clés uniquement ds tous les pages php d'un seul dossier.
Peut etre que j'aurai seulement besoin de php ?
 
merci de m'aider a+


Message édité par Positiviste le 19-12-2009 à 11:30:31

---------------
ploum ploum tralala
mood
Publicité
Posté le 17-12-2009 à 14:33:09  profilanswer
 

n°1951207
Tibar
Posté le 17-12-2009 à 14:51:52  profilanswer
 

Salut,
 
Ca ne me parait pas très bien parti...
Déjà ton "index", ça ne sert pas à grand chose, ou alors je n'ai pas compris, mais si tu fais en une seule requête :  
 
SELECT titre, contenu, auteur, lien, date FROM environnement
ORDER BY Index
 
tu auras tout dans l'ordre...
 
Après, je pense qu'il y a un gros problème de modèle... Si tu veux récupérer les articles qui concernent la catégorie "Environnement", il faut que tu mettes dans ta table Article un identifiant "ID_CAT", et que tu crées un table "Categorie", avec comme valeur, par exemple :  
ID_CAT : NOM_CAT
1 : Environnement
2 : Alternative
3 : ....
 
Dans ta table Article, tu auras donc, pour chaque article qui traite de l'environnement un champ "ID_CAT" à 1.
 
Il est ensuite très simple d'aller chercher tous les articles qui ont comme catégorie "Environnement", et si une autre catégorie se crée un jour, pas besoin de créer une nouvelle table...
 
Bon courage,

n°1951216
Positivist​e
Reaction Apathique
Posté le 17-12-2009 à 15:02:51  profilanswer
 

merci.

 

En fait ce que je voulais faire avec ce index, c'est que sur ma page tous les articles n'apparissent pas ds l'odre alphabétique les uns à la suite des autres.

 

Mais une lettre <h2>A<h2/> et dessous tous les articles avec A ds "index" puis
 une barre de séparation genre <hr/> puis
une lettre <h2>B</h2> et dessous tous les articles avec B ds "index"

 

donc ds la page environnement sous la lettre A, une requête appellant tous les articles avec A ds index puis ds la meme page et sous la lettre B, une requête qui apelle tous les articles avec B ds index.

 

Par contre effectivement, il n'est pas nécessaire de créé une table par catégorie, mais je pense que c'est mieux pour l'instant si je souhaite en modifier une, la supprimer, et mieux trier.


Message édité par Positiviste le 17-12-2009 à 15:11:17

---------------
ploum ploum tralala
n°1951310
Positivist​e
Reaction Apathique
Posté le 17-12-2009 à 18:41:35  profilanswer
 

resalut,
 
Peut insérer un lien relatif ds le contenu d'une table ?


---------------
ploum ploum tralala
n°1951449
Tibar
Posté le 18-12-2009 à 11:11:48  profilanswer
 

Euh, c'est une chaine de caractère non ? Après il faut construire le lien à partir de la chaine, mais le stockage dans la bdd, je ne vois pas ce qui peut poser problème (à part peut-être les caractères spéciaux à gérer pour ne pas impacter tes scripts)...

n°1951511
rufo
Pas me confondre avec Lycos!
Posté le 18-12-2009 à 13:07:09  profilanswer
 

question bête : plutôt que de réinventée la roue (en +, t'es bien parti pour nous la faire carrée ta roue :/), pourquoi tu n'utilises pas un CMS style Spip, joomla ou autre :??: Parce que si ton site a un peu de succès, faudra pas longtemps à qq'un pour te le hacker...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1951659
Positivist​e
Reaction Apathique
Posté le 18-12-2009 à 23:09:00  profilanswer
 

slt à vous,
 
joomla y passait pas sur l'hébergeur mais spip si. mais j'avais envie d'apprendre un peu le html et le css.
 
de toute façon mon script pour récup les données il est foireux. j'ai une erreur de syntaxe.
 
j'ai réussi à faire çà pour le moment : http://www.desmotscrasseux.lautre.net
 
tous les liens ne sont pas j'essai déjà de structurer la page environnement.


Message édité par Positiviste le 18-12-2009 à 23:10:31

---------------
ploum ploum tralala
n°1951694
Positivist​e
Reaction Apathique
Posté le 19-12-2009 à 10:30:30  profilanswer
 

:hello:

 

j'ai refait le script, çà fonctionne presque.

 
Code :
  1. <h2>A</h2>
  2. <?php 
  3.      mysql_connect('', '', '') OR die('Erreur de connexion à la base'); 
  4.      mysql_select_db('') OR die('Erreur de sélection de la base'); 
  5.      $requete = mysql_query('SELECT titre, date, liens, auteur FROM environnement') OR die('Erreur de la requête MySQL'); 
  6.      mysql_close(); 
  7.      /** 
  8.      * On récupère les données 
  9.      * Tant qu'une ligne sera présente, la boucle continuera 
  10.      */ 
  11.      while($resultat = mysql_fetch_assoc($requete))  //équivalent à  while($resultat = mysql_fetch_array($requete, MYSQL_ASSOC))
  12.      { 
  13.           echo '<p>Titre : '.$resultat['titre'].'. Date : '.$resultat['date'].'</p>'; 
  14. echo '<p>Auteur : '.$resultat['auteur'].'. Lire larticle : '.$resultat['liens'].'</p>';   
  15.      } 
  16. ?>
  17. <hr/>
 

le seul souci que j'ai maintenant, c'est les liens.

 

Avec le script actuel, çà affiche le lien sur la page mais il n'est pas cliquable et je voudrai qu'il soit en relatif.


Message édité par Positiviste le 19-12-2009 à 10:31:14

---------------
ploum ploum tralala
n°1951702
Profil sup​primé
Posté le 19-12-2009 à 11:01:47  answer
 

Je ne sais pas sous quel format sont stockés tes liens dans ta table.
Mais par exemple :

Code :
  1. <?php echo "<a href=\"{$resultat['liens']}\">Lire la suite de m'article...</a>"; ?>


Mais je suis pas sur d'avoir bien compris ta question.

n°1951704
Positivist​e
Reaction Apathique
Posté le 19-12-2009 à 11:17:27  profilanswer
 

salut et merci.

 

En fait jvoulais dire que je les mets en relatif ds ma BDD.

 

par contre j'ai finalement changé. Je souhaite seulement récupérer le titre ds la bdd et mettre dessus un lien qui est ds ma bdd.

 

genre quelque chose comme çà ?

 


Code :
  1. <?php  
  2.     mysql_connect('', '', '') OR die('');  
  3.     mysql_select_db('') OR die('Erreur de sélection de la base');  
  4.  
  5.    $requete = mysql_query('SELECT titre, liens FROM environnement') OR die ('Erreur de la requête MySQL');  
  6.  
  7.     mysql_close();  
  8.  
  9.     /**  
  10.     * On récupère les données  
  11.     * Tant qu'une ligne sera présente, la boucle continuera  
  12.     */  
  13.  
  14.     while($resultat = mysql_fetch_assoc($requete))
  15.     {  
  16.      
  17. echo '<a href= '.$resultat['liens'].'>'.$resultat['titre'].'</a>';
  18.     }  
  19. ?>
 

çà fonctionne mais c'est p_etre optimisable ?


Message édité par Positiviste le 19-12-2009 à 13:34:01

---------------
ploum ploum tralala
mood
Publicité
Posté le 19-12-2009 à 11:17:27  profilanswer
 

n°1951738
Positivist​e
Reaction Apathique
Posté le 19-12-2009 à 13:33:11  profilanswer
 

re,

 

j'ai maintenant 3 champs : index, titre, lien
jaimerais l'optimiser pour que apparaissent le titre en lien comme le post ci dessus mais seulement ceux où ds le champs index il y a "A"

 

et là je bloque. j'ai utilsé WHERE pourtant et j'ai "Erreur de la requete MySQL"

 
Code :
  1. <?php  
  2.     mysql_connect('', '', '') OR die('');  
  3.     mysql_select_db('') OR die('Erreur de sélection de la base');  
  4.  
  5.    $requete = mysql_query("SELECT titre, liens, index FROM environnement WHERE index='A' " ) OR die ('Erreur de la requête MySQL');  
  6.  
  7.     mysql_close();  
  8.  
  9.     /**  
  10.     * On récupère les données  
  11.     * Tant qu'une ligne sera présente, la boucle continuera  
  12.     */  
  13.  
  14.     while($resultat = mysql_fetch_assoc($requete))
  15.     {  
  16.      
  17. echo '<a href= '.$resultat['liens'].'>'.$resultat['titre'].'</a>';
  18.     }  
  19. ?>
 


EDIT :
bon jme suis débrouillé autrement :

 
Code :
  1. <?php  
  2.     mysql_connect('', '', '') OR die('');  
  3.     mysql_select_db('') OR die('Erreur de sélection de la base');  
  4.  
  5.    $requete = mysql_query("SELECT titre, liens FROM environnement WHERE titre LIKE 'A%' " ) OR die ('Erreur de la requête MySQL');  
  6.  
  7.     mysql_close();  
  8.  
  9.     /**  
  10.     * On récupère les données  
  11.     * Tant qu'une ligne sera présente, la boucle continuera  
  12.     */  
  13.  
  14.     while($resultat = mysql_fetch_assoc($requete))
  15.     {  
  16.      
  17. echo '<a href= '.$resultat['liens'].'>'.$resultat['titre'].'</a>';
  18.     }  
  19. ?>
 

et là çà fonctionne


Message édité par Positiviste le 19-12-2009 à 14:59:22

---------------
ploum ploum tralala

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  récupérer un lien de la bbd et le mettre sur un titre récupéré

 

Sujets relatifs
[Résolu] Lien non cliquable sous Firefox[SHELL] récuperer les nieme caract. dans des chaine obtenue par | grep
html, simuler la touche ctrl sur un lien[Anti-Phishing] lien directe qui ferme
Impossible de mettre des liens sur une anim FLASHComment mettre un menu à cheval sur deux bloc DIV ?
Recuperer l'email d'un user sur ADSI depuis VBAinserer un lien dans une image
visuel studio 2008/recuperer la valeur d'une cellule du gridviewmettre le resultat d'une requete dans une variable
Plus de sujets relatifs à : récupérer un lien de la bbd et le mettre sur un titre récupéré


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR