2011-05-18 9 views
0

J'ai besoin d'un peu d'aide ici avec un peu de php. juste une petite explication: (im essayant d'afficher 5 résultats en utilisant ce codeAffichage des résultats PHP?

$n_id = mysql_real_escape_string ($_GET['id']); 
    $path = ''; 

    if(isset($n_id) && $n_id != "") { 
     $sql = 'SELECT * FROM test2 WHERE id="' . $n_id . '"'; 
     $news = mysql_query($sql); 

    if($result = mysql_fetch_array($news)) { 
     $title = mysql_result($news,0,"title"); 
     $date = mysql_result($news,0,"date"); 
     echo '<b>' . $title . ' | ' . $date . '</b> 
     <br/> 
     <img src="images.php?id='. $n_id .'>'; 
    } else { 
     header("Location: vendi.php"); 
    } 
    echo '<br /><a href="/'.$path.'">Back to Archive</a>'; 
    } 

Il affiche bien, mais je veux que le 1er résultat soit (image + titre des nouvelles et d'autres résultats comme titre seulement) . espoir je l'ai écrit clairement ce que je avais besoin d'aide avec Merci

Répondre

0

Tout en boucle à travers vos résultats, vous pouvez vérifier si vous êtes au premier résultat:.

$counter = 0; 
while ($row = mysql_fetch_array($news)) { 
    $title = mysql_result($news,0,"title"); 
    $date = mysql_result($news,0,"date"); 
    echo '<b>' . $title . ' | ' . $date . '</b>'; 
    if ($counter == 0) { 
     echo '<br /><img src="images.php?id='. $n_id .'>'; 
    } 

} 
+0

Il vous manque un proche de votre écho. Je pense qu'il va devoir changer l'appel SQL aussi. On dirait qu'il fait une seule ligne atm. Cela pourrait devenir plus tendre sans plus d'informations. –

+0

Vous affectez une valeur ici: 'if ($ counter = 0) {' Devrait être '==' – drudge

+0

Fixe et corrigé. Merci. Quant à la question de la rangée unique, il a dit qu'il essaie d'afficher cinq résultats. –

0

Cela devrait le faire.

$n_id = mysql_real_escape_string ($_GET['id']); 
    $path = ''; 

    if(isset($n_id) && $n_id != "") { 
     $sql = 'SELECT * FROM test2 WHERE id="' . $n_id . '"'; 
     $news = mysql_query($sql); 

     $first = TRUE; 
     if($result = mysql_fetch_array($news)) { 
      $title = mysql_result($news,0,"title"); 
      $date = mysql_result($news,0,"date"); 

      if($first == TRUE) { 
       echo '<b>' . $title . ' | ' . $date . '</b>'; 
       $first = FALSE; 
      } 
      else { 
       echo '<b>' . $title . ' | ' . $date . '</b> 
       <br/> 
       <img src="images.php?id='. $n_id .'>'; 
      } 
     } 
     else { 
      header("Location: vendi.php"); 
     } 
     echo '<br /><a href="/'.$path.'">Back to Archive</a>'; 
     } 
    } 
1

Votre instruction SQL extrait uniquement une ligne. Ce n'est pas une solution complète, mais devrait vous rapprocher:

if (isset($_GET['id']) && is_numeric($_GET['id'])) { 
    $n_id = (int)$_GET['id']; 
    $path = ''; 

    $count = 0; 

    $sql = 'SELECT * FROM test2 WHERE id BETWEEN ' . $n_id ' AND ' . ($n_id + 5); 
    $news = mysql_query($sql); 

    while ($result = mysql_fetch_array($news)) { 
     $title = $result['title']; 
     $date = $result['date']; 
     echo '<b>' . $title . ' | ' . $date . '</b>'; 
     if ($count < 1) { 
      echo '<br/><img src="images.php?id='. $n_id .'>'; 
      $count++; 
     } 
    } 

    if ($count == 0) { header("Location: vendi.php"); } 

    echo '<br /><a href="/'.$path.'">Back to Archive</a>'; 
} 
+0

MERCI VOTRE RÉPONSE A AIDÉ TRÈS BEAUCOUP POUR FAIRE LE TRAVAIL J'ai modifié mon auto mais vous étiez la tête d'avance thnx –

Questions connexes