tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
287
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    2Pac 2Pac ist offline Mitglied Platin
    Registriert seit
    Jun 2002
    Ort
    Salzwedel
    Beiträge
    605
    Hallo Leute!

    Ich habe ein Turnierscript programmiert! Funktioniert auch super. Nur habe ich ebend das Turnier gestartet. Wir haben mit 64 Leuten gerechnet. Diese waren schnell gefunden und haben sich eingechecked. Doch beim eintragen der Nummer in eine DB hat er bei 2 Usern einfach keine Zahl eingetragen!

    Hier mal der Code:

    PHP-Code:
    $res20 mysql_db_query("$DatabaseName""select nick 
    from fteilnehmer where checkin=1 and 
    nochdrin=1 ORDER BY rand()"
    );
    for(
    $i=1$data=mysql_fetch_array($res20); $i++)
                        {
                         
    $nam $data[0];
                         
                         
    $sqlab "update fteilnehmer set runde1=$i where nick='$nam'";
                         
    mysql_db_query("$DatabaseName"$sqlab);
                        } 
    Kann mir jemand sagen was der Fehler sein kann dafür?
     

  2. #2
    Avatar von SilentWarrior
    SilentWarrior SilentWarrior ist offline Mitglied Diamant
    Registriert seit
    Dec 2001
    Beiträge
    3.078
    Hm... seltsames Konstrukt, das du da hast. Probier's mal so:
    PHP-Code:
    $res20 mysql_db_query($DatabaseName,
    "SELECT nick FROM fteilnehmer WHERE checkin=1 AND
    nochdrin=1 ORDER BY rand()"
    );
    while (
    $date mysql_fetch_array($res20) { // <-- diese Zeile ändern
        
    $nam $data[0];
        
    $sqlab "UPDATE fteilnehmer SET runde1=$i WHERE nick='$nam'";
        
    mysql_db_query($DatabaseName,$sqlab);

     

  3. #3
    2Pac 2Pac ist offline Mitglied Platin
    Registriert seit
    Jun 2002
    Ort
    Salzwedel
    Beiträge
    605
    hmmm und die for schleife vor die auswahl $res ?

    Aber rein theoretisch is doch meins auch net falsch oder?
     

  4. #4
    MiLa MiLa ist offline Mitglied Smaragd
    Registriert seit
    Aug 2003
    Beiträge
    1.166
    Du kannst das Auslesen aus einer MySQL Datenbank auch mit Hilfe einer for() Schleife machen, das ist garkein Problem.
     

  5. #5
    Avatar von SilentWarrior
    SilentWarrior SilentWarrior ist offline Mitglied Diamant
    Registriert seit
    Dec 2001
    Beiträge
    3.078
    Ah, ups, sorry, das hab ich nicht gewusst. Nur wo liegt dann das Problem?
     

  6. #6
    MiLa MiLa ist offline Mitglied Smaragd
    Registriert seit
    Aug 2003
    Beiträge
    1.166
    Setze den Anfangswert von $i mal auf 0, die Datenbank fängt ja normaerweise auch mit dem Anfangswert 0 an...
     

  7. #7
    2Pac 2Pac ist offline Mitglied Platin
    Registriert seit
    Jun 2002
    Ort
    Salzwedel
    Beiträge
    605
    ne das bringts ja nicht! Es solln ja die Werte 1-nummer der datensätze eingetragen werden in die Zeile Runde1 bei jedem User eine Zahl.

    Denn es wird ja Quasi die Datanbank zufälliger Reihenfolge angeordnet und dann jedem User ein Wert zugeschrieben. D.h. es gibt 64 Verschiedene Werte z.b. bei 64 Usern. Und dann kann ich daraus ja die Paarungen ableiten.

    Spieler mit dem Wert1 gegen Spieler mit Wert2 usw. bis 64...

    Es klappte ja auch nur fehlten mittendrin 2 Spielern Werte! Und ich habe keine Ahnung warum?
     

  8. #8
    MiLa MiLa ist offline Mitglied Smaragd
    Registriert seit
    Aug 2003
    Beiträge
    1.166
    Also erstmal definiere für das runde1 Feld den Defaultwert 0, danach probiere es nochmal mit diesem Script...

    PHP-Code:
    $res20 mysql_db_query($DatabaseName,"SELECT nick FROM fteilnehmer WHERE checkin='1' AND nochdrin='1' AND runde1='0' ORDER BY rand()");

    for(
    $i=1$data=mysql_fetch_array($res20); $i++)
    {
      
    $sqlab "UPDATE fteilnehmer SET runde1=".$i." WHERE nick='".$data[nick]."'";
      
    mysql_db_query($DatabaseName,$sqlab);

     

  9. #9
    2Pac 2Pac ist offline Mitglied Platin
    Registriert seit
    Jun 2002
    Ort
    Salzwedel
    Beiträge
    605
    das mit runde1 = 0 geht nicht da alle in der Datenbank runde1 = 0 haben! Aber es sind nicht alle von denen Teilnehmer am Turnier!

    Das mit default 0 habe ich schon vorher so gehabt.
     

  10. #10
    MiLa MiLa ist offline Mitglied Smaragd
    Registriert seit
    Aug 2003
    Beiträge
    1.166
    Es ist dann in diesem Fall doch nur ein zusätzlicher Filter...also probiere den Code von mir doch mal...
     

Ähnliche Themen

  1. Popup Fenstergröße nicht ganz korrekt
    Von Bitnets im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 16.08.06, 13:26
  2. Ausrichtung mit float nicht ganz korrekt
    Von Watusimann im Forum CSS
    Antworten: 3
    Letzter Beitrag: 12.03.06, 18:12
  3. Antworten: 1
    Letzter Beitrag: 08.03.06, 16:41
  4. Antworten: 2
    Letzter Beitrag: 15.02.06, 15:24
  5. Antworten: 0
    Letzter Beitrag: 09.02.04, 09:33