Problem bei aktennummer hochzählen

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

  • Problem bei aktennummer hochzählen

    hallo,

    habe folgenden fehler ich möchte eine akte erstellen wo ich mehrere positionen hinzufügen kann. wo sich aber die Aktennummer nicht erhöht sondern einfach nur die Positionsnummer wenn ich auf den submit button hinzufügen klicke. Ich habe irgendwie ein denkfehler drin. Wenn ich das erste mal die Seite öffne und die positionen hinzufügen möchte klappt das auch.
    Wenn ich aber dann die Seite ganz neu öffne wird auch die aktennummer um eins erhöt aber wenn ich dann auf hinzufügen klicke wirds wieder auf 001 gesetzt und auch so in die datenbank eingetragen.

    Würde mich sehr über eine Idee oder einen Ratschlag freuen, wie ich dies erledigen kann. Den zähler für die Positionen hab ich erstmal rausgelassen. mir ist nur wichtig, das die Aktennummer wenn ich auf hinzufügen klicke sich nicht erhöt und wenn ich die seite generell neu aufrufe dann +1 erhöht.


    PHP-Code:
    if ($test=="")
    {
        
    //Abfrage ob schon eine aktennummer existiert
        
    $abfrage "SELECT aktennummer FROM akten";
        
    $ergebnis mysql_query($abfrage);
        while(
    $row_aktennummer mysql_fetch_object($ergebnis))
        {
        
    $aktennummer$row_aktennummer->aktennummer;
        }
        
    //Wenn keine kundennummer vorhanden dann erstelle eine
        
    if ($aktennummer=="")
        {
        
    $aktennummer '30'.date("dym001");
        }
        
    //wenn schon eine vorhanden ist füre das durch
        
    else
        {
        
    // schneide die letzten 3 Ziffern ab    
        
    $aktennummer substr($aktennummer, -33);
        
    //-> wandle Datentyp in int um und erhöhe um 1
        
    $aktennummer intval($aktennummer) + 1;
        
    //-> überprüfe Nummer und setze je nach Stellenanzahl, die Nullen
            
    if ($aktennummer >=10 && $aktennummer <100)
                
    $aktennummer '0'.$aktennummer;
            else if (
    $aktennummer 10)
                
    $aktennummer '00'.$aktennummer;
                
    $aktennummer_1 ='30'.date("dym");
                
    //-> neue Kundennummer
                
    $aktennummer=$aktennummer_1.$aktennummer;
        }
    }
    else
    {
        
    //Abfrage ob schon eine aktenennummer existiert
        
    $abfrage "SELECT aktennummer FROM akten";
        
    $ergebnis mysql_query($abfrage);
        while(
    $row_aktennummer mysql_fetch_object($ergebnis))
        {
        
    $aktennummer$row_aktennummer->aktennummer;
        }
        
    //Wenn keine aktennummer vorhanden dann erstelle eine
        
    if ($aktennummer=="")
        {
        
    $aktennummer '30'.date("dym001");
        }
        
    //wenn schon eine vorhanden ist füre das durch
        
    else
        {
        
    // schneide die letzten 3 Ziffern ab    
        
    $aktennummer substr($aktennummer, -33);
        
    //-> wandle Datentyp in int um
        
    $aktennummer intval($aktennummer) ;
        
    //-> überprüfe Nummer und setze je nach Stellenanzahl, die Nullen
            
    if ($aktennummer >=10 && $aktennummer <100)
                
    $aktennummer '0'.$aktennummer;
            else if (
    $aktennummer 10)
                
    $aktennummer '00'.$aktennummer;
                
    $aktennummer_1 ='30'.date("dym");
                
    //-> neue aktennummer
                
    $aktennummer=$aktennummer_1.$aktennummer;
        }
    }
    if (isset (
    $_REQUEST["hinzufuegen"]))
    {
    echo 
    $test;
    $eintrag "INSERT INTO akten (aktennummer, datum) VALUES ('$aktennummer','$datum')";
    $eintragen mysql_query ($eintrag);
    $meldung_akten'<font color="#FF0000">akten wurde erstellt.</font>';

    PHP-Code:
    <input type="submit" name="hinzufuegen" value="Hinzuf&uuml;gen">
    <
    input type="hidden" name="test" value="1"
    Zuletzt geändert von chrisibrand; 26.10.2005, 13:42.

  • #2
    Ich würde sagen das Problem Liegt bei dieser Zeile
    PHP-Code:
    // schneide die letzten 3 Ziffern ab
    $aktennummer substr($aktennummer, -33); 
    substr müsste in diesem Fall nämlich die letzen 3 Buchstaben zurückgeben, du aber willst die letzten drei entfernen.

    versuch doch mal die Zeile auf
    PHP-Code:
    $len strlen($aktennummer) - 3;
    $aktennummer substr($aktennumer0$len); 
    Damit müssten die letzten drei weggeschnitten werden.
    Falls du irgendeine Frage zu PHP, HTML, CSS oder Javascript hast sende mir einfach eine E-Mail an sternkinder@gmail.com oder setze dich mit mir per ICQ (255-471-187) in Verbindung.

    Kommentar


    • #3
      Das geht auch einfacher:
      PHP-Code:
      // schneide die letzten 3 Ziffern ab
      $aktennummer substr($aktennummer0, -3); 

      Kommentar


      • #4
        stimmt
        Falls du irgendeine Frage zu PHP, HTML, CSS oder Javascript hast sende mir einfach eine E-Mail an sternkinder@gmail.com oder setze dich mit mir per ICQ (255-471-187) in Verbindung.

        Kommentar


        • #5
          Hi erstma danke für eure antworten.

          Aber ich möchte die letzten drei zahlen nicht abscheiden.

          sondern ich möchte wenn ich auf hinzufügen klicke das die komplette nummer nicht um +1 erhöht wird sondern das die selbe nummer ausgegeben wird. aber nur wenn ich auf hinzufügen klicke.

          wenn ich die seite neu laden soll dann die vorhandene nummer +1 erhöht werden.

          Kommentar


          • #6
            blubb
            Zuletzt geändert von RanzigeMilch; 26.10.2005, 14:05.
            Die Milch bleibt ranzig!

            Kommentar


            • #7
              Ein blubb hilft hier leider nicht weiter.

              Kommentar

              Lädt...
              X