nicht vorhandene Werte aus DB ermitteln

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

  • nicht vorhandene Werte aus DB ermitteln

    HI!

    Ich suche eine Möglichkeit um alle Werte (abgeschlossene Menge) zu ermitteln du noch nicht in der Datenbank sind.

    Soll heißen:
    Jeder Eintrag bekommt eine ID, die darf aber nicht ganz beliebig vergeben werden, also soll es die möglichkeit geben eine freie auszuwählen (drop down).

    Das sind zB zahlen von 000-999, wenn 101 in der DB schon vorhanden ist, soll dann halt nur ... 099, 100, 102, 103 ... angezeigt werden.

    Es wäre ja möglich, dass ich alle Werte abfrage und bei der Ausgabe mit einer for-Schleife nur bestimmte ausgebe. Da habe ich mir jetzt aber gedacht, dass dies rel. aufwendig ist und es da vielleicht eine schnellere/schon implementierte Lösung gibt.

    lg Dirm

  • #2
    Jeder Eintrag bekommt eine ID, die darf aber nicht ganz beliebig vergeben werden, also soll es die möglichkeit geben eine freie auszuwählen (drop down).
    Normalerweise überlässt man sowas der DB und dem PRIMARY KEY, den diese selber jedem Datensatz gibt. Dann achtet die DB darauf, dass kein KEY zweimal vergeben wird. Allerdings wirst du nach dem Löschen von KEY 99 die DB nicht dazu bringen, den KEY einfach ein zweitesmal zu verwenden. Aber das ist gut so, denn sonst könnte es dazu führen, dass Daten aus unterschiedlichen Tabellen falsch verknüpft werden, wenn sich eine Tabelle auf den PRIMARY KEY einer anderen bezieht.
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Hi!

      Normalerweise überlässt man sowas der DB und dem PRIMARY KEY, den diese selber jedem Datensatz gibt.
      Ja das ist schon klar. Die Datensätze werden DB-intern nummeriert.

      Allerdings gibt es eine Feld, dass ebenfalls als Unique markiert ist (Artikelnummern).
      Diese Artikelnummer wird aber vom Benutzer ausgewählt - er soll aber sehen welche noch verfügbar sind.

      lg Dirm

      Kommentar


      • #4
        Ich würde in diesem Fall aber die Artikelnummern als Integer anlegen
        Code:
        SELECT artikelnr FROM tabelle ORDER BY artikelnr ASC
        dann liest du die Artikelnummern in ein Array ($arr) und erstellst mit PHP ein Referenzarray ($array)
        PHP-Code:
        //$arr ist das Array mit den Nummern aus der DB
        $array range(1,$arr[count($arr)-1],1);
        //die Elemente in $array welche in $arr nicht vorkommen sind die Nummern die du suchst
        $arr array_diff($array,$arr); 
        So was in der Art würde ich mal probieren

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar

        Lädt...
        X