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

option selected

Status
Für weitere Antworten geschlossen.

rosi123

Neues Mitglied
Hallo liebe leute!!
Habe ein problem mit einem Select option...die kategorie nehme ich aus der Datenbank, dann auf der nächsten Seite sollen alle produkte dieser kategorie angezeigt werden...Weiß nicht, wie ich den den ausgewählten Datensatz bekomme, weil mit einem normalen Post geht das nicht....schauts euch mal an:

Artikel.php

<td><select name="kategorie" id="kategorie">
<?php
$result = mysql_query("SELECT DISTINCT kategorie FROM energie");
while($row = mysql_fetch_assoc($result)){
$kategorie = $row -> kategorie;
echo "<option value=>$row[kategorie]";
}
?>
</select>

Artikel2.php
 
Ich verstehe die Frage nicht. Fehlt da außerdem ein Artikel2.php?

Wenn Du ein Formular hast, wird natürlich auch die selected Option eines selects mit übergeben.
 
Ich verstehe die Frage nicht. Fehlt da außerdem ein Artikel2.php?

Wenn Du ein Formular hast, wird natürlich auch die selected Option eines selects mit übergeben.

<? $kategorie=$_Post['kategorie'];
echo $kategorie;
?>

Das habe ich in Artikel2.php drin, um zu testen was mir ausgegeben wird, aber da kommt eine leere seite....
 
Änder method="post" in method="get" und schau in die Adresszeile Deines Browsers, ob der Wert (richtig) übergeben wird.
 
es passiert nach wie vor nichts...

<?php
session_start();
if(!isset($_SESSION['user_res']) || $_SESSION['user_res'] == "")
die("Required<code></code> Session not found!");
$ses = $_SESSION['user_res'];
$user_data = explode("_",$ses);
$uID = $user_data[0];
$db_server = "localhost";
$db_name = "foodcoach";
$db_user = "root";
$db_passwort = "";
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen!");
$db_check = @MYSQL_SELECT_DB($db_name);
?>
<html>
<body>

<table><tr><td><?php $kategorie=$_GET["kategorie"];
echo "<h1>$kategorie</h1>";?></td></tr>
<tr><td>Produkt</td><td>Kalorien</td></tr>
<?php
$result=mysql_query("SELECT produkt, kcal FROM energie WHERE kategorie='$kategorie'");
while($row = mysql_fetch_assoc($result)){
$produkte=$row['produkt'];
$kcal=$row['kcal'];
echo "<tr><td>$produkte</td><td>$kcal</tr>";
}
?>
</body>
</html>
<?
@MYSQL_CLOSE($db);
?>
 
Du postest einen Code nach dem anderen, aber den Code mit dem Formular, über den wir gerade alle reden, hast Du noch nicht offenbart.

Und solltest Du mich meinen mit dem "es passiert nichts", dann kann ich nur antworten "Das kann nicht sein".
 
Zuletzt bearbeitet von einem Moderator:
<?php
session_start();
if(!isset($_SESSION['user_res']) || $_SESSION['user_res'] == "")
die("Required<code></code> Session not found!");
$ses = $_SESSION['user_res'];
$user_data = explode("_",$ses);
$uID = $user_data[0];
?>

<form action="/foodcoach/admin/inc/warenkorb/Artikel2.php" method="post">
<table width="247" height="72" border="1">
<tr>
<td width="237">Kategorie</td>
</tr>
<tr>
<td><select name="kategorie" id="kategorie">
<option value="" selected="selected">Bitte ausw&auml;hlen</option>
<?php
$result = mysql_query("SELECT DISTINCT kategorie FROM energie");
while ($row = mysql_fetch_assoc($result)) {
echo '<option value="'. $row['energieid']. '">'. $row['kategorie']. '</option>';
}
?>
</select></td>
</tr>
</table>
<p>
<input type="submit" name="weiter" id="weiter" value="weiter" />
</p>
</form>
</body>
</html>

<?
@MYSQL_CLOSE($db);
?>
 
<option value="" selected="selected">Bitte ausw&auml;hlen</option>
Vielleicht wählst Du nichts aus? Denn dann ist $_POST["kategorie"]=="".

echo '<option value="'. $row['energieid']. '">'. $row['kategorie']. '</option>';
Vielleicht funktioniert auch Deine Datenbank-Abfrage nicht. Guck mal in den HTML-Code rein, den PHP hier erzeugt, ob die values Deines selects überhaupt gefüllt werden, oder ob $row['energieid'] vielleicht jedesmal leer ist.

Wenn Du im HTML-Code ein select mit name="kategorie" hast, das in einem form mit method="post" steht, dann gibt Dir im auswertenden Script $_POST["kategorie"] die value der selektierten Option aus, wenn das Attribut "value" angegeben ist, ansonsten den Wert, der innerhalb des option-Tags steht. Das funktioniert bei mir anstandslos.
 
Status
Für weitere Antworten geschlossen.

Neueste Beiträge

Zurück
Oben