ulimativ: Objektorientiertes Programmieren - Denkblockade

Hallo....
Also ich bin gerade am realisieren meines ersten objektorientierten Projekts. Ich verwende die Datenbankklasse von PHPlib, also leicht modifiziert und etwas gekürzt. Spielt bei meinem Problem vielleicht auch nicht die Rolle.
Ich habe eine Linkliste realisiert und es gibt einmal die Klasse Links und einmal die Klasse Kategorie.
So weit so gut, nun mein Problem.
Ich habe eine Datei die heisst admin_links.php
in der Datei existiert ein Formular, das die Eigenschaften der Klasse Links abfrägt, zusätzlich erscheint ein Dropdown-Menü mit allen Kategorien. Genau das ist mein Problem.
Ich will eine Funktion in die Klasse Kategorie einbinden, die mir die nächste Kategorie zurückgibt. Also eine "Abfrage SELECT * FROM kategorie ORDER BY NAME", dann halt mysql_fetch_array und return Datensatz (also jetzt mal Pseudocode). JEtzt soll beim nächsten Aufruf, aber das gleiche Ergebnis der ersten Abfrage verwendet werden.
So wie realisiere ich das genau? ICh habe es schon mir einem Pointer versucht, dann hab ich versucht mir die Query_ID der MYSql-Abfrage zurückgeben zu lassen und mit der weiter zu arbeiten, aber alles ohne Erfolg. Vielleicht stehe ich auch etwas auf dem Schlauch.
Wer kann mir helfen?
Wer den Code dazu braucht kann mir ja mal mailen. Vielleicht hab ich alles auch etwas schlecht umschrieben, abr wer nett, wenn sich jemand Gedanken machen könnte meinem Problem, ich verzweifle :-)
Gruß Uli

  1. Hallo Uli

    Hallo....
    Also ich bin gerade am realisieren meines ersten objektorientierten Projekts. Ich verwende die Datenbankklasse von PHPlib, also leicht modifiziert und etwas gekürzt.

    Di phplib is ne gute sache und bedarf meiner meinung keinerlei änderungen...
    da würde ich besser die finger weglassen.

    JEtzt soll beim nächsten Aufruf, aber das gleiche Ergebnis der ersten Abfrage verwendet werden.

    was meinst du damit?!
    wen jemand auf irgendwas klickt soll er nochmals das selbe ergebniss erhalten ??

    Joschua

    1. Hallo Uli

      Di phplib is ne gute sache und bedarf meiner meinung keinerlei änderungen...
      da würde ich besser die finger weglassen

      ein paar funktionen brauche ich halt nicht und die habe ich rausgenommen, abr keine sorge da ist nichts grundlegendes verändert.

      JEtzt soll beim nächsten Aufruf, aber das gleiche Ergebnis der ersten Abfrage verwendet werden.

      was meinst du damit?!
      wen jemand auf irgendwas klickt soll er nochmals das selbe ergebniss erhalten ??

      oh das hab ich vorher ganz vergessen zu erwähnen. ich will ein dropdown menü aufbauen, mit den ganzen kategorien.
      das heisst eine schleife die so oft die getNextKategorie() aufruft, bis alle kategoriengelistet sind!

      Ach das Problem ist glaub nicht so arg groß nur halt wie erwähnt ne Denkblokade :-)
      Uli

      1. ich verstehe dich och immer nicht ganz richtig... :(

        aber ich vermute du suchst sowas...

        $sql = "SELECT * FROM kategorie ORDER BY NAME";
        $db->query($sql);
        while ($db->next_record()) {
          $ausgabe.="<OPTION VALUE="vievcatname")."">".$db->f("name")."</option>\n";
        }

        danach:
        $tpl->set_var(array("{OPTIONS}" => $ausgabe));

        im template.tpl:

        <FORM NAME="form1" action="script.php">
        <SELECT NAME="select1" onChange="submit()" SIZE=1>
        <OPTION SELECTED VALUE="0">
        ----- Wählen Sie aus: ----- </option>
        {OPTIONS}
        </SELECT>
        </FORM>

        script.php:
        $sql = "SELECT * FROM kategorie WHERE name='$vievcatname'";
        usw...

        so was?
        Joschua

        1. hoppla ...
          überlegungsfehler ;)

          #... = neu.

          ich verstehe dich och immer nicht ganz richtig... :(

          aber ich vermute du suchst sowas...

          $sql = "SELECT * FROM kategorie ORDER BY NAME";
          $db->query($sql);
          while ($db->next_record()) {

          #   $ausgabe.="<OPTION VALUE="">".$db->f("id")."")."">".$db->f("name")."</option>\n";

          }

          danach:
          $tpl->set_var(array("{OPTIONS}" => $ausgabe));

          im template.tpl:

          <FORM NAME="form1" action="script.php">
          <SELECT NAME="select1" onChange="submit()" SIZE=1>
          <OPTION SELECTED VALUE="0">
          ----- Wählen Sie aus: ----- </option>
          {OPTIONS}
          </SELECT>
          </FORM>

          script.php:

          $sql = "SELECT * FROM kategorie WHERE id='$select1'";

          usw...

          so was?
          Joschua

        2. ich verstehe dich och immer nicht ganz richtig... :(

          keine sorge ich mich auch net...

          $sql = "SELECT * FROM kategorie ORDER BY NAME";
          $db->query($sql);
          while ($db->next_record()) {
            $ausgabe.="<OPTION VALUE="vievcatname")."">".$db->f("name")."</option>\n";
          }

          Ich glaub ich mach es jetzt so wie du vorschlägst...
          Ich wollte das eigentlich allgemeiner haben, also praktisch so eine Funktion, wie next_record(), bloss ist die Problemstellung bei mir, dass ich die funktion next_record in der Klasse Kategorie aufrufe, aber das Ergebnis, wo anders brauche, aber danke nochmal ich glaub so ist die Lösung auch nicht schlecht.
          Ich check das mal...
          Uli