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-Key: 375388

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

Printed on: April 24, 2024 at 22:04 o'clock

Member: bloodstix
bloodstix May 29, 2018 at 13:28:10 (UTC)
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
Member: Sanastasia
Sanastasia May 29, 2018 at 13:56:44 (UTC)
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.
Member: em-pie
em-pie May 29, 2018 at 14:31:50 (UTC)
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
Member: Sanastasia
Sanastasia Jun 01, 2018 at 13:17:44 (UTC)
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>
Member: bloodstix
bloodstix Jun 05, 2018 at 14:17:27 (UTC)
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