Как исправить эту простую проблему порядка отображения MySQL - PullRequest
1 голос
/ 30 января 2010

Я очень плохо знаком с MySQL, поэтому мне нужна помощь, пожалуйста,

У меня есть таблица "posts", в этой таблице есть следующие столбцы:

id - это автоинкремент и первичный ключ
title
содержание

У меня есть страница PHP, на которой я хочу отобразить все сообщения из таблицы базы данных. Я хочу, чтобы сначала отображался заголовок, а затем содержимое сообщения, затем заголовок следующего сообщения, его содержимое и т. Д. Однако, если я сделаю это:

$select = mysql_query("SELECT * FROM posts ORDER BY id DESC");

while ($result = mysql_fetch_array($select))
{
   echo $result['title'] . "<br />";
   echo $result['content'];
}

Конечно, я получаю список всех заголовков своих публикаций, за которыми следуют все мои сообщения. Другими словами, это так:

DogsCats

Are also known as canines.Are also known as felines.

Instead of:

Dogs

Are also known as canines

Cats

Are also known as felines

Что мне нужно сделать, чтобы это исправить?

Большое спасибо.

Ответы [ 3 ]

0 голосов
/ 30 января 2010

Попробуйте следующее для вашего цикла:

while ($result = mysql_fetch_array($select))
{
   echo $result['title'] . "<br />" . $result['content'] . "<br />";
}

В качестве альтернативы:

while ($result = mysql_fetch_array($select))
{
   printf("%s <br /> %s <br />", $result['title'], $result['content']);
}
0 голосов
/ 30 января 2010

Вы должны указать PHP, какой массив вы хотите (MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH).

Поскольку вы используете имена столбцов в качестве индексов массива, вы должны использовать MYSQL_ASSOC или MYSQL_BOTH:

while ($result = mysql_fetch_array($select, MYSQL_ASSOC))
    ...
0 голосов
/ 30 января 2010

А как же

while ($result = mysql_fetch_array($select))
{
   echo $result['title'] . "<br />";
   echo $result['content'] . "<br /><br />";
}

Вам не хватает разрыва строки после вашего контента, поэтому первое вхождение будет хорошо, но оно объединит первый контент со вторым заголовком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...