Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit While-Schleife

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

  • Problem mit While-Schleife

    Hi zusammen!

    Mit folgendem Code generiere ich eine Kundennummer und überprüfe ob diese bereits vorhanden ist. Ist dies der Fall, sollte die Kundennummer erneut generiert werden. Wenn Sie nicht vorhanden ist soll sie in die Datenbank eingetragen werden:

    PHP-Code:
        // Kundennummer generieren
    function kundennummergenerator(){
        
    $number2 7;
        
    $zeichen2 "1234567890";

        
    srand((double)microtime()*1000000); 
        for(
    $i2 0$i2 $number2$i2++)
        {
          
    $kundennummer .= substr($zeichen2,(rand()%(strlen ($zeichen2))), 1);
        }
        return 
    $kundennummer;
    }


        
    // Überprüfen ob Kundennummer bereits vorhanden ist
    $isNum "0";

    while(
    $isNum "1") {
    $kundennummer kundennummergenerator();
    $query "Select count(id) as num from tab_members where kundennummer='$kundennummer'";
    $result mysql_query($query);
    if (
    mysql_errno()) die ("MySQL-Fehler: " mysql_error());
    $num mysql_result($result"num");
    if(!
    $num) {
    $isNum "1";
    $schreiben "INSERT INTO tab_members (kundennummer) VALUES ('$kundennummer')";
    $eintragen mysql_query($schreiben)
    or die(
    mysql_error());
    }

    Problem: Die Schleife läuft mehrere tausend mal durch, obwohl in der Datenbank von Anfang an erstmal keine Kundennummer eingetragen ist.
    Wer Rechtschreibfehler findet, darf sie behalten!

  • #2
    AW: Problem mit While-Schleife

    Hmm, so richtig verstehe ich es nicht, denn du sagst:
    PHP-Code:
    $isNum "0"
    Und dann:
    PHP-Code:
    while($isNum "1") { 
    Damit ist $isNum 1...
    Sonst müsstest du es so machen:
    PHP-Code:
    while($isNum == 1
    Was mich aber immer noch verwundert, denn dann dürft die Schleife gar nicht in Gang kommen, weil die Bedingung if, die $isNum umschreibt zu 1, in der Schleife ist...

    Kommentar


    • #3
      AW: Problem mit While-Schleife

      http://www.alexander-projects.de/?id=3&uid=18

      Wie mi-schi schon gesagt hat: in der Schleife muss eine Bedingung in den Klammern stehen, und keine Zuweisung...ich denke mal es handelt sich um nen Tippfehler.

      Aber die Zeile davor
      PHP-Code:
      $isNum "0"
      macht definitiv keinen Sinn?

      Dann wird ja die Schleife nie durchlaufen?

      Gruß
      Alex

      Kommentar


      • #4
        AW: Problem mit While-Schleife

        Zitat von Al3x Beitrag anzeigen
        http://www.alexander-projects.de/?id=3&uid=18

        Wie mi-schi schon gesagt hat: in der Schleife muss eine Bedingung in den Klammern stehen, und keine Zuweisung...ich denke mal es handelt sich um nen Tippfehler.

        Aber die Zeile davor
        PHP-Code:
        $isNum "0"
        macht definitiv keinen Sinn?

        Dann wird ja die Schleife nie durchlaufen?

        Gruß
        Alex
        natürlich wird die schleife durchlaufen, und zwar unendliche viele male. php weist zuerst der variablen $isNum=1 zu und wertet die variable $isNum dann aus. da der wert 1 als TRUE angesehen wird, läuft die schleife.

        aber mal ne andere frage: wenn die kundennummern sowieso aus zahlen bestehen, warum so schwer machen? wie wärs denn mit nem auto_increment bei mysql, dafür ists doch da. du musst nur temporär manuell einmal einen eintrag mit der start nummer vergeben. mysql erhöht ab diesem wert dann automatisch. dann brauchst du dich garnicht drum zu kümmern.
        AC/DC Fanpage www.ifyouwantblood.de
        Nein zur Zensur im Internet und anderswo - Anonymous

        Kommentar


        • #5
          AW: Problem mit While-Schleife

          aber mal ne andere frage: wenn die kundennummern sowieso aus zahlen bestehen, warum so schwer machen? wie wärs denn mit nem auto_increment bei mysql, dafür ists doch da. du musst nur temporär manuell einmal einen eintrag mit der start nummer vergeben. mysql erhöht ab diesem wert dann automatisch. dann brauchst du dich garnicht drum zu kümmern.
          Da hätte man aber eine (am Anfang) nur einstellige, dann zweistellige Zahlen. Das sieht doch nicht aus....
          So eine Kundennummer weißt auf Sicherheit hin:
          645465416316549120504145415048406
          und macht bestimmt Freude, anzusagen (bei Supportfällen)^^

          Kommentar


          • #6
            AW: Problem mit While-Schleife

            Außerdem wäre mit das als Verkäufer peinlich, wenn man als Käufer die Kunden-Nr. 1 bekommt ^^

            Kommentar


            • #7
              AW: Problem mit While-Schleife

              Zitat von Der Unbekannte Beitrag anzeigen
              Außerdem wäre mit das als Verkäufer peinlich, wenn man als Käufer die Kunden-Nr. 1 bekommt ^^
              ich sagte bereits, dass er temporär einen eintrag im feld kundennummer mit der startnummer machen soll. mysql speichert diesen wert dann als letzten autoincrement wert und erhöht diesen anschließend bei weiteren einträgen um eins.....somit kann er auch mit der kundennummer 10000000 anfangen....
              AC/DC Fanpage www.ifyouwantblood.de
              Nein zur Zensur im Internet und anderswo - Anonymous

              Kommentar


              • #8
                AW: Problem mit While-Schleife

                Hmm, stimmt, so geht es auch.

                Kommentar

                homepage-forum.de - Hilfe für Webmaster! Statistiken

                Einklappen

                Themen: 57.212   Beiträge: 432.343   Mitglieder: 29.602   Aktive Mitglieder: 48
                Willkommen an unser neuestes Mitglied, Igordny.

                Online-Benutzer

                Einklappen

                1088 Benutzer sind jetzt online. Registrierte Benutzer: 0, Gäste: 1088.

                Mit 4.707 Benutzern waren am 12.01.2023 um 03:07 die meisten Benutzer gleichzeitig online.

                Die neuesten Themen

                Einklappen

                • Melojezzed
                  Read More Button
                  Hallo zusammen,

                  ich habe eine Webseite mit Elementor erstellt. Leider gibt es bei Elementor keinen "Read More" oder "Mehr erfahren" Button (ich wollte nicht das Accordion). Nun hab ich mir den Button selbst programmiert, jedoch hab ich zwei Dinge, die ich gerne noch...
                  Gestern, 21:42
                • HostZealot
                  Dedizierte Server | VPS |
                  HostZealot ist ein Anbieter von Server- und Webhosting-Infrastrukturen mit einem Netzwerk von hochwertigen Serverlösungen auf der ganzen Welt. Wir bieten eine Vielzahl von erschwinglichen Plänen für Dedizierte Server und Virtuelle Private Server sowie Shared Hosting und Colocation in einer Vielzahl...
                  30.03.2023, 22:38
                • Denno22
                  Unterstützung beim einbinden eines Captcha in der Kontakt.html Seite
                  Hallo Leute,


                  ich bin ziemlich neu hier und habe ein Problem, ich hoffe das mir weitergeholfen werden kann.

                  Ich habe eine Webseite, wo ich in der Kontakt.html einen Captcha einbinden soll, aber ich komme mit der Anweisung oder Dokumentation nicht zurecht.

                  ...
                  30.03.2023, 19:37
                • bodan
                  ChatGPT wandert in die Dienste ein: MS bringt ChatGPT nun für Win 11, Teams, u.v.a.m
                  ChatGPT wandert in die Dienste ein: Microsoft bringt ChatGPT nun für Windows 11, diverse Mobil-Apps, Teams sowie auch Skype

                  vor wenigen Tagen haben wir berichtet darübr, dass Microsoft die neuen ChatGPT-Versionen in Bing und Edge einsetzen will.
                  Durch Googles Freigabe von Bard ist...
                  30.03.2023, 19:17
                • bodan
                  WordPress 6.2 „Dolphy“ ist da: mehr als 600 Mitwirkenden aus 50 Ländern
                  WordPress 6.2 „Dolphy“ ist da: mehr als 600 Mitwirkenden aus 50 Ländern haben sie ermöglicht, von denen 178 zum ersten Mal beigetragen haben. Aktualisiert noch heute, um Zugriff auf all diese neuen Funktionen und Fehlerbehebungen zu erhalten. Alle über 900 Änderungen (neue Features und Fixes)...
                  30.03.2023, 00:31

                Die neuesten Beiträge

                Einklappen

                Lädt...
                X