Tobias: +PHP - zum teil falsche Einträge?

Hallo,
ich habe grad folgendes Phänomen.
Ich schreibmir nen kleines proggie mit hilfe von php und mysql mit dem ich meine wettkampfzeiten  in übersicht behalte (da kommt dann sowas rein, wie was wann, wielang).
Jedenfalls wenn ich nun meine Daten über ein Formular eingegebn habe und er es dannin die Datenbank einträgt, schreibt er bei manchen strecken nur 00:00:00 als Zeit rein. Es ist aber keine regelmäßigkeit zu erkennen.
Ich lasse mir den Inhalt der Variablen die in die Datenbank geschriben worden sind immer noch mal ausgeben und da steht definitiv das richtige drin.

Seht ihr irgenwo meinen fehler?

<?php
$wettkampf=$_SESSION['wettkampf'];
$von=dateorder($_SESSION['von']);
$bis=dateorder($_SESSION['bis']);

$sql = "INSERT INTO wettkampf (id,name,von,bis) ";
$sql .= "VALUES ( '','$wettkampf','$von','$bis');";
mysql_query($sql) or die (mysql_error());
$wkid = mysql_insert_id();

for($i=0;$i<$_SESSION['anzahl'];$i++)
 {$strecke=$_GET['strecke'][$i];
  $zeit=$_GET['zeit'][$i];
  $staffel=$_GET['staffel'][$i];
  if($staffel=="0") $staffel="00:00:00";
  $platz=floor($_GET['platz'][$i]);

$sql = "INSERT INTO zeiten(id,wkid,strecke,zeit,staffel,platz) ";
  $sql .= "VALUES ( '','$wkid','$strecke','$zeit','$staffel','$platz');";

mysql_query($sql) or die (mysql_error());
?>

Vielen Dank für eure Hilfe

Tschau

Tobias

--
http://www.tobiasklare.de
fo:) ch:? rl:( br:^ n4:° ie:{ mo:) va:| fl:) ss:| ls:<
Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
  1. Die for-schleife ist geschlossen. hab bloß vergessen das mit reinzukopieren, da dazwischen noch was steht.

    Tobias

    --
    http://www.tobiasklare.de
    fo:) ch:? rl:( br:^ n4:° ie:{ mo:) va:| fl:) ss:| ls:<
    Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
    Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
    1. Hi Tobias,
      Wie sieht denn die Tabelle aus?
      Vermutlich liegt es in der Definition der Felddatentypen.
      Je nach dem wie Du die definmiert hast kommt entweder das Richtige an oder auch nicht.

      TomIRL

      1. Hallo,
        also die tabelle wettkampf hat folgende felddatentypen:
        int (auto_increment),text,date,date

        und zeiten

        int (auto_increment),int,text,time,time,int

        Die Zeiten haben aber das richtige format bevor sie eingetrafegn werden sollen.

        Tschau

        Tobias

        --
        http://www.tobiasklare.de
        fo:) ch:? rl:( br:^ n4:° ie:{ mo:) va:| fl:) ss:| ls:<
        Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
        Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
        1. Hallo,
          also die tabelle wettkampf hat folgende felddatentypen:
          int (auto_increment),text,date,date

          und zeiten

          int (auto_increment),int,text,time,time,int

          Die Zeiten haben aber das richtige format bevor sie eingetrafegn werden sollen.

          Kann keinen Fehler so auf den ersten Blick finden, hast Du was zum Testen da?
          Sonst könnte nur das bei der Suche nach dem Fehler helfen:

          http://www.mysql.de/doc/de/TIME.html

          Insbesondere die Formate:
          Sie können TIME-Werte in einer Vielzahl von Formaten angeben:
          <zitat>
          Als eine Zeichenkette im 'D HH:MM:SS.bruchteil'-Format. (Beachten Sie, dass MySQL bislang nicht den Bruchteil für die TIME-Spalte speichert.) Man kann auch folgende ``entspannte'' Syntax benutzen: HH:MM:SS.bruchteil, HH:MM:SS, HH:MM, D HH:MM:SS, D HH:MM, D HH oder SS. Hierbei ist D Tage zwischen 0 und 33.
          Als eine Zeichenkette ohne Begrenzer im 'HHMMSS'-Format, vorausgesetzt, dass diese als Zeitangabe einen Sinn ergibt. '101112' zum Beispiel wird als '10:11:12' interpretiert, aber '109712' ist unzulässig (es hat einen Minutenanteil, der keinen Sinn ergibt) und wird in '00:00:00' umgewandelt.
          Als eine Zahl im HHMMSS-Format, vorausgesetzt, dass diese als Zeitangabe einen Sinn ergibt. 101112 zum Beispiel wird als '10:11:12' interpretiert. Folgende alternativen Formate werden ebenfalls verstanden: SS, MMSS, HHMMSS, HHMMSS.bruchteil. Beachten Sie, dass MySQL bislang noch nicht den Bruchteil speichert.
          Als Ergebnis einer Funktion, die einen Wert zurück gibt, der in einem TIME-Zusammenhang akzeptabel ist, wie CURRENT_TIME.
          </zitat>
          Ich vermute Du gibst irgendwas mit oder irgendwas ohne führende Null an.
          Und das mag er eben nicht, weil es keinen Sinn für Ihn ergibt deshalb setz er es auf 00:00:00.
          Wobei die führende Null nicht nur bei den Stunden fehlen kann, sondern auch bei den Minuten oder Sekunden.
          Dazu müßte man aber genau Dein Eingabeformular kennen.

          Viel Grüße aus Berlin

          1. Hallo,
            vielen Dank. Vielleicht sollt ich beim nächsten mal lesen auch mein Gehirn einschalten. ich hatte mir die Doku schon angegekuckt und war der meinung alles richtig gemacht zu haben.
            War aber nicht so. TIME ist ja für ne Uhrzeit zuständig, ich hab ja immer ne Dauer angegeben. Und wenn dann in den hundersteln was von 99 oder so stand gabs natürlich Probleme.

            Tschau

            Tobias

            --
            http://www.tobiasklare.de
            fo:) ch:? rl:( br:^ n4:° ie:{ mo:) va:| fl:) ss:| ls:<
            Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
            Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode