effizientere Lösunge eines Problems Menuepunkte

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • effizientere Lösunge eines Problems Menuepunkte

    Hallo, ich habe hier eine Menueleiste mit PHP realisiert. Leider ist die Ladezeit diese Lösung sehr hoch. Kann mir jemand vielleicht ein Tipp geben, wie ich dies eleganter lösen kann?

    $sql = "SELECT
    id
    FROM
    kategorie
    WHERE
    sprache = '".$_SESSION['sprache']."' AND
    format = '1'
    ORDER BY
    folge ASC;";
    $_SESSION['getids'] = Array();
    $result = mysql_query($sql) OR die (mysql_error());
    while($row = mysql_fetch_assoc($result))
    {
    $_SESSION['getids'][] = $row['id'];
    }
    foreach($_SESSION['getids'] as $id)
    {
    if($_GET['selectkategorie'] != $id)
    {
    $sql = "SELECT
    id,
    kategorie
    FROM
    kategorie
    WHERE
    sprache = '".$_SESSION['sprache']."' AND
    format = '1' AND
    id = '$id'
    ORDER BY
    folge ASC;";
    $result = mysql_query($sql) OR die (mysql_error());
    $row = mysql_fetch_assoc($result);
    <a href=\"home.php?selectkategorie=".$row['id']."&page=".$row['kategorie']."&".session_name()."=".session_id()."\">&nbsp;&nbsp;".$row['kategorie']."</a></td></tr></table>";
    } else {
    $sql = "SELECT
    id,
    kategorie
    FROM
    kategorie
    WHERE
    sprache = '".$_SESSION['sprache']."' AND
    format = '1' AND
    id = '$id'
    ORDER BY
    folge ASC;";
    $result = mysql_query($sql) OR die (mysql_error());
    $row = mysql_fetch_assoc($result);
    echo "".$row['kategorie']."";
    $sql = "SELECT
    id,
    unterkategorie
    FROM
    top_format_1
    WHERE
    sprache = '".$_SESSION['sprache']."' AND
    kategorie = '$id';";
    $result = mysql_query($sql) OR die (mysql_error());
    while($row = mysql_fetch_assoc($result))
    {
    echo "<a href=\"privatkundenportal_trapezblech_trapezprofil_wellblech_wellprofil.php?untermenue=".$row['unterkategorie']."&selectkategorie=".$id."&toppage=privatkundenportal&".session_name()."=".session_id()."\">".$ro w['unterkategorie']."</a></td>";

    }
    }

    ?>

  • #2
    die ausführungszeit dieses ausschnitts wächst (wenn ich mich nicht verguckt habe) proportional zum quadrat der anzahl der einträge in der tabelle "kategorie". zwar ist polynomielle ausführungszeit in der theorie akzeptabel, doch würde ich mir schwer überlegen, ob man die einträge nicht in einer query auswählen und dann innerhalb einer schleife separiert ausgeben kann. höchstwahrscheinlich wäre das viel einfacher, doch kann ich dir auf die schnelle nichts empfehlen, weil ich den code in der form nicht durchblicke.

    Kommentar

    Lädt...
    X