weblink & unterkategorien

Begonnen von heikoandre, 22 Oktober 2002, 23:45:53

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

heikoandre

Hallo allen,

eine Frage zu den Unterkategorien bei den WebLinks.

Wenn ein User einen Link eintragen möchte so erscheint  die Option wo er hin soll.
Dabei erscheinen allerdings die Haupt- und Unterkategorien und wenn er nicht aufpasst so schreibt er seinen link in der Hauptkategorie.
Wie kann ich dies Ändern so das nur die Unterkategorien angezeigt werden?
Den Code den ich dafür gefunden habe sieht so aus.

  echo ""._CATEGORY.": <select name=\"cat\">";
            $result2=sql_query("select cid, title, parentid from ".$prefix."_links_categories order by parentid,title", $dbi);
            while(list($cid2, $ctitle2, $parentid2) = sql_fetch_row($result2, $dbi)) {
                    if ($parentid2!=0) $ctitle2=getparent($parentid2,$ctitle2);
                echo "<option value=\"$cid2\">$ctitle2</option>";
            }
            echo "</select><br><br>"

Ich glaube die parrentid hat damit was zu tun weil diese bei den Hauptkategorien auf 0 steht.
Ich hoffe ich habe mich verständlich ausgedrückt.
Wäre Dankbar für einen Tipp.

Gruß Heiko
http://www.uer-online.de

CMS-Version: PragmaMx 0.1.11
 

heikoandre

Hab's selbst rausgefunden.

Bei der Abfrage der Kategorien aus der Tabelle einfach die Funktion LIMIT nutzen und dann geht's so wie ich es wollte.
http://www.uer-online.de

CMS-Version: PragmaMx 0.1.11
 

Ronwaste

kannst du das mel besser erklären bitte dann kann ich adas auch ändern...

heikoandre

Ja klar kann ich das.

In der "function Addlink" findest du follgende Zeile :

$result2=sql_query("select cid, title,  parentid from ".$prefix."_links_categories order by parentid,title ", $dbi );

Diese ersetzt du dann mit folgender :

$result2=sql_query("select cid, title,  parentid from ".$prefix."_links_categories order by parentid,title LIMIT X,Y ", $dbi );

Nun zu dem Limit X,Y :

Für X setzt du die Anzahl der ersten Einträge ein die nicht Angezeigt werden sollen.
Für Y setzt du die Endmenge deiner Einträge ein.

Also nach dem Schema:

Du hast 5 Hauptkategorien und 10 Unterkategorien, dann stehen in der Tabelle in der Datenbank 15 Einträge. Bei der Abfrage werden zuerst die 5 Hauptkategorien an Platz 1-5 und dann die 10 Unterkategorien an Platz 6-15 in das Menü geschrieben.
Setzt du jetzt bei Limit das X auf 5 so werden die ersten 5 Einträge also die Hauptkategorien ignoriert und ab dem 6 Eintrag wird die Tabelle übernommen.
Nun musst du noch bei Limit das Y in diesem Beispiel auf 15 setzten damit die funktion weis das alle Einträge von 6-15 also die Unterkategorin in das Menü geschrieben werden sollen.
Würdest du das Y weglassen so würde in diesem Fall nur der 6 Eintrag angezeigt werden.

Ich hoffe ich habe mich halbwegs verständlich ausgedrückt :cool:

Viel Spaß beim Testen Heiko
http://www.uer-online.de

CMS-Version: PragmaMx 0.1.11
 

Joschau

Guter Ansatz... ;)

Problem: Was machst Du, wenn sich die Anzahl der Kategorien ändert?

Jedesmal ins Programm rein und rumfummeln? Dann hätten wir ja auch weiter HTML-Seiten schreiben können ... :D

Mein Tipp:

$result2=sql_query("SELECT cid, title, parentid FROM ".$prefix."_links_categories WHERE parentid > 0 ORDER BY parentid, title ", $dbi );

Dann liest er die Hauptkategorien auch nicht aus...

Wenn´s nicht klappen sollte, darfst Du Asche auf mein haupt streuen ;)


heikoandre

@Joschau

Ja so geht's auch.
Hätte ich in meinen php-Buch etwas weitergelesen dann wäre ich auch noch darauf gekommen ;)

Das mit dem Ändern der Anzahl der Kategorien war mir aber egal da ich aus dem Web-Link-Modul gerade eine Art gelbe Seiten schreibe und da bleiben dann alle Kategorien so bestehen.
Möge jetzt keiner schreiben es gibt schon Yello-Pages, das Modul ist nicht nach meinem Geschmack und ich müsste dies auch erst richtig Eindeutschen und nach meinen Wünschen umschreiben. Da bietet sich das linkmodul zum umschreiben geradezu an.
http://www.uer-online.de

CMS-Version: PragmaMx 0.1.11
 

Ronwaste

DAAAAAAAAANKE ihr seid die besten... rumbastel... klappt danke schön!