Datum aus Dropdown umbauen

Karlzberg

Erfahrenes Mitglied
Hallo,

ich habe ein kleineres Problem beim Verwerten eines Datums:

hinter der Jahreszahl erscheint ständig ein Minus, von dem ich nicht weiß, wo es herkommt. Der Code dazu sieht folgendermaßen aus:

PHP:
<select name="datum[jahr]">
      <?php
      for($i=2007;$i<=2010;$i++)
      {
      	echo "<option value=".$i."->".$i."</option>";
      }
      ?> 

      </select>
      <select name="datum[monat]">
        <option value="01">Januar</option>
        <option value="02">Februar</option>
        <option value="03">März</option>
        <option value="04">April</option>
        <option value="05">Mai</option>
        <option value="06">Juni</option>
        <option value="07">Juli</option>
        <option value="08">August</option>
        <option value="09">September</option>
        <option value="10">Oktober</option>
        <option value="11">November</option>
        <option value="12">Dezember</option>
      </select>
      <select name="datum[tag]" onchange="checkday()">
      <?php
		for($i=1;$i<=31;$i++)
      	{
      		if($i < 10)
      		{
      			$i = "0".$i;	
      		}
      	
        	echo "<option value=".$i.">".$i."</option>";
      	}
      ?>
      </select></td>

Vielen Dank schonmal im Voraus für Eure Hilfe :)
 
Zuletzt bearbeitet:
Zum ersten Problem: Schau dir folgenden Auszug mal genauer an:
PHP:
echo "<option value=".$i."->".$i."</option>";

Zum zweiten Problem: Am besten verwendest du einen datenbankinternen Datumstyp und formatierst sie für die Ein- beziehungsweise Ausgabe entsprechend.
 
Hallo!

Was für eine Datenbank nutzt du denn? Bei MySql ist das Datumsformat zum Beispiel yyyy-mm-dd, und es kann dann in php nach Wunsch umgestaltet werden...
zum Beispiel mithilfe eines Timestamps:

PHP:
$newdate = strtotime($datum);
$newdate = date('d.m.y', $newdate);

$datum wäre dann das Datum aus der Datenbank...

Und du solltest eigentlich auch aus dem Array das gewünschte Datum erstellen können, etwa:

PHP:
$datum = $_POST[datum[tag]].".".$_POST[datum[monat]].".".$_POST[datum[jahr]];

Da kannst du dir die Reihenfolge aussuchen und die Trennzeichen natürlich auch.

Ich hoffe, dass funktioniert auch alles so ;-) sonst muss noch jemand Verbesserungsvorschläge anbringen... aber vielleicht hilft das ja schon weiter.

Gruß
Berdine
 
Schonmal Danke für die Hilfe. Das Datum brauche ich hier nicht extra für die DB anpassen, da ich keine Sortierung nach Datum benötige. Aber dieses Prob hatte sich ja eh erledigt (siehe edit).

@ Gumbo:
genau den Teil hatte ich mir auch schon angesehen, kann ja auch nur daran liegen. Allerdings bin ich entweder zu blöd, oder stehe gewaltig auf dem Schlauch, so dass ich den Fehler dort nicht finde.
 
Hallo Karlzberg

Versuchs mal so:
PHP:
echo "<option value=' ".$i." '>".$i."</option>";

Dann hast du dein Minus nach der Zahl weg.. zudem würde ich dir auch die ' ' empfehlen.. Sieht schöner aus im Source der Page. Wenn du die ' ' setzt, hättes du das Minus eventuell gefunden :)

Grüsse

Xloouch
 
Zuletzt bearbeitet:
Genau das hatte ich schon versucht, aber das will nicht funktionieren. Ich habe es jetzt also nochmal probiert, und -falls ich wirklich blöd bin- extra mal noch xloouch's Zeile reinkopiert. Dennoch bleibt das Minuszeichen bestehen.
 
Ich sollte wohl mal noch vorsichtshalber erwähnen, dass ich noch PHP-Anfänger bin (falls Ihr das noch nicht herausgefunden habt ;) ) und mir PHP momentan selbst beibringe.

Wenn ich Deine Frage also richtig verstehe, dann arbeite ich momentan noch lokal auf meinem eigenen Server, später wird das ganze aber online auf einen webserver gestellt, wenn ich fertig bin. Wenn das nicht Deine Frage war, dann stelle sie bitte für Dummies ;)
 
Zurück