PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   menue auslesen (https://www.php-resource.de/forum/php-developer-forum/52574-menue-auslesen.html)

thea 31-03-2005 07:54

menue auslesen
 
guten morgen,

ich habe in einer tabelle alle möglichen menüpunkte einer seite gespeichert. diese sollen nun ausgelesen und nebeneinander dargestellt werden.

hier mein code:

PHP-Code:

<?php

$s 
$_REQUEST["s"];
    if(!isset(
$s)) $s 1;

$liste = array();
if(
$obj mysql_query("SELECT * FROM menue"))
{
    while(
$row mysql_fetch_assoc($obj))
    {
        
array_push($liste,$row);
    }
}
$menge count($liste);
#echo "MENGE; $menge";
$zeilen 1// anzahl der datensätze pro zeile (variabel)

$pagebrowse pagebrowse($s,$menge,$zeilen,$suchwort);
$url "menue.php";

$maximum $s $zeilen;
$minimum $maximum $zeilen;

?>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
<?
for( $i $minimum $i < ($maximum) ; $i++ )
{
    if( !
is_array($liste[$i]) )
       {
           break;
       }
       else
       {
           
$id $liste[$i]['id'];
        
$name $liste[$i]['name'];
           
$link $liste[$i]['link'];
       
           echo 
"<tr>";
        echo 
"<td width=\"20%\" align=\"center\" class=\"tech\">$menue_name</td>";
        echo 
"<td width=\"20%\" align=\"center\" class=\"tech\">&nbsp;</td>";
        echo 
"<td width=\"20%\" align=\"center\" class=\"tech\">&nbsp;</td>";
        echo 
"<td width=\"20%\" align=\"center\" class=\"tech\">&nbsp;</td>";
        echo 
"<td width=\"20%\" align=\"center\" class=\"tech\">&nbsp;</td>";
        echo 
"</tr>";
        
        
$count++;
        if(
$count == 4)
        {
            echo 
"</tr><tr>";
            
$count=0;
        }
    }
}
if(
$count != 0)
    {
        echo 
'</tr>';
    }
    else
    {
        echo 
'</TD></TR>';
    }

?>
</table>

wie ist es nun möglich diesen code in eine $variable zu packen, damit ich dies in meiner html vorlage verwenden kann? oder gibt es einen anderen weg eine menüstruktur automatisch erstellen zu lassen?

Schnoop 31-03-2005 08:00

Sicher gibt es andere Möglichkeiten.

In deinem Fall würde ich die Zeilen nicht via echo ausgeben, sonder einfach einer Variablen zuweisen und anhängen.

Das Anhängen funktioniert so:

PHP-Code:

$menu .= '....' 


thea 31-03-2005 08:17

vielen dank für deinen tipp. ich habe es jetzt so:


PHP-Code:

$result mysql_query("SELECT * FROM menue");

$menue_auslesen .= '<table>';
$menue_auslesen .= '<tr>';


// Hauptkathegorien
while($row mysql_fetch_array($result))
{
    
$menue_auslesen .= '<td>: <a href=$row[link]>$row[name]</a> :</td>';
}

$menue_auslesen .= '</tr>';
$menue_auslesen .= '<tr>';

$menue_auslesen .= '</tr></table>'

wie gebe ich nun die variablen $row[link] und $row[name innerhalb der schleife aus?

aimbot 31-03-2005 08:28

Zitat:

Original geschrieben von thea
vielen dank für deinen tipp. ich habe es jetzt so:


PHP-Code:

$menue_auslesen .= '<td>: <a href=$row[link]>$row[name]</a>' 

wie gebe ich nun die variablen $row[link] und $row[name innerhalb der schleife aus?

PHP-Code:

$menue_auslesen .= "<td>: <a href=".$row[link].">".$row[name]."</a>" 


thea 31-03-2005 08:29

genau so habe ich es auch.

besten dank euch allen.

Schnoop 31-03-2005 09:04

Hm Aimbot. Das was du gemacht hast ist ein wenig unsinnig!

Strings die mit " anfangen, werden von PHP komplett durchgeparst, sprich er durchsucht den gesamten String nach Variablen die er ersetzen kann.

Wenn du das ganze mit ' anstellst, weiss PHP das dort keine Variablen vorhanden sind, und gibt den Teil einfach nur aus.

Dadurch das du die Variablen ja schon aus den Stringteilen rausgenommen hast ist das " unsinnig und du kannst gleich das ' nehmen.

thea 31-03-2005 12:32

hallo,

ich habe noch eine frage zum menüaufbau. derzeit werden immer 5 menüpunkte nebeneinander dargestellt. habe ich z.B. 8 punkte in der tabelle gepspeichert, soll eine weitere zeile darunter angefügt werden. dabei sollen dann die ersten 3 punkte ausgefüllt werden.

bisher habe ich so realisiert:

PHP-Code:

$result mysql_query("SELECT * FROM menue");
$menue_auslesen .= "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\">";
$menue_auslesen .= "<tr>";

while(
$row mysql_fetch_array($result))
{
    
$menue_auslesen .= "<td width=\"20%\" align=\"center\" class=\"tech\"><a href=$row[link] style=\"text-decoration: none\">$row[name]</a></td>";
   }
$menue_auslesen .= "</tr>";
$menue_auslesen .= "</table>"


aimbot 31-03-2005 12:52

Zitat:

Original geschrieben von Schnoop
Hm Aimbot. Das was du gemacht hast ist ein wenig unsinnig!

Strings die mit " anfangen[...]

oh, schon wieder was gelernt ;)
d.h. dann konkret dass ich es auch so machen könnte ne?

PHP-Code:

$bla="Ich bin ein String mit einer Variable: $var"


Schnoop 31-03-2005 13:00

Ja so kannst du es machen, obwohl es halt nicht sonderlich perfomant ist.

Das ganze :
PHP-Code:


$bla
='Ich bin ein String mit einer Variable:'.$var

ist halt schneller und entlastet den Parser.

aimbot 31-03-2005 13:04

Hab ich da nicht n Problem wenn ich z.B. sowas will:

PHP-Code:

$sqlQuery='SELECT * FROM tab WHERE name='.$mustermann.'' 


thea 31-03-2005 13:06

wie kann ich denn nun mehrere menüpunkte untereinander auslesen?

Schnoop 31-03-2005 13:07

Probier es doch aus *g*

aimbot 31-03-2005 13:10

Schnoop: lol

thea: denk n bisschen nach ;) überprüf doch in der schleife, wieviel punkte schon ausgegeben wurden und fang dann je nach stand ne neue zeile an.


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:30 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG