2013-06-18 1 views
-7

Я код здесь, и я не понимаю, как сделать эту работу:Tagging система с PHP MySQL

$query = "SELECT * FROM `blog-posts` ORDER BY `date` DESC LIMIT 0, 10 WHERE `tags` LIKE '%test%'"; 
$result = mysql_query($query); 

while($posts = mysql_fetch_array($result)) { 
    echo $posts["title"] . "<br>"; 
    echo $posts["text"] . "<br>"; 
    $mydate = strtotime($posts["date"]); 
    echo date('j M', $mydate) . "<br>"; 
    echo $posts["tags"] . "<br>"; 
    } 
    echo "<a style=\"float:right;\" href=\"logout.php?action=logout\">Log out</a>"; 

Может кто-нибудь помочь мне плз. Grts.

+1

В чем проблема? Делает ли это что-то, чего нет? Не делает что-то, что нужно? Сбой сервера? Распечатать сообщение? – andrewsi

+0

Добро пожаловать в переполнение стека! [** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **) (http://bit.ly/phpmsql). Они больше не поддерживаются [и официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). См. [** красное поле **] (http://j.mp/Te9zIL)? Узнайте о [* подготовленных операторах *] (http://j.mp/T9hLWi) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/ mysqli) - [эта статья] (http://j.mp/QEx8IB) поможет вам решить, какой из них. Если вы выберете PDO, [здесь хороший учебник] (http://j.mp/PoWehJ). –

ответ

0

Ваши статьи в запросе MySQL в неправильном порядке, WHERE должны предшествовать как ORDER BY и LIMIT.

$query = "SELECT * FROM `blog-posts` WHERE `tags` LIKE '%test%' ORDER BY `date` DESC LIMIT 0, 10 "; 

Помимо этого в вашем вопросе недостаточно информации, чтобы выяснить что-либо.

+0

Спасибо, что ваш ответ сработал, вы действительно помогли мне выделить. –

1

У вас неправильный порядок аргументов в вашем запросе. WHERE необходимо пройти до ORDER BY AND LIMIT.

$query = "SELECT * FROM `blog-posts` WHERE `tags` LIKE '%test%' ORDER BY `date` DESC LIMIT 0, 10";