2013-03-15 3 views
0

У меня есть этот код:SQL несколько столбцов

<?php 
      $get_news = $db->query("SELECT * FROM news WHERE category = 1 ORDER BY id DESC limit 5"); 
      $array = $db->assoc($get_news); 
      $num = $db->num($get_news); 

      if ($num == 0) { 
       echo "<div class=\"title\">No news found!</div>"; 
       } 

      while($row = mysql_fetch_array($get_news)){ 
      ?> 


       <div class="blue box"> 
       <div class="title"><?php echo $array['title'];?></div> 
        <div class="content"> 

        <img src="panel/_news/<?php echo $array['image'];?>" style="max-width: 150px;max-height:150px;" alt=\"\" align="center"> 



      <div style="margin-top: 14px;"> 
       <div class="readmore">By <?php echo $array['poster'];?></div> 
       <div class="date"><?php echo $array['date'];?></div> 

       </div> 
     </div> 
    </div> 
     <?php } ?> 

и в принципе, я пытаюсь сделать это показать 3 сообщения новостей, но это показывает тот же один, вы, ребята, знаете, что это такое, что я m делать неправильно в SQL?

Это то, что он показывает: http://screencloud.net/v/5ENE

У меня есть более чем 3 статьи в базе данных, но он показывает 1 3 раза .. Может вы, ребята, помочь?

+0

@AarolamaBluenk прав, вам нужно использовать '$ row', а не' $ array'. Кроме того, вместо этого используйте 'mysql_fetch_assoc()', поскольку это дает вам ассоциативный массив, который вы можете ссылаться на индексы с именами, а не на цифры. '$ array' содержит только первую строку из результата. – mavili

+0

** Do ** *** not *** использовать 'mysql_' функции; они устарели. Используйте 'mysqli_' или' PDO' – Kermit

ответ

5

Вы смешиваете два разных API.

Вам необходимо указать $row не $array. Что-то вроде:

while ($row = $db->assoc($get_news)) { 
?> 
      <div class="blue box"> 
      <div class="title"><?php echo $row['title'];?></div> 
<?php 
} 
+0

oh wow, большое вам спасибо. У меня была голова! – TrippedStackers

Смежные вопросы