Infos über ein Feld aus Resultat

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Original geschrieben von roobin
    da seh ich jetzt keine Probleme, denn meistens ist ein AUTOINC-Feld ja gerade dazu da, absolut dynamisch zu sein.
    ist mir irgendwie schleiereule, was du damit sagen willst?

    eine auto-increment ID ist idR genau das gegenteil von dynamisch, die wird genau einmal vergeben, und behält dann diesen wert in alle ewigkeit (nachträgliches manuelles ändern ist alles andere als üblich und idR auch nicht sinnvoll).
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Comment


    • #17
      nun gut, anders formuliert
      es ist ja gemeinhin unüblich, ein Datensatz durch die explizite Nennung der ID auszulesen. Entweder macht man das durch irgendwas anderes, vielleicht durch eine Zeitangabe, die man auch gespeichert hat oder halt sonstwas.
      Und in dem Script, das ich mit entwickle, ist das eben der Fall, das Auslesen eines Datensatz durch die ID kommt NIE vor, und dadurch ist es mir auch möglich, diesen Wert auf NULL zu setzen.
      hoffentlich konnte ich es einigermassen plausibel erklären

      @Abraxax: Genau das sagte ich ja

      Comment


      • #18
        Original geschrieben von roobin
        [...]es ist ja gemeinhin unüblich, ein Datensatz durch die explizite Nennung der ID auszulesen. [...]
        falsch. eigentlich ist es üblich einen datensatz NUR durch die id auszulesen. alles andere dient nur zum einsprung in die tabellen, damit man erst einmal eine id hat. danach gehts nur noch über ids weiter. denn diese SIND EINDEUTIG.

        Original geschrieben von roobin
        @Abraxax: Genau das sagte ich ja
        egal...
        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 |


        Comment


        • #19
          ihr dreht mir die Wörter im Mund herum :P

          zB so etwas:

          url.php?id=11

          und diese URL wurde nicht dynamisch durch eine vorhergehende Datenbank-Abfrage generiert, sondern selber reingeschrieben (zB als Link in einer Navigation)

          und eine derartige URL, die nicht durch eine Datenbank-Abfrage generiert wurde, das kommt nicht vor!

          so mein ich das

          Comment


          • #20
            dann solltest du vielleicht auf die ids umsteigen. die sind eindeutig.

            wie sähe denn ein link von dir aus? gib mal 2-4 beispiele.
            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 |


            Comment


            • #21
              schon wieder Missverständnis

              bei meinem Script werden jeweils schon die IDs in den Links angegeben, alles andere würde ja, wie Du sagst, keinen Sinn machen.
              Aber ich spreche von etwas anderem:
              Nehmen wir an, jemand schreibt ein Benutzer eines News-Scripts schreibt einen Bericht, dieser Bericht hat die ID 76. Dieser Bericht gefällt ihm so gut, dass er ihn in seiner Navigation direkt verlinken will. Also gibt er da ein: news.php?newsid=76

              ich spreche nur von dem ^^ und ich denke, dass ist auch das, was wahsaga meinte. Denn wenn er jetzt ein Backup macht und die Daten wieder rauflädt, kann es natürlich sein, dass die neuen IDs nicht mehr mit den alten übereinstimmen...

              Comment


              • #22
                klar. die id passen nach dem backup doch noch.

                wenn du einen dump machst, dumpst du doch auch die ids. nach dem import des dumps sind die ids auch wieder so wie vorher.

                das einzige, was sich ändern kann, ist der next-autoincrement. das ist aber egal, denn wenn eine neue id vergeben wird, wird diese auch normal genutzt werden können.
                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 |


                Comment


                • #23
                  genau!

                  Comment


                  • #24
                    also ist dein problem jetzt gelöst?
                    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 |


                    Comment


                    • #25
                      Re: Infos über ein Feld aus Resultat

                      Original geschrieben von roobin
                      Ich habe folgender Code:

                      PHP Code:
                      <?php
                      $result 
                      mysql_query("SELECT spalte FROM tabelle");
                      while(
                      $row=mysql_fetch_array($result))
                      {
                        echo 
                      "AUTO-INCREMENT: ";
                        if(
                      $row["spalte"] == "auto-increment")    // lol
                          
                      echo "YES!";
                        else
                          echo 
                      "NO!";
                      }
                      ?>
                      also, es geht darum, dass ich von diesem Feld erfahre, ob es das Extra Auto-Increment hat oder nicht. Wie finde ich das bei einer derartigen Abfrage am einfachsten heraus?
                      Nur um die ursprüngliche Frage nochmal aufzugreifen ... deren Lösung ich in dem ganzen Thread jetzt nicht gefunden haben: string mysql_field_flags (resource result, int field_offset) heißt die Funktion ...
                      carpe noctem

                      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                      Comment


                      • #26
                        Original geschrieben von Abraxax
                        klar. die id passen nach dem backup doch noch.

                        wenn du einen dump machst, dumpst du doch auch die ids. nach dem import des dumps sind die ids auch wieder so wie vorher.
                        das war ja eben das, worauf ich hinweisen wollte.

                        weiter oben hatte er geschrieben,
                        Nun soll aber, wenn eine Spalte AUTOINC ist, nicht der spezifische Inhalt dieses Feld, sondern eben 'NULL' ausgeben werden!
                        er wollte also die jeweiligen id-werte nicht mit in den dump aufnehmen, sondern sie bei wieder einspielen automatisch vergeben lassen.

                        und eben dabei kann es zu inkonsistenzen kommen, wenn z.b. mal ein datensatz gelöscht worden ist.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Comment


                        • #27
                          Original geschrieben von wahsaga
                          und eben dabei kann es zu inkonsistenzen kommen, wenn z.b. mal ein datensatz gelöscht worden ist.
                          das löschen der id sollte man auch nicht machen, wenn mehrere tabellen genau darüber verbunden sind. das ist tödlich.

                          OffTopic:
                          tja. mal sehen was er vor hat. wahrscheinlich kommt dann ein post .....

                          hilfe! nach einspielung meiner dumpdaten geht nix mehr....
                          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 |


                          Comment


                          • #28
                            macht euch nicht derartige Sorgen
                            wie ich ja mehrere Male zu erklären versucht habe, werden solche Inkonsistenzen durch das Löschen einer ID nie auftreten!

                            ja, das Problem ist eigentlich gelöst, leider hatte ich bis jetzt noch nicht die Möglichkeit, es in meinen Code einzubauen. Sobald ich es aber getan habe, lass ich es euch wissen - vielleicht gibts ja noch was zu lachen

                            Comment


                            • #29
                              Original geschrieben von Abraxax
                              das löschen der id sollte man auch nicht machen, wenn mehrere tabellen genau darüber verbunden sind. das ist tödlich.
                              es ist doch ein durchaus üblicher fall, dass du mal irgendwo ein objekt aus allen verknüpften tabellen rauslöschst, weil z.b. in einem shop der artikel nicht mehr angeboten wird. das stellt an sich überhaupt kein problem dar, so lange du nur alle verknüpften tabellen bereinigst.

                              wenn jetzt aber anschliessend die auto-inc ids neu vergeben werden, und woanders ist ein verweis auf diese id (feld ohne auto-inc), dann hast du aber ein problem...
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Comment


                              • #30
                                ...hmm, beinahe hätte es doch einen Lacher gegeben auch ich bemerkte nun endlich, dass ich auf dem absoluten Holzweg war/bin.

                                Natürlich gibt es, wie bei jedem grösseren Script, verknüpfte Tabelle und auch ich bemerkte nun endlich, dass es so natürlich zu Problemen kommen könnte.

                                Also, den Weg, den ich eingeschlagen habe, geht natürlich nicht. Will schnell erklären, wie ich überhaupt darauf gekommen bin:

                                Ich will wie gesagt einen Backup-Funktion einbauen. Nun dachte ich aber, dass es doch recht praktisch wäre, dass man ein Backup aufspielen könnte, und dennoch die Daten, die man bis jetzt in der Datenbank hat, weiterhin erhalten bleiben.

                                Die Möglichkeit, dass einfach alle autoinc-Felder neu gefüllt werden, geht ja eben nicht. Und wenn ich so nachdenke ... gibt es überhaupt eine derartige Lösung?

                                Nun, natürlich gibt es die, aber die wäre äusserst unpraktisch und kompliziert, man müsste irgendwo auflisten, welche Tabelle mit welcher verknüpft ist.

                                Also, neuer Ansatz: Habt ihr ne Lösung dafür oder gibt es nur die eine radikale Lösung, nämlich einfach alle Datensätze überschreiben?

                                Comment

                                Working...
                                X