sanastasia
Goto Top

PHP Auswahlliste Select über Funktionen

Hallo,
ich möchte mit PHP eine Auswahlliste erstellen, also z.b. Menü A, Menü B, Menü C, Menü D.Hierfür benutze ich select, um das umzusetzen möchte ich select über Funktionen aufrufen.
Ich verstehe leider nicht wirklich wie ich das anstellen soll.
Kann mir das hier jemand vielleicht erklären?

Danke ;)

Viele Grüße,
Sanastasia

Content-ID: 375388

Url: https://administrator.de/contentid/375388

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

bloodstix
bloodstix 29.05.2018 um 15:28:10 Uhr
Goto Top
Hallo,

ein paar mehr Details und ein kleines "Muster", was du schon versucht hast, wären gut.
Was für ein Select meinst du? SQL-Select? HTML-Input vom Typ Select? Select für Socketoperationen?


Gruß
bloody
Sanastasia
Sanastasia 29.05.2018 um 15:56:44 Uhr
Goto Top
<?php
function dynAuswahl($id,$name,array $options, $multiple = false )

{
	if (isset($_POST["essen"])){  
	$essen = $_POST["essen"];  
		}
	else {
		$essen = "";  
			}
?>
<form action = <?php echo $_SERVER["PHP_SELF"]; ?>"  
method = "post" multiple = "1">  
<select id="essen" name="essen" >  
<option value = "">  
<?php if ($essen=="")echo "selected"?>  
</option>
<option value = "Menü1" , "Menü2", "Menü3", "Menü4"> </option>  
<?php if($essen== ("Menü1" "Menü2" "Menü3" "Menü4")) echo "selected";?>  

<input type="submit" value="abschicken">  
</select>
</form>
</body>
</html>

Aber das ist wahrscheinlich nichtmal im Ansatz richtig. Hatte da mal was in dem stil:
<select id = "dynAuswahl" name="Auswahlliste" size="4" multiple >
<option value="1">Menü1</option>
<option value="2">Menü2</option>
<option value="3">Menü3</option>
<option value="4">Menü4</option>
</select>

Aber will es jetzt doch über Funktionen haben.


Wenn jemand Zeit hätte hätte ich dann noch was wegen objektorientierter Programmierung in php, sollte da was erstellen aber bin mir echt unsicher ob man da was mit anfangen kann.
em-pie
em-pie 29.05.2018 um 16:31:50 Uhr
Goto Top
Moin,

du meinst in etwas so (eben zusammen getippt, Fehler müsstetst du korrigieren):

<HTML>
 ...

 <?php $arrMenu = array("Menue1", "Menue2", "Menue3", "Menue4", "Menue5"); ?>  

 <FORMS>
  ...
  <?php ListMenue($arrMenu); ?>
  ...
 </FORMS>
</HTML>



<?php
 function ListMenue($myArray) {
  $x=0;
  echo '<select id = "dynAuswahl" name="Auswahlliste" size="4" multiple >';  
  foreach($myArray as $item) {
  $x = $x+1;
   echo '<option value="'. $x . '">' . $item . '</option>';  
   }
  }
?>

Gruß
em-pie
Sanastasia
Sanastasia 01.06.2018 um 15:17:44 Uhr
Goto Top
So, hab jetzt einen neuen Ansatz hierfür, das einzige was nicht klappt ist das immer diese:
Notice: Array to string conversion in C:\Xampp2\htdocs\blub.php on line 64
Notiz kommt, und mehrfachauswahl nicht möglich ist.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />  
<title>Auswahlliste dynamisch generieren</title>
</head>
<body>
<form action ="blub.php" method = "post">  
<p>
<select id='dynamisch1' name='auswahl1'>  
<option value='Brot'>Brot</option>  
<option value='Butter'>Butter</option>  
<option value='Milch'>Milch</option>  
<option value='Eier'>Eier</option>  
</select>
</p>
<p>
<select id="dynamisch2" name="auswahl2" size="5" multiple>  
<option value="Schrauben">Schrauben</option>  
<option value="Nägel">Nägel</option>  
<option value="Nadeln">Nadeln</option>  
<option value="Haken">Haken</option>  
<option value="Dübel">Dübel</option>  



</select>
</p>
<input type="submit" value="abschicken">  
</form>
</body>
<body>
<?php
if (isset($_POST["auswahl1"]))  
{ $auswahl1 = $_POST["auswahl1"];  
  $auswahl2 = $_POST["auswahl2"];  
dynAuswahl();

}
else
{ $auswahl1 = "";  
  $auswahl2 = "";  
}

?>

<?php
function dynAuswahl()
{echo "<ul>\n";  
{if ($_POST["auswahl1"] == "")  
	{echo "<p>Bitte wählen Sie.</p>";}  
	else {
		
		if ($_POST["auswahl1"] != "") {  
			echo "<li>{$_POST["auswahl1"]}</li>\n";  
			
		}
	}
}
{if ($_POST["auswahl2"] == "")  
	{echo "<p>Bitte wählen Sie.</p>";}  
	else {
	    if ($_POST["auswahl2"] != "") {  
			echo "<li>{$_POST["auswahl2"]}</li>\n";  
			
		
		}
	}
}
echo "</ul>\n";  
}
?>
	</body>
</html>
bloodstix
bloodstix 05.06.2018 um 16:17:27 Uhr
Goto Top
Hi,

$_POST['auswahl2'] ist ein Array. Du hast ja dem Formfield den Namen "auswahl2" gegeben.
So sollte es eher aussehen:
if(count($_POST['auswahl2'])) {  
    foreach($_POST['auswahl2'] as $auswahl) {  
     /* .... */
    }
}

Wenn du dir unsicher bist, was genau hinter einer Variable steckt, kannst du dir die zu Übungszwecken gut formatiert mit
echo "<pre>" . print_r($_POST['auswahl2'], true) . "</pre>";  
ausgeben lassen.

Gruß
bloody