auswahlliste

Nabi

Erfahrenes Mitglied
mit diesem code kriegt man ein auswahlliste mit 5 elemente , die 5 elemente sollen
sichtbar sein , wenn ich das code ausführe , wird dann eine auswahlliste angezeigt
mit nur 4 elemente , der fünfte ist versteckt , da muss man die scrollrolle der liste nutzen
es muss ein fehler geben weil: size="<?php echo count($themen) ?>" size soll gleich
5 sein , wenn dass so ist , warum wird eine liste mit nur 4 sichtbare elemente angezeigt

danke in voraus für jede antwort
note: mit diesem code gehört auch function1.inc.php , habe ich unten geschrieben.
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<?php
include("./function1.inc.php");?>
<html>
<head>
<title>Dynamische Mehrfach- Auswahl</title>
</head>
<body>
<form name="form1" method="post" action="<?php echo $PHP_SELF ?>">
<p>
<select name="thema[]" size="<?php echo count($themen) ?>" multiple>
<?php
setze_hobbies();
?>
</select>
</p>
<p>
<input type="submit" name="Submit" value="Submit">
</p>
</form>
<?php
echo form_ausgabe(); ?>
</body>
</html>

PHP:
<?php
// Auswahllisten Funktion für Hobbies
function setze_hobbies(){
$themen = array("AU"=>"Autos","FI"=>"Filme",
"ES"=>"Essen",
"SP"=>"Sport",
"CO"=>"Computer");
foreach ($themen as $key=>$element){
echo "<option value=$key>$element</option>";
}
}
//Ausgabe der ausgewählten Werte mit Hilfe des globalen
// Arrays $_POST
function form_ausgabe() {
if ($_POST['thema']) {
echo "Es sind folgende Themen enthalten:<br>";
foreach($_POST['thema'] as $element){
echo "$element<br>";
}
}
}
?>
 
wenn $themen sich nicht von Außen zugreifen lässt, warum count($themen) ;
wurde 4 gerechnet , wieso nicht 3 oder 1 (als standard wert) .
 
Lösungsvorschlag:

PHP:
<?php
    // Auswahllisten Funktion für Hobbies
    $themen = array("AU"=>"Autos","FI"=>"Filme", "ES"=>"Essen", "SP"=>"Sport", "CO"=>"Computer");
    
    function setze_hobbies($a){
    foreach ($a as $key=>$element){
           echo "<option value=$key>$element</option>";
           }
     }
    //Ausgabe der ausgewählten Werte mit Hilfe des globalen
    // Arrays $_POST
    function form_ausgabe() {
    if ($_POST['thema']) {
    echo "Es sind folgende Themen enthalten:<br>";
        foreach($_POST['thema'] as $element){
              echo "$element<br>";
        }
       }
     }
?>
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<?php include("./function1.inc.php");?>

<html>

    <head>
        <title>Dynamische Mehrfach- Auswahl</title>
    </head>

    <body>
        <form action="<?php echo $PHP_SELF ?>" method="post" name="form1">
            <p><select name="thema[]" size="<?php echo count($themen) ?>" multiple>
<?php setze_hobbies($themen) ?>
    </select></p>
    <p><input type="submit" name="Submit" value="Submit"></p>
    </form>
<?php echo form_ausgabe() ?>
    </body>

</html>
 
ich habe noch eine frage , paar kleinigkeiten die ich nicht kapieren konnte
im code befindet sich
echo form_ausgabe() // wozu ist echo? , zum ausgeben? die funktion selbst
// ( form_ausgabe ) enthält bereit ein echo funktion ?

die funktion: setze_hobbies($themen) ; // befindet sich auch im selben code
// wurde normal aufgerufen (ohne echo).
 
Zuletzt bearbeitet:
Hallo Nabi, erstmal willkommen im Forum.
Ich moechte Dich bitten Dich in Zukunft an Gross- und Kleinschreibung zu halten. Du magst es zwar sicher gewohnt sein sonst ueberall im Internet nur klein zu schreiben, aber hier achten wir schon darauf, dass Beitraege zumindest einigermassen den Regeln der deutschen Sprache entsprechen, und dazu gehoert nunmal auch die Gross- und Kleinschreibung, welche im Internet ja bekanntlich eher stiefmuetterlich behandelt wird.
 
Nabi hat gesagt.:
ich habe noch eine frage , paar kleinigkeiten die ich nicht kapieren konnte
im code befindet sich
echo form_ausgabe() // wozu ist echo? , zum ausgeben? die funktion selbst
// ( form_ausgabe ) enthält bereit ein echo funktion ?

die funktion: setze_hobbies($themen) ; // befindet sich auch im selben code
// wurde normal aufgerufen (ohne echo).

Vielleicht beruhigt es dich...ich weiss auch nicht, wozu das echo() dort da sein soll :-)
 
Dennis Wronka hat gesagt.:
Ich moechte Dich bitten Dich in Zukunft an Gross- und Kleinschreibung zu halten. Du magst es zwar sicher gewohnt sein sonst ueberall im Internet nur klein zu schreiben, aber hier achten wir schon darauf, dass Beitraege zumindest einigermassen den Regeln der deutschen Sprache entsprechen, und dazu gehoert nunmal auch die Gross- und Kleinschreibung, welche im Internet ja bekanntlich eher stiefmuetterlich behandelt wird.

Kein problem mit Gross- und Kleinschreibung , Mit der Sprache wurde ich meine beste
versuchen , Ich bin leider kein perfekte Deutsch Sprecher, Dafür bitte ich um Verständnis.
 
Zurück