phpneuling_
Grünschnabel
Hallo ihr lieben,
ich hätte da mal ein kleines Problem,
Ich krieg es nicht hin, das die letzte Auswahl die ich ausgewählt habe im Selecetor stehen bleibt. der springt immer wieder auf den ersten Eintrag zurück.
was mach ich da falsch?
Kann es vielleicht daran liegen, dass ich die Werte in _POST und element auswahl vorher auf Gleichheit prüfen muss?
thx und grüße
ich hätte da mal ein kleines Problem,
Ich krieg es nicht hin, das die letzte Auswahl die ich ausgewählt habe im Selecetor stehen bleibt. der springt immer wieder auf den ersten Eintrag zurück.
was mach ich da falsch?
Kann es vielleicht daran liegen, dass ich die Werte in _POST und element auswahl vorher auf Gleichheit prüfen muss?
thx und grüße
PHP:
<!DOCTYPE HTML>
<html lang="de">
<head>
<meta charset="utf-8">
<title>test</title>
<?php
try {
$pdo = new PDO ( 'mysql:dbname=nation;charset=utf8', 'root', '' );
//$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
} catch ( PDOException $e ) {
die ( $e->getMessage () );
}
?>
</head>
<body>
<form method="post">
<fieldset>
<?php
$sql = "SELECT name, region_id FROM regions ORDER BY name";
$stmt = $pdo -> prepare($sql);
$stmt -> execute();
//print_r($stmt->fetchAll(PDO::FETCH_ASSOC));
echo "<select name ='auswahl' id = 'auswahl'>";
?>
<?php
foreach ($stmt->fetchAll(PDO::FETCH_COLUMN,0) as $daten)
echo "<option value = '$daten'>$daten </option> ";
//echo "<option value = '.$daten->$daten.'"' .($_POST['auswahl'] == $daten->id ? ' selected='selected'' : '') . '>'.$daten->name.'</option>'";
echo "</select>";
$auswahl = $_POST['auswahl'] ?? 'standard';
if(isset($_POST['auswahl'])){
$region = $_POST['auswahl'];
$auswahl = 'SELECT countries.name as "name2", countries.area, avg(country_stats.gdp), avg(country_stats.population), continents.name FROM
countries, country_stats, regions INNER JOIN continents ON regions.continent_id = continents.continent_id
WHERE regions.region_id = countries.region_id AND countries.country_id = country_stats.country_id AND regions.name = "'. $region .'" GROUP BY countries.country_id';
$stmt = $pdo -> prepare($auswahl);
$stmt->execute();
echo "<table id=\"Länder\">\n\t";
echo "<thead>
<tr>
<th><h3>Land</h3></th>
<th><h3>Fläche</h3></th>
<th><h3>AVG BIP</h3></th>
<th><h3>AVG Bevölkerung</h3></th>
<th><h3>Kontinent</h3></th>
</tr>
</thead>\n";
echo "<tbody>\n\t";
$ausgabe[] = $stmt->fetch(PDO::FETCH_ASSOC);
while ( $zeile = $stmt->fetch ( PDO::FETCH_ASSOC ) ) {
echo "<tr>\t<td>".$zeile['name2']."</td>
<td>".$zeile['area']."</td>
<td>".$zeile['avg(country_stats.gdp)']."</td>
<td>".$zeile['avg(country_stats.population)']."</td>
<td>".$zeile['name']."</td></tr>\n\t";
}
}
?>
<br>
<input type = "submit" value ="anzeigen">
</form>
</body>
</html>