MySQL DB Navigation

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL DB Navigation

    Hallo zusammen,

    welche Lektüre hilft einem Anfänger bei folgenden Fragen weiter?
    (Vielleicht kann mir auch einer freundlicher Weise, ohne einen schlauen Hinweis á la "mach die Augen auf" Hifle stellen):

    mit

    $res = mysql_query("Select * from Tabelle");

    bekomm ich ja eine Refernz auf die Tabelle.
    Aber wie navigiere ich dort jetzt?

    In Delphi kenne ich folgende Funktionen:

    $res.last; = gehe an die letzte Stelle der Tabelle;

    $res.fieldbyName('Feldname').AsString (So bekommt man den Wert eines Feldes in einer Spalte.

    $res.prior (logo oder?)

    ....

    kann mir bitte jemand mal nur auf diese 3 Funktionen eine PHP Übersetzung geben?
    Dank und Gruß
    Marcus



  • #2
    Naja, in der Tat ist hier jedoch dieser schlaue Hinweis angebracht:

    http://de3.php.net/mysql

    Kommentar


    • #3
      Hi TobiaZ,

      oha, habe ich mir angeschaut. Auf was wolltest Du da genau hinweisen?
      Ich hab weder ein "last" noch "letzten Eintrag" gefunden.....

      Gruß
      Marcus

      Kommentar


      • #4
        wenns 1:1 das selbe wäre, wäre ja langweilig.

        was willst du mit dem last erreichen?
        EDIT:
        .prior ??? (sorry, ist WE )
        Zuletzt geändert von TobiaZ; 29.11.2003, 17:40.

        Kommentar


        • #5
          >wenn 1:1 wär ja langweilig
          och nööööö...... :-)

          Ich muss aus der DB den Wert aus dem Feld "Code" auslesen und für den nächsten Instert um einen erhöhen.

          PHP-Code:
          $res2 mysql_query("Select * from tbl_singles");
          $anzahlmysql_recordcount($res);
          $code mysql_result($res$anzahl'code'); 
          so vielleicht :-)???

          Kommentar


          • #6
            code ist also ein interger und soll bei jedem insert um 1 erhöht werden?

            dann definiere code liber als auto-increment. das ist viel sauberer, erspart die die zusätzliche abfrage, ist schneller, ...

            Kommentar


            • #7
              hm


              PHP-Code:
                  $res2 mysql_query("Select * from tbl_singles");
                  
              $anzahlmysql_num_rows($res);
                  
              $code mysql_result($res$anzahl'code');
                  
              $code $code 1
              Super, es klappt zwar, allerdings steht im neuen Eintrag bei "code" dann immer der gleiche Eintrag (z.B. 1)

              Why? Code = code + 1 soll das doch um einen erhöhen.
              Falsch?

              Kommentar


              • #8
                dann definiere code liber als auto-increment
                geht das denn?
                Ich hab schon einen auto Inc Wert in der Tabelle.
                Außerdem will ichs mal so machen :-)

                Gruß
                Marcus

                Kommentar


                • #9
                  hmm, dann muss ich ganz ehrlich sagen, dass ich nicht verstehe, wofür code gut ist.

                  naja, wenn es dir nur um den letzten eintrag geht, dann sieh dir mal die MySQL Funktion MAX() an, oder aber ORDER BY. Und LIMIT brauchst du auch.

                  (Bevor du nachher fragst, warum ich nicht den Code gebe: Dann lernst du ja nichts dabei.)

                  Kommentar


                  • #10
                    (Bevor du nachher fragst, warum ich nicht den Code gebe: Dann lernst du ja nichts dabei.)
                    find ich gut.
                    Können wir mal mit meinem Code vorgehen?
                    PHP-Code:
                        $res2 mysql_query("Select * from tbl_singles");
                        
                    $anzahlmysql_num_rows($res);
                        
                    $code mysql_result($res$anzahl'code');
                        
                    $code $code 1
                    So. Von meinem Verständnis müsste das doch klappen oder nicht?
                    Wo ist HIER der Fehler?

                    Kommentar


                    • #11
                      von meinem verständnis her nicht!

                      1. hast du die besagten funktionen nicht angesehen und eingesetzt
                      2. sagst du nicht, was da passiert, sondern lediglich dass es nicht so ist wie du es willst
                      3. ist der letzte datensatz nicht zwingend der größte "code"

                      Kommentar


                      • #12
                        und zum anderen macht es keinen sinn $code am ende um eins zu erhöhen (egal was in $code stand/steht) und diesen neuen wert nirgens zu verwenden.
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          das was Abraxax da gerade anspricht interessiert mich ja auch immernoch.

                          Kommentar


                          • #14
                            und diesen neuen wert nirgens zu verwenden.
                            sagt ja keiner oder?

                            och.. OK, dann hier die ganze spannende Geschichte :-(:


                            $res2 = mysql_query("Select * from tbl_singles");
                            $anzahl= mysql_num_rows($res);
                            $code = mysql_result($res, $anzahl, 'code');
                            $code = $code + 1;

                            $res = mysql_query("INSERT INTO tbl_singles (bla blubb und, code)
                            VALUES ('$nickname', '$email', $code)");

                            so:
                            2. sagst du nicht, was da passiert, sondern lediglich dass es nicht so ist wie du es willst
                            Falsch. Das habe ich 2 Postings vorher gesagt. Aber hier gerne noch einmal: in den neuen Datensatz wird immer nur der alte Code eingetragen, nicht aber um 1 erhöht.

                            3. ist der letzte datensatz nicht zwingend der größte "code"
                            doch, in meiner DB schon. Aber ich kann ja noch ein "ORDER BY ID (=prim. Key)" einfügen.

                            Hab ich jetzt genug geschrieben? Kann das Problem erfasst und beholfen werden?


                            Gute Nacht,
                            Marcus

                            Kommentar


                            • #15
                              also:

                              1. select max(code) code from table

                              2. $arr = mysql_fetch_assoc();

                              3. $code = $arr['code'];

                              4. INSERT INTO table Set code = $code


                              Aber was du mit dem code machst (verwendung) wissen wir immer noch nicht.

                              Kommentar

                              Lädt...
                              X