Jump to content
Sign in to follow this  
timi11

Kategorien programmieren

Recommended Posts

Hallo Friends, leider habe ich bei der Suche nichts eindeutiges gefunden aber unter Umständen hat jemand ja eine Idee.

Ich bin dem PHP noch nicht so mächtig mach aber Fortschritte.

Nun mein Anliegen:

Ich würde gern erklährt oder gezeigt bekommen wie man in PHP Kategorien programmiert?


Es geht mir eigentlich nur darum zu verstehen wie man Kategorien programmiert. Soll heißen:

Der Aufbau mit z.B. cat_id u.s.w. in eine DB einfügen und wieder abrufen und mit dem einfügen von z.B. Text in eine Kategorie.


Um das zu verdeutlichen, ich habe mal ein ganz einfaches Script bekommen wo Switch erklährt wurde, dadurch habe ich das erst verstanden.


Beispiel:

-----------------------------------------------------

switch ($m)

{

case 'first':

echo "Text zu first";

break;


case 'second':

echo "Text zu second";

break;


// here comes the default switch

default:

echo "default Text";

}


Aufrufen mit script.php?m=first


-----------------------------------------------------


So in der Art, halt für Leihen.


Ich bedanke mich schon mal im vorraus bei allen die Hilfe anbieten können.


Danke, timi11

Share this post


Link to post
Share on other sites

Ich meinte so einfach wie möglich gestalten.

So in der Art wie hier:

 

 0)
   {
       // Einträge vorhanden
       while($row = mysql_fetch_array($result))
       {
           // Ausgabe
           echo "".$row[1]."
";
       }
   }
   else
   {
       // Keine EInträge in cats
       echo "Keine Kategorien!";
   }
}
else
{
   // Inhalt der Ka.
   $result = mysql_query("SELECT * FROM wasauchimmer WHERE cat_id='".$id."'") ;
   $count  = mysql_num_fields($result);

   if($count > 0)
   {
       // Einträge vorhanden
       while($row = mysql_fetch_array($result))
       {
           // wie sollte die Ausgabe aussehen, so nur die ID des Eintrags
           echo $row[0]."
";
       }
   }
   else
   {
       // Keine EInträge in wasauchimmer
       echo "Keine Einträge in der Kategorie!";
   }
}

?>

 

Wie könnte hier die Ausgabe aussehen?


Danke timi11

Share this post


Link to post
Share on other sites

Hallo!


Wie willst du es denn genau haben? Du kannst Kategorien beschränkt anlegen oder aber alles in einer Tabelle mit der id den namen und einer parent id. Zusätzlich kannst noch den Pfad mit speichern.


Das ganze dann rekursiv auslesen,da gibt es auch verschiedene Art und Weisen. Ich bin selber auch grad dabei und tue mich mit dem rekursiven auslesen schwer.


Hier mal mein Code wo ich hänge und einfach nicht weiter komme mir eben der Ansatz fehlt. Vieleicht kann mir da auch jemand helfen?


Dort wo die while Schleife beginnt habe ich das Denkproblem!


mfg der Litter

 


Share this post


Link to post
Share on other sites

Ich habe es weiter probiert und scheiter immer noch ich bekomme von Beginn an diese Fehlermeldung hier!


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where parent_id='0'' at line 1

 


 

Vieleicht kann mir da einer weiter helfen. Vielen Dank

Share this post


Link to post
Share on other sites

Ich Hirnie.


Gut habe das geändert ind der Zeile steht jetzt zusätzlich From $tab_baum aber leider immer noch kein verändertes Ergebnis!

Share this post


Link to post
Share on other sites

$tab_baum gibt es in der Funktion nicht ...



Des weitern:


$num = mysql_num_rows(.... löschen, ist überflüssig.


Die if() kannst du löschen, die while() reicht.

Abgesehn davon gibt es $row nicht wenn in der Bedingung true rauskommrt.


$tmp wird bei jedem Durchgang der Schleife überschrieben.


Wozu lässt du dir x-mal das Query in der Schleife ausgeben?


Eine Funktion sollte immer was zurückgegeben, auch wenn es nur true oder false ist!

Share this post


Link to post
Share on other sites

Mittlerweile so geändert,aber nun bekomme ich gar nichts mehr ausgegeben sondern sehe nur eine Weise Seite. Keine Fehlermeldung nichts!

 

"; 
            navimenu($cat.$row['id']);
	//echo $sqlbefehl;
        }
}

?>

Share this post


Link to post
Share on other sites

Häh wieso gibt es $tab_baum nicht?


Die Tabelle ist in einer anderen datei die mit require eingebunden wurde!


Oder ich verstehe grad nicht in wie fern du das meinst!

Share this post


Link to post
Share on other sites

entweder du haust am Anfang ein global $tab_baum; rein oder du schreibst $GLOBALS['tab_baum'] anstatt $tab_baum ;-)


Du hast da eine Funktion, in der sind nicht automatische alle Variablen verfügbar ...


www.php.net/global

Share this post


Link to post
Share on other sites
Guest

Dazu sei anzumerken, dass das Verwässern der Namensräume mit global nicht empfehlenswert ist.

Der von litter oben gepostete Code ist anfällig für SQL-Injections, wenn $cat nicht vorher geprüft wird und anfällig für XSS, wenn die Einträge in der Datenbank nicht gesäubert wurden. Außerdem kann es vorkommen, dass zu 0 gecastet wird.

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×