• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Formular select, option?

Status
Für weitere Antworten geschlossen.

stommy

Neues Mitglied
hallo,
ich habe folgendes Problem.

Ich würde gerne ein Formular erstellen, bei dem in einem Auswahlkasten ein bestimmtes Jahr aussuchen muss. Wie mache ich diese Auswahl im script übersichtlicher? Ich würde gerne die Jahre von 1970 bis 2010 zur auswahl geben, aber mir fällt keine Möglichkeit ein dies zu vereinfachen, denn dutzende male zu schreiben:

<option value="1">1970</option>
<option value="2">1971</option>
<option value="3">1972</option>

ist mit Sicherheit nicht die beste Lösung.
 
Werbung:
aber die einfachste.
ansonsten könntest du das mit php machen (2 variablen, die eine ab 1, die andere ab 1970 hochzählen lassen). oder mit javascript. wenn dann js aber deaktiviert ist, hast du ein problem.
 
Werbung:
PHP:
for($i=1970;$i<=2010;$i++)
{
    echo "<option value=\"".($i-1969)."\">$i</option>";
}

so ausm kopf würd ichs so machen.
 
PHP:
<?php

$sy = 1970;

echo '<form  action="ausgabe.php" method="post">
<select size="1"  name="startjahr">';

for ($i=1;$i<=41;$i++)
{ echo '<option  value="$i">'; echo "$sy"; echo  '</option>';
$sy++;
}
echo'</select>';
?>
so weit war ich, doch dann hatte ich mit value ein Problem :(

kannst du das mit deiner value bitte erklären, \"".($i-1969)."\"

oder falls es schon einmal erklärt wurde den link posten, wo es erklärt wurde?

 
das was du gemacht hast müsste doch eigentl. auch gehen.

$i zählt ja von 1970 bis 2010
und value demensprechend von 1 bis 41

1970 ( also $i ) - 1969 = 1
2010 ( also $i im letzten durchlauf ) - 1969 = 41

ist nur dass du dir die 2. variable sparst.
 
Werbung:
probier mal $i in { } zu setzten, also {$i}
sonst den string beenden und mit . anknüpfen.

... value ="'.$i.'" ...

"' sind " (doppelte) und dan ' ( einfache )
 
okay danke, mit den Klammern klappt es nicht, da wird der Wert dann unendlich oft übertragen.

mit . angeknüpft, also auch mit doppelten und einfachen Anführungszeichen klappt es dann.
 
Werbung:
ich würde es so machen:
PHP:
<?PHP
$liste = '<select name="jahr">';
for($i=1970;$i<=2010;$i++)
{
    $liste .= "<option value=\"".$i."\">$i</option>";
}
$liste .= "</select>";

/ an einer beliebigen stelle im code dann
echo $liste;
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben