PHP Code ändern nur wie ?

PHPNeuling

Grünschnabel
Hallo

habe hier einen Code der mir Kategorien von News anzeigt, diese Kategorien werden durch select angezeigt (also so eine Liste zum auswählen) Jedoch möchte ich die Kategorien in Tabellen stehen haben, in etwa so wie im 2. html Code unten. Kann mir das irgendjemand sagen was ich da ändern muss, um das so darstellen zu lassen ?

hier der Code mit der Liste :

PHP:
<?php 

include("inc_header.php"); 

if(strlen($category)>0) { 
    $where_clause = "WHERE category=$category"; 
} else { 
    if($settings[category_onstartpage]!="9999") { 
        $where_clause = "WHERE category=$settings[category_onstartpage]"; 
    } 
} 

$query_handle_news = mysql_query 
    ("SELECT * from man_news $where_clause ORDER BY id DESC", $db_handle); 
$howmuch_news = mysql_num_rows($query_handle_news); 

if($howmuch_news>$settings[howmuch_onstartpage]) $howmuch_news=$settings[howmuch_onstartpage]; 

$query_handle_categories = mysql_query 
    ("SELECT * from man_categories ORDER BY name", $db_handle); 
$howmuch_categories = mysql_num_rows($query_handle_categories); 

$categories_select = "<select name=\"category\">"; 
$categories_select .= "<option value=\"\">Alle</option>"; 

for($i=0; $i<$howmuch_categories; $i++) { 

    $categorydata = mysql_fetch_array($query_handle_categories); 

    if($categorydata[id]==$category) $selected = "selected"; 
    else $selected = ""; 

    $categories_select .= "<option value=\"$categorydata[id]\" $selected>$categorydata[name]</option>"; 

} 

$categories_select .= "</select>"; 

?> 

<table class="content" cellspacing="0"> 
    <form action="index.php" method="get"> 
    <tr> 
        <td class="cell2" valign="middle"> 
            <?php echo $categories_select; ?> <input type="submit" value="Kategorie zeigen!"> [<a href="news_archiv.php">News-Archiv</a>] 
        </td> 
    </tr> 
    </form> 
</table> 

<?php 

for($i=0; $i<$howmuch_news; $i++) { 

    $newsdata = mysql_fetch_array($query_handle_news); 

    $viewdate = get_date($newsdata[id]); 

    $comments = explode("|", $newsdata[comments]); 
    $howmuch_comments = round(count($comments)/3); 

    if(strlen($newsdata[text])>$settings[howmuch_lettersonstartpage]) { 
        $newsdata[text] = substr($newsdata[text], 0, $settings[howmuch_lettersonstartpage]); 
        $newsdata[text] = "$newsdata[text] ..."; 
    } 

    echo "<br>\n<br>\n"; 

?> 

<table class="content" cellspacing="0"> 
    <tr> 
        <td class="header"> 
            <?php echo $newsdata[headline]; ?> 
        </td> 
    </tr> 
    <tr> 
        <td class="cell2"> 
            am <?php echo $viewdate; ?> 
        </td> 
    </tr> 
    <tr> 
        <td class="cell1"> 
            <?php echo echo_text($newsdata[text]); ?> 
        </td> 
    </tr> 
    <tr> 
        <td class="header2"> 
            <table width="100%" cellpadding="0" cellspacing="0"> 
                <tr> 
                    <td class="cell_withoutborder"> 
                        <a href="news_view.php?id=<?php echo $newsdata[id]; ?>#comments"><?php echo $howmuch_comments; ?> Kommentar(e)</a> 
                    </td> 
                    <td class="cell_withoutborder" width="120"> 
                        Bewertung: <?php echo $newsdata[rating]; ?> 
                    </td> 
                    <td class="cell_withoutborder" align="right" width="120"> 
                        <a href="news_view.php?id=<?php echo $newsdata[id]; ?>">gesamte News lesen</a> 
                    </td> 
                </tr> 
            </table> 
        </td> 
    </tr> 
</table> 

<?php 

} 

include("inc_footer.php"); 

?>

und hier der html Code, so sollte es aussehen :

PHP:
<body><table width="80%"  border="0" cellspacing="0" cellpadding="0"> 
  <tr> 
    <td>Kategorie 1 </td> 
    <td>Kategorie 2 </td> 
    <td>Kategorie 3 </td> 
  </tr> 
  <tr> 
    <td>News aus Kategorie 1 </td> 
    <td>News aus Kategorie 2 </td> 
    <td>News aus Kategorie3 </td> 
  </tr> 
  <tr> 
    <td>Kategorie 4 </td> 
    <td>Kategorie 5 </td> 
    <td>Kategorie 6 </td> 
  </tr> 
  <tr> 
    <td>News aus Kategorie 4 </td> 
    <td>News aus Kategorie 5 </td> 
    <td>News aus Kategorie 6 </td> 
  </tr> 
</table> 

</body> 
</html>

Danke
 
Das ist überhaupt nicht schwer.

Die Frage ist nur ob wir das für dich machen sollen oder wie stellst du dir die Antwort vor?

Im Grunde machst du eine einfache DB-Abfrage bzgl. der Kategorien (wobei man nun hoffen kann, das du diese in einer eigenen Tabelle stehen hast) und lässt diese in einer while-Schleife ausgeben.

Die Aufteilung der HTML Tabelle findest du im Tutorialbereich einen Hinweis bzw. Lösung.

Da die DB-Abfrage hierfür schon vorhanden ist, musst du lediglich diesen Teil $query_handle_categories in die while-Schleife packen.
 
Zurück