[PHP] Hilfe bei "Parse error".

Gafuliz

Cadet 4th Year
Registriert
Feb. 2005
Beiträge
125
Hi Community!
ich bastel seit langer zeit mal wieder mit PHP rum und stehe nun vor einem Problem, dessen Lösungsweg ih vor lauter Anführungszeichen nicht finden kann. Villeicht bin ich ja auch total auf dem Holzweg :rolleyes: . Naja hier erstmal der Code.
PHP:
  function load_index()
  {
    include('inc/database.inc.php');
    $tmprslt = '';
    $connection = mysql_connect($db['host'],$db['uid'],$db['pwd']);
    if($connection)
    {
      mysql_select_db($db['db']);
      $sql = "SELECT id, cat FROM category WHERE visible > -1 ORDER BY id ASC";
      $result = mysql_query($sql);
      if($result)
      {
       $tmprslt .= " switch(strtolower($cmd))  {     default:";
        while($cat = mysql_fetch_object($result))
        {
          $tmprslt .= " case '".$cat->cat."':  ";
          $tmprslt .= " $base['content'] = $base['actual'].'<i>".$cat->cat."</i></span>'; ";
     $tmprslt .= " $base['content'] .= load_".$cat->cat."(); ";
          $tmprslt .= " break; ";
        }
     $tmprslt .= " } ";
      }
      mysql_close();
    }
    return $tmprslt;
  }
Vielen Dank. Gruß,
Gafuliz
 
Kannst du erklären wo du nicht ganz weiterkommst?
PHP:
$tmprslt .= " switch(strtolower($cmd))  {     default:";
Dies sieht nach einer Switch/Case Struktur aus, aber wieso speicherst du die in einer Variable?
PHP:
$tmprslt .= " switch(strtolower($cmd))  {     default:"; //hier beginnt die Defaultanweisung
        while($cat = mysql_fetch_object($result))
        {
          $tmprslt .= " case '".$cat->cat."':  "; //es werden mehrere Cases definiert, die jedoch alle zusammen mit der Default anweisung aufgerufen werden. 
          $tmprslt .= ' $base["content"] = $base["actual"]."<i>'.$cat->cat."</i></span>'; "; //achte auf das richtige Escapen, beginne mit ' (einfachen Anführungszeichen
    	  $tmprslt .= ' $base["content"] .= load_'.$cat->cat.'(); '; //und verwende im String " (dann musst du nicht mehr escapen
          $tmprslt .= " break; ";
        }
     $tmprslt .= " } ";
Ich komme nicht so ganz nach, was du eigentlich mit diesem Code erreichen willst. Du baust eine Switch/Case struktur auf, und speicherst sie in einer Variable... Vielleicht ist es besser, wenn du uns das Ziel mitteilst, damit wir mit dir einen Lösungsweg finden können.
An welcher Zeile befindet sich der Parser Error?

[Edit] Parser Error behoben siehe kommentiertes Codebeispiel
 
Zuletzt bearbeitet:
Zurück
Oben