У меня есть таблица с именами столбцов 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'];
}
}
Мой код не работает. Любая идея?
Сначала вы можете разделить данные по категориям на отдельные массивы.
$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>";
}
}
Других решений пока нет …