2013-09-12 3 views
0

Извините, я мусор на php, но я готов учиться.Показаны только 5 лучших результатов

Я создаю мой сайт нашел here

и творит страницу под названием more.

В рамках этой страницы я хочу добавить список моих пяти лучших рекламных акций на своем сайте. Каждое продвижение сохраняется в моей базе данных mobi в mysql, и я добавил счет для каждого, когда кто-то просматривает конкретную рекламу на моей странице single.php.

Так что в основном. Что мне нужно сделать, так это показать 5 рекламных акций с самым большим числом в поле «views» в моей базе данных mobi.

Я в настоящее время имеют следующие коды:

include_once('include/connection.php'); 
include_once('include/article.php'); 

и

<?php foreach ($articles as $article) { ?> 

<a href="list.php?id=<?php echo $article['promo_title']; ?>"> <?php echo $article['promo_title']; ?> </a> 

в more.php, а также

class views { 
public function fetch_all(){ 
    global $pdo; 

$query = $pdo->prepare("SELECT * FROM mobi ORDER BY views DESC LIMIT 0, 5"); 
    $query->execute(); 

return $query->fetch(); 

} 

} 

в articles.php, который загружает только некоторые странные текст " tttthhwwdddd 3 3 "

Мне кажется, мне нужно создать массив, но я не уверен, как его напечатать.

Возможно, кто-нибудь посоветует мне, как?

спасибо.

+3

Вы вызываете свою функцию 'fetch_all', так почему вы вызываете' $ query-> fetch() ', а не' $ query-> fetchAll() '? – Barmar

+1

Где вы устанавливаете '$ articles'? Что вы видите, если вы 'var_dump ($ articles)'? – Barmar

+1

Действительно, $ query-> fetch() получает только первую строку. Я думаю, проблема может быть в article.php (или где бы вы ни конвертировали результаты запроса в массив $ articles) –

ответ

2

выборки() должен быть изменен на

class views 
{ 
    public function fetch_all() 
    { 
     global $pdo; 

     $query = $pdo->prepare("SELECT * FROM mobi ORDER BY views DESC LIMIT 0, 5"); 
     $query->execute(); 

     return $query->fetchAll(); 

    } 
} 

и Еогеасп закрывающая скобка также должны быть добавлены

<?php foreach ($articles as $article) { ?> 

<a href="list.php?id=<?php echo $article['promo_title']; ?>"> 
<?php echo $article['promo_title']; ?> </a> 
<?php } ?> 

А также проверить код, в котором вы возвращаете результирующего набора и отправки fetchAll() это к статье.php

+0

change fetch() to fetchAll() работает спасибо. –

+0

@ KevHopwood, если ответ был полезен и решил вашу проблему, обязательно подтвердите ответ, чтобы плакат получил некоторую оценку за потраченное время, чтобы помочь вам. – Walls

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