2010-12-10 77 views
1

Je crée un système d'actualités pour mon site Web. Ce que j'ai est une page principale {index.php} (où tous les articles sont montrés) et une page d'article (article.php)Problème système (Php et Mysql)

Ce qui me pose problème, c'est d'avoir du contenu sélectionné sur la page de l'article.

Lorsque vous cliquez sur le titre de la index.php Je veux qu'il aille au article.php et montrer que des informations sur les articles (actuellement réalisée par get articleID) ...

Lorsque vous cliquez sur la catégorie l'article, je le veux aller à article.php et montrer TOUS les articles avec la même catégorie

Comment est-ce que je peux installer mon code pour accomplir ceci?

Actuellement, j'ai pour la page article.php

if(isset($_GET['category'])){ 
    $subject= $_GET['category']; 
} else { 
    $subject= $_GET['id']; 
} 

$STH = $DBH->query('SELECT * FROM articles WHERE category="$subject"'); 

while($row = $STH->fetch()) { 
    echo $row['content']; 
} 

Pour la page index.php j'appelle la catégorie par ce

echo '<a class="post-type" href="articles.php?category='.$row['category'].'">'. $row['category'] .'</a>'; 
+0

Votre page d'articles fonctionne-t-elle réellement? Si oui, quelle bibliothèque SQL utilisez-vous? Je pensais à une telle syntaxe seulement hier. Mais plus probable, il semble que vous venez de gâcher des citations et abuser totalement de votre librairie SQL. et il devrait être '$ DBH-> query ('SELECT * FROM articles WHERE category =?', $ sujet);' ou quelque chose. –

+0

Une logique semble un peu étrange. Comment se fait-il que vous ayez à la fois category et id dans le même champ 'category'? –

+0

J'utilise PDO pour y parvenir - la page fonctionne. Les citations ont été changées et tout fonctionne maintenant selon la recommandation d'Aqeel Ahmad. –

Répondre

2

Eh bien vous manque un peu de chose ici. En fait, vous avez besoin de trois pages, pas deux. Une page est index.php qui montre en fait tout le contenu le plus récent (articles). Une autre page est pour montrer l'article simple (article.php), la troisième page est articles.php ou category.php, cette page montrera les articles comme la page d'index.php mais de catégorie particulière.

Remarque: Vous pouvez également gérer deux pages, mais vous devrez gérer votre article.php pour deux mises en page différentes, l'une est un article unique et l'autre est une liste d'articles comme la page index.php. Donc, je suggère d'avoir articles.php ou category.php comme une page séparée.

+0

Droitier! Fera alors –