Bonsoir à tous,

J'ai créé un gestionnaire d'articles à l'aide d'un tuto, mais j'ai un soucis pour l'affichage des articles.

Je m'explique :

Chaque article est lié à une catégorie. Je voudrais faire en sorte de n'afficher par exemple que les articles de la catégorie "sport" dans l'espace qui lui est dédié sur le site internet. Et pouvoir visualiser l'article en cliquant sur son lien "lire la suite".

Le soucis est qu'il m'affiche tous les articles de toutes les catégories sur le même espace.
Et il n'affiche en réalité que le dernier article publié (et non pas tous les articles) de chaque catégorie.. et lorsque je veux visualiser cet article (et uniquement cet article en cliquant sur "lire la suite"), et bien il m'affiche tous les articles liés à cette catégorie sur la même page.
Je sais pas si je me fais comprendre la

Voici le code qui affiche les articles (juste le titre avec "lire la suite") dans l'espace dédié : articles.php

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
40
41
42
43
 
 <?php
 // page correspond à la catégorie
  $handle = db_connect();
 
  $pages_sql = 'select * from pages order by code';
  $pages_result = $handle->query($pages_sql);
 
  while ($pages = $pages_result->fetch_assoc()) 
  {
	$story_sql = "select * from stories
                  where page = '{$pages['code']}' 
                  and published is not null
                  order by published desc";
    	  // J'ai bien testé avec where page = 'sport' mais cela ne resoud pas le problème
   $story_result = $handle->query($story_sql);
 
    if ($story_result->num_rows) 
    {
      $story = $story_result->fetch_assoc();
      echo "<tr>
            <td>
              <h3>{$pages['description']}</h3>
              <p>{$story['headline']}</p>
               <p align='right' class='morelink'>
              <small>  <a href='page.php?page={$pages['code']}'>
                Lire la suite... 
                </a></small>
              </p>
            </td>
            <td width='100'>";
      if ($story['picture'])
      {
        echo '<img src="resize_image.php?image=';
        echo urlencode($story[picture]);
        echo '&max_width=80&max_height=60"  />';
      }
      echo '</td></tr>';
    }
  }
  ;
 
  ?>

Voici à présent le code qui affiche le contenu de l'article après avoir cliqué sur "lire la suite" : page.php

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
 
<?php
  if (!isset($_REQUEST['page'])&&!isset($_REQUEST['story']))  
  { 
    header('Location: articles.php');
    exit;
  }
 
  $page = $_REQUEST['page'];
  $story = intval($_REQUEST['story']);
 
  include_once('admin/articles/db_fns.php');
 
 
  $handle = db_connect();
 
 if($story)
  {
    $query = "select * from stories 
              where id = '$story' and
                    published is not null";
  }
  else
  {
    $query = "select * from stories 
              where page = '$page' and
                    published is not null
              order by published desc";
  }
 
  $result = $handle->query($query);
 
  while ($story = $result->fetch_assoc()) 
  {
    // titre
    echo "<center><h4>{$story['headline']}</h4></center>";
    //image
    if ($story['picture']) 
    {
      echo '<div style="float:right; margin:0px 0px 6px 6px;">';
      echo '<img src="resize_image.php?image=';
      echo urlencode($story[picture]);
      echo '&max_width=200&max_height=120"  align = right/></div>';
    }
    // byline
    $w = get_writer_record($story['writer']);
    echo '<br /><p class="byline">';
    echo 'Article publié le ' . date('d m Y, H:i', $story['modified']);
    echo '</p>';
    // main text
    echo $story['story_text'];  
  }
 
?>
Si quelqu'un pouvait m'aider ça serait trop cool car je m'arrache les cheuveux la...

Merci à tous