if Abfrage

ich habe das jetzt so eingefügt und auch geändert.

Es geht nur im firefox auf. Das Menü sieht so auf wie auf dem Bild.
 

Anhänge

  • foo-bar.gif
    foo-bar.gif
    2,4 KB · Aufrufe: 16
Funktioniert es denn nicht? Ich selbst habe kein Internet Explorer mit dem ich das testen kann. Also kann ich auch nicht beurteilen, ob der Internet Explorer das schluckt.

Letzter Versuch:
PHP:
function buildNavigation( $structure )
{
	$retVal = '<ul>';
	foreach( $structure as $key => $val ) {
		if( is_array($val) ) {
			$retVal .= '<li class="sub"><a href="">'.htmlspecialchars($key);
			$retVal .= '<!--[if IE 7]><!--></a><!--<![endif]--><!--[if lte IE 6]><table><tr><td><![endif]-->';
			$retVal .= buildNavigation($val);
			$retVal .= '<!--[if lte IE 6]></td></tr></table></a><![endif]-->';
			$retVal .= '</li>';
		} else {
			$retVal .= '<li><a href="'.htmlspecialchars($val).'">'.htmlspecialchars($key).'</a></li>';
		}
	}
	$retVal .= '</ul>';
	return $retVal;
}
Wenn es nun nicht klappt, wirst du es selbst herausfinden müssen.
 
php funktion verbinden mit IE Bug für CSS anzeige

Habe da noch ein anliegen.

Es geht immer noch um das Menü von Stu Nicholls.
Was auch funktioniert. Nur nicht in meiner Funktion ich weis nicht wo diese Teile hin müssen.
Habe da noch ein anliegen.

Es geht immer noch um das Menü von Stu Nicholls.
Was auch funktioniert. Nur nicht in meiner Funktion ich weis nicht wo diese Teile hin müssen.
PHP:
<!--[if IE 7]><!--></a><!--<![endif]-->
                      <!--[if lte IE 6]><table><tr><td><![endif]-->

<!--[if lte IE 6]></TD></TR></TABLE></A> <![endif]-->

Funktion: zum erstellen eines Menüs mit Anzahl der Artikel.
Diese Funktion funktioniert, nur möchte ich das die Funktion auch im IE und anderen Browsern sich aufklappen lässt. In dieser Variante klappt es nur im firefox.

navigation(0);

function navigation($katid, $ebene=1)
{
        $res1 = mysql_query("
                SELECT
                        kat_id,
                        kat_bez,
                        eb
                FROM
                        bm_kategorien
                WHERE
                        bm_kategorien.kat_id1 = ".$katid."
        ");

        while ($erg1 = mysql_fetch_assoc($res1))
        {
                if (zaehlen($erg1["kat_id"]) ==0)
                        continue;
              echo"
                   <li>";

if ($ebene ==1 OR $erg1["kat_id"] == 170){
echo "
        <a>".$erg1["kat_bez"]." (".zaehlen($erg1["kat_id"]).")</a>";
        }
else{
echo "  <a href=\"$_SERVER[PHP_SELF]?id=".$erg1["kat_id"]."&wert=".zaehlen($erg1["kat_id"])."\">
        ".$erg1["kat_bez"]." (".zaehlen($erg1["kat_id"]).")</a>
        ";
}
                 echo"
                   <ul> ";
                navigation($erg1["kat_id"],$ebene +1);
                 echo "
                   </ul>";
        mysql_free_result($res1);
}

function zaehlen($katid)
{
        list ($anzahl) = mysql_fetch_row(mysql_query("
                SELECT
                        count(*)
                FROM
                        bm_kat
                WHERE
                        bm_kat = ".$katid."
        "));

        $res1 = mysql_query("
                SELECT
                        kat_id
                FROM
                        bm_kategorien
                WHERE
                        bm_kategorien.kat_id1 = ".$katid."
        ");

        while($erg1 = mysql_fetch_assoc($res1))
                $anzahl += zaehlen($erg1["kat_id"]);

        mysql_free_result($res1);

        return $anzahl;
}

hätte da jemand ein Tipp
mfg gg
 
nein habe alles zig mal ausprobiert nicht hat funktioniert

da die Funktion mit <li> anfangen muss.
Aber trotzdem super deine Hilfe LOOOOOOOOOOOBBB.

Ich bekomme es nicht hin das das Menü im IE sich aufklappt nur im firefox funktioniert es andere Browser hab ich auch noch nicht.
mfg
gg
 
Habe es jetzt so eingesetzt nur im IE geht es nicht auf.

PHP:
navigation(0);

function navigation($katid, $ebene=1)
{
        $res1 = mysql_query("
                SELECT
                        kat_id,
                        kat_bez,
                        eb
                FROM
                        bm_kategorien
                WHERE
                        bm_kategorien.kat_id1 = ".$katid."
        ");

        while ($erg1 = mysql_fetch_assoc($res1))
        {
                if (zaehlen($erg1["kat_id"]) ==0)
                        continue;
              echo"
                   <li>";

if ($ebene ==1 OR $erg1["kat_id"] == 170){
echo "
        <a>".$erg1["kat_bez"]." (".zaehlen($erg1["kat_id"]).")</a>
        <!--[if IE 7]><!--></a><!--<![endif]-->
                      <!--[if lte IE 6]><table><tr><td><![endif]-->";
        }
else{
echo "  <a href=\"$_SERVER[PHP_SELF]?id=".$erg1["kat_id"]."&wert=".zaehlen($erg1["kat_id"])."\">
        ".$erg1["kat_bez"]." (".zaehlen($erg1["kat_id"]).")
        <!--[if IE 7]><!--></a><!--<![endif]-->
                      <!--[if lte IE 6]><table><tr><td><![endif]-->";
}

                 echo"
                   <ul> ";
                navigation($erg1["kat_id"],$ebene +1);
                 echo "
                   </ul>";
echo "<!--[if lte IE 6]></TD></TR></TABLE></A> <![endif]-->";
   echo"</li>";
               }
        mysql_free_result($res1);
}

function zaehlen($katid)
{
        list ($anzahl) = mysql_fetch_row(mysql_query("
                SELECT
                        count(*)
                FROM
                        bm_kat
                WHERE
                        bm_kat = ".$katid."
        "));

        $res1 = mysql_query("
                SELECT
                        kat_id
                FROM
                        bm_kategorien
                WHERE
                        bm_kategorien.kat_id1 = ".$katid."
        ");

        while($erg1 = mysql_fetch_assoc($res1))
                $anzahl += zaehlen($erg1["kat_id"]);

        mysql_free_result($res1);

        return $anzahl;
}

So zeigt er im IE nur die 1ste Ebene komplett an aber öffnet nicht die 2te oder 3te beim überfahren mit der MAus. Im Firefox funktioniert es bestens.

mfg gg
 
Zurück