Показать результат запроса выбора MYSQL в два div в соответствии с именем столбца, используя один запрос выбора

У меня есть таблица с именами столбцов id, name, category, title,а также news, После выполнения запроса select я получаю все необходимые данные из таблицы, но мне нужно разделить эти данные на два элемента div в соответствии с категорией, к которой они принадлежат. Есть две разные категории, скажем, A и B.

Мне нужно показать все данные с именем категории столбца A в одном div и то же самое с категорией B.

$sql= "SELECT id, title ,news ,category FROM news  ";
$query=mysql_query($sql, $ex)or die(mysql_error())  ;
while($row=mysql_fetch_assoc($query)){
$title=$row['title'];
if($row['category']==' Latest News'){
echo $row['title'];
}
}

Мой код не работает. Любая идея?

1

Решение

Сначала вы можете разделить данные по категориям на отдельные массивы.

$cat1 = array();
$cat2 = array();

$ sql = «SELECT id, title, news, category FROM news»;

$query = mysql_query($sql, $ex) or die(mysql_error());

if(mysql_num_rows($query) > 0)
{
while($row = mysql_fetch_assoc($query))
{

if($row['category'] == 'A')
{
$cat['title'] = $row['title'];
$cat['news'] = $row['news'];
$cat1[] = $cat;
}
else
{
$cat['title'] = $row['title'];
$cat['news'] = $row['news'];
$cat2[] = $cat;
}

}
}

Тогда вы можете использовать foreach распечатать данные в отдельный div

if(count($cat1) > 0)
{
foreach($cat1 as $category1_data)
{
echo "<div class='cat1'>";
// data of category A
echo "</div>";
}
}

if(count($cat2) > 0)
{
foreach($cat2 as $category2_data)
{
echo "<div class='cat2'>";
// data of category B
echo "</div>";
}
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]