2009-08-04 2 views
-1

Я следующий сценарий:Магазин новостей из mysql в php-массиве!

$cbid = 0; 
    $arrayid = 0; 
    while ($FINDNEWSresult = mysql_fetch_array($FINDNEWSquery)) { 
     echo "<tr>"; 
     // Prvi stolpec - označevanje (checkbox) 
     echo "<td class=\"middlerow checkbox\"><input id=\"" . $FINDNEWSresult['NEWSid'] . "\" type=\"checkbox\" /></td>"; 
     echo "<td class=\"middlerow\"><a class=\"ahover\" href=\"?mod=news&command=edit&edit=true&id=" . $FINDNEWSresult['NEWSid'] ."\">" . substr($FINDNEWSresult['NEWStitle'], 0, $MOD_NEWStextlimit) . "</a></td>"; 
     echo "<td class=\"middlerow\"><a class=\"ahover\" href=\"?mod=news&command=edit&edit=true&id=" . $FINDNEWSresult['NEWSid'] ."\">" . substr($FINDNEWSresult['NEWStext'], 0, $MOD_NEWStextlimit) . "</a></td>"; 
     echo "<td class=\"middlerow\">" . $FINDNEWSresult['NEWSuser'] . "</td>"; 
     echo "<td class=\"middlerow\">" . $FINDNEWSresult['NEWSdate'] . "</td>"; 
     echo "</tr>"; 
     $NEWSarray = array ($arrayid => array ("Id" => $FINDNEWSresult['NEWSid'], 
               "Title" => $FINDNEWSresult['NEWStitle'], 
               "Text" => $FINDNEWSresult['NEWStext'], 
               "User" => $FINDNEWSresult['NEWSuser'], 
               "Date" => $FINDNEWSresult['NEWSdate'] 
               ) 
          ); 
     // Povecaj $cb zarad checkbox id 
     $cbid++; 
     $arrayid++; 
    } 

Как изменить сценарий, этот массив будет заполнен каждой новости? В настоящее время массив хранит только последние новости.

Спасибо за помощь!

ответ

1

Как это:

$cbid = 0; 
     $arrayid = 0; 
     $NEWSarray = array(); // Not necessary but good for clarity 
     while ($FINDNEWSresult = mysql_fetch_array($FINDNEWSquery)) { 
       echo "<tr>"; 
       // Prvi stolpec - oznacevanje (checkbox) 
       echo "<td class=\"middlerow checkbox\"><input id=\"" . $FINDNEWSresult['NEWSid'] . "\" type=\"checkbox\" /></td>"; 
       echo "<td class=\"middlerow\"><a class=\"ahover\" href=\"?mod=news&command=edit&edit=true&id=" . $FINDNEWSresult['NEWSid'] ."\">" . substr($FINDNEWSresult['NEWStitle'], 0, $MOD_NEWStextlimit) . "</a></td>"; 
       echo "<td class=\"middlerow\"><a class=\"ahover\" href=\"?mod=news&command=edit&edit=true&id=" . $FINDNEWSresult['NEWSid'] ."\">" . substr($FINDNEWSresult['NEWStext'], 0, $MOD_NEWStextlimit) . "</a></td>"; 
       echo "<td class=\"middlerow\">" . $FINDNEWSresult['NEWSuser'] . "</td>"; 
       echo "<td class=\"middlerow\">" . $FINDNEWSresult['NEWSdate'] . "</td>"; 
       echo "</tr>"; 
       $NEWSarray[] = array ($arrayid => array ("Id" => $FINDNEWSresult['NEWSid'], 
                           "Title" => $FINDNEWSresult['NEWStitle'], 
                           "Text" => $FINDNEWSresult['NEWStext'], 
                           "User" => $FINDNEWSresult['NEWSuser'], 
                           "Date" => $FINDNEWSresult['NEWSdate'] 
                           ) 
                 ); 
       // Povecaj $cb zarad checkbox id 
       $cbid++; 
       $arrayid++; 
     } 

В качестве альтернативы [] Вы можете использовать PHPs array_push, а также.

1

Вам нужно добавить к массиву, а не создавать его снова и снова.

$NEWSarray[] = <new_element> ; 

или

array_push($NEWSarray, <new_element>); 
Смежные вопросы