2013-02-13 2 views
0

Я пытаюсь сортировать таблицу SQL по подзаголовкам в этой таблице. Выход я пытаюсь получить это:Сортировка PHP по подзаголовкам

ItemHeader1 
-item1 
-item2 
-item3 
ItemHeader2 
-item4 
-item5 
ect. 

Но то, что я получаю:

ItemHeader1 
-item1 
-item1 
-item1 
ect. 

Вот мой PHP код:

$index_content_enquirers = mysql_query("SELECT * FROM index_content_enquirers WHERE lang_attribute = '$lang_identify' ORDER BY item_sectionname_english ASC, item_english_title ASC") or die(mysql_error()); 
$get_index_content_enquirers = mysql_fetch_assoc($index_content_enquirers); 
$contentinfo = array(); 

foreach($get_index_content_enquirers as $row) { 
    $contentinfo[$get_index_content_enquirers['item_sectionname_english']][] = $get_index_content_enquirers['item_english_title']; 
} 

foreach($contentinfo as $contenttitle => $item_titles) { 
    echo $contenttitle; 
    foreach($item_titles as $item_title) { 
     echo "<br />". $item_title; 
    } 
} 

Заранее спасибо!

+0

Пожалуйста, прочитайте об экранирующих строках в запросах. Возможно, вы настроитесь на атаки SQL-инъекций. http://www.php.net/manual/en/mysqli.real-escape-string.php –

ответ

0

Прежде всего - не используйте функции mysql, поскольку они устарели. Используйте mysqli или PDO.

В этом цикле:

foreach($get_index_content_enquirers as $row) { 
    $contentinfo[$get_index_content_enquirers['item_sectionname_english']][] = 
     $get_index_content_enquirers['item_english_title']; 
} 

Вы должны использовать $row вместо $get_index_content_enquirers. Это сделает трюк :)

foreach($get_index_content_enquirers as $row) { 
    $contentinfo[$row['item_sectionname_english']][] = 
     $row['item_english_title']; 
} 
+0

Когда я использую $ row, он дает ошибку «Предупреждение: незаконное смещение строки»? – nontoxicjon

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