Array auslesen

Merlin732

Erfahrenes Mitglied
Guten Morgen,

könnte das mal jemand gegenlesen?

PHP:
<?php

function user_itemArrayProcFuncTest($menuArr,$conf)	{

		if (!count($menuArr))	{		// There must be no menu items if we add the parent page to the submenu:
			$parentPageId = $conf['parentObj']->id;	// ID der parent Seite
			$actualPageId = $GLOBALS["TSFE"]->id; // ID der aktuellen Seite

      $menu;
      $x=0;

      // Ausgabe der Eltern
      $sql_1 = "SELECT title FROM pages WHERE uid = $parentPageId ORDER BY uid DESC"; //wo uid = pid von oben
      $result_1 = mysql_query($sql_1); // ausführen des selects und speichern in ein resultset
      $row_1 = mysql_fetch_array($result_1); // ausgeben des titels der seite

      $menu[$x]['title'] = $row_1['title'];
      $menu[$x]['uid'] = $row_1['uid'];
      $x++;

      echo($row_1['title']); // ausgeben des titels der seite
      echo"<br>";

      //Ausgabe der Geschwister

      $sql_2 = "SELECT uid, title FROM pages WHERE pid = $parentPageId ORDER BY uid DESC"; //  Auswählen und umordnen
      $result_2 = mysql_query($sql_2); // ausführen des selects und speichern in ein resultset
      while($row_2 = mysql_fetch_array($result_2)) // schleife solange ausführen bis resultset keine zeilen mehr hat
      {
        $menu[$x]['title'] = $row_2['title'];
        $menu[$x]['uid'] = $row_2['uid'];
        $x++;

        echo($row_2['title']); // ausgeben des titels der seite
        echo"<br>";
      }

      echo"<br>";

      // Ausgabe der Kinder
      $sql_3 = "SELECT uid, title FROM pages WHERE pid = $actualPageId ORDER BY uid DESC";
      $result_3 = mysql_query($sql_3); // ausführen des selects und speichern in ein resultset
      while($row_3 = mysql_fetch_array($result_3)) // schleife solange ausführen bis resultset keine zeilen mehr hat
      {
        $menu[$x]['title'] = $row_3['title'];
        $menu[$x]['uid'] = $row_3['uid'];
        $x++;

        echo($row_3['title']); // ausgeben des titels der seite
        echo"<br>";
      }
      return $menu;
   }
}
?>

ich bekomme keine ausgabe, kann aber auch keine syntaxfehler finden :/
 
Zuletzt bearbeitet:
So, nochmal ohne echo, was ja sowieso nicht gebraucht wird

PHP:
<?php

function user_itemArrayProcFuncTest($menuArr,$conf)	{

		if (!count($menuArr))	{		// There must be no menu items if we add the parent page to the submenu:
			$parentPageId = $conf['parentObj']->id;	// ID der parent Seite
			$actualPageId = $GLOBALS["TSFE"]->id; // ID der aktuellen Seite

      $menu;
      $x=0;

      // Ausgabe der Eltern
      $sql_1 = "SELECT title FROM pages WHERE uid = $parentPageId ORDER BY uid DESC"; //wo uid = pid von oben
      $result_1 = mysql_query($sql_1); // ausführen des selects und speichern in ein resultset
      $row_1 = mysql_fetch_array($result_1); // ausgeben des titels der seite

      $menu[$x]['title'] = $row_1['title'];
      $menu[$x]['uid'] = $row_1['uid'];
      $x++;

      //Ausgabe der Geschwister

      $sql_2 = "SELECT uid, title FROM pages WHERE pid = $parentPageId ORDER BY uid DESC"; //  Auswählen und umordnen
      $result_2 = mysql_query($sql_2); // ausführen des selects und speichern in ein resultset
      while($row_2 = mysql_fetch_array($result_2)) // schleife solange ausführen bis resultset keine zeilen mehr hat
      {
        $menu[$x]['title'] = $row_2['title'];
        $menu[$x]['uid'] = $row_2['uid'];
        $x++;
      }

      // Ausgabe der Kinder
      $sql_3 = "SELECT uid, title FROM pages WHERE pid = $actualPageId ORDER BY uid DESC";
      $result_3 = mysql_query($sql_3); // ausführen des selects und speichern in ein resultset
      while($row_3 = mysql_fetch_array($result_3)) // schleife solange ausführen bis resultset keine zeilen mehr hat
      {
        $menu[$x]['title'] = $row_3['title'];
        $menu[$x]['uid'] = $row_3['uid'];
        $x++;
      }
      return $menu;
   }
}
?>

Den Fehler konnte ich trotzdem nicht finden :/
 
Ich glaube, man kann das Ganze zu einer Abfrage zusammenfassen:
PHP:
<?php

	function user_itemArrayProcFuncTest($menuArr, $conf)    {

		if( is_null($menuArr) || (bool)count($menuArr) ) {
			return false;
		}

		$parentPageId = $conf['parentObj']->id;   // ID der parent Seite
		$actualPageId = $GLOBALS['TSFE']->id;     // ID der aktuellen Seite
		$menu = array();

		$query = "
			SELECT
			        `uid`,
			        `title`
			  FROM
			        `pages`
			  WHERE
			        `uid` = '".intval($parentPageId)."'
			    OR  `pid` = '".intval($parentPageId)."'
			    OR  `pid` = '".intval($actualPageId)."'
			  GROUP BY
			        `pid`
			  ORDER BY
			        `uid` DESC
			";
		$result = mysql_query($query);
		while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
			$menu[] = $row;
		}

		return $menu;
	}

?>
 
Es geht nicht um Schönheit, sondern um Funktionalität und Effizienz.

Funktioniert es nicht oder was soll dein Beitrag aussagen? Falls nicht, wäre eine detaillierte Fehlerbeschreibung zweckdienlich.
 
Zurück