Ein Anfangs- und Endwert (Formular) soll separate Datensätze in einer DB generieren

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

  • Ein Anfangs- und Endwert (Formular) soll separate Datensätze in einer DB generieren

    Auf einer Website (php) wird ein Anfangs- und ein Endwert (Seriennummer und Kunde) in ein Formularfeld geschrieben. Diese Werte müssen dann automatisch in einzelnen Datensätzen in einer DB (mySQL) abgelegt werden.

    Das sieht ungefähr folgendermassen aus:

    Website:
    Seriennummer von: 96/120.001
    Seriennummer bis: 96/120.008
    Kunde: Muster AG

    =>

    in mySQL:
    id Seriennummer Kunde
    1 96/120.001 Muster AG
    2 96/120.002 Muster AG
    3 96/120.003 Muster AG
    4 96/120.004 Muster AG
    5 96/120.005 Muster AG
    6 96/120.006 Muster AG
    7 96/120.007 Muster AG
    8 96/120.008 Muster AG

    Wie man sieht, sind die letzten 3 Ziffern inkremental (plus 1). Für allfällige Lösungsvorschläge bin ich sehr dankbar.

    MfG
    alfu71

  • #2
    PHP-Code:
    von '98/120.983';
    $bis '98/121.016';

    $von = (int)implode(preg_split('%\\D%'$von));
    $bis = (int)implode(preg_split('%\\D%'$bis)) + 1;

    while (
    $von $bis)
        echo 
    preg_replace('%([\\d]{2})([\\d]{3})([\\d]{3})%''$1/$2.$3'$von++).'<br />'
    das passt auch, wenn es nicht nur um den letzten dreierblock geht
    EDIT:
    gewöhn dich bloß nicht dran
    EDIT:
    backslashes ergänzt
    Zuletzt geändert von mrhappiness; 05.01.2005, 09:58.
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Danke mrhappiness für den Hinweis.

      Ich nehme mal an, dass vor dem "von" in der ersten Zeile auch ein $ kommt. Wie man auf http://www.furrer.at sieht, ist aber die Ausgabe nur 98. Komme da ohne Hilfe nicht weiter.

      Besten Dank
      alfu71

      Kommentar


      • #4
        ein wenig kreativ sein ... *gg*

        PHP-Code:
        <?php

        $von 
        '98/120.983';
        $bis '98/121.016';

        $von = (int)preg_replace('![^0-9]!'''$von);
        $bis = (int)preg_replace('![^0-9]!'''$bis) + 1;

        while (
        $von $bis)
            echo 
        preg_replace('%([\d]{2})([\d]{3})([\d]{3})%''$1/$2.$3'$von++).'<br />';


        ?>
        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


        • #5
          hab oben die backslashes ergänzt, die hat jemand verschluckt
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Tolle Sache, jetzt werden die Seriennummer im Browserfenster http://www.furrer.at ausgegeben.

            Werde mich nun bemühen, die Daten von einem Formular her mittels ihrem PHP Script in die Datenban zu kriegen.

            MfG
            alfu71

            Kommentar

            Lädt...
            X