DropDown in MySQL

Binde diesen Wert einfach als Bedingung in die Abfrage ein, etwa:
PHP:
$query = '
	SELECT
	        …
	  FROM
	        …
	  WHERE
	        `id` = '.intval($_GET['spiel']).'
	';
 
PHP:
<form name="spiel" action="index.php" method="GET">
					<select name="spiel" onChange="submit ();">				
						<option value="0">
						Auswahl
						</option>
						<option value="1">
						Hamburg
						</option>
						
					</select>
					
		<table align="center" border="2" bordercolor="0000FF">
			<tr>
				<td align="center" colspan="8">
			<?php
	 if( isset($_GET['spiel']) ) {
        switch( $_GET['spiel'] ) {
            case 1:
            $query = 'SELECT spiel_heim FROM mbjugend_spiel WHERE `spiel_id` = '.intval($_GET['spiel']).'';  
	        break;
			default:
                echo "Spielpaarung auswählen!";
    }
            
        }
    

?>
</form>

So hab ich es jetzt gemacht, allerdings wird kein Datensatz ausgelesen. Woran kann es liegen?
 
wieso führe ich das query nicht aus

die Verbindung zur Datenbank besteht doch...

Der DropDown funktioniert ja, liest halt nur keinen Datensatz aus warum auch immer.....
 
Du definierst lediglich die Datenbankabfrage und speicherst sie in der Variable $query. Dessen Wert – also die Datenbankabfrage – musst du jedoch noch an die Datenbank schicken. Und das geht mit der mysql_query()-Funktion.
Probier deshalb mal Folgendes:
PHP:
<?php

	if( !empty($_GET['spiel']) ) {
		$query = '
			SELECT
			        `spiel_heim`
			  FROM
			        `mbjugend_spiel`
			  WHERE
			        `spiel_id` = '.intval($_GET['spiel']).'
			';
		$result = mysql_query($query)
			or die(mysql_error());
		…
	}

?>
 
endweder bin ich zu blöd, oder der Datensatz ist leer.....

So schreibe ich die Spielpaarung in die DB

PHP:
<?php
	if ($_GET['do'] == "neuespiel") {
		mysql_query("INSERT INTO `mbjugend_spiel` (`spiel_id`,`heim`,`gast`) VALUES ('','".$_POST['spiel_id']."','".$_POST['heim']."','".$_POST['gast']."')");
		?>
		Neues Spiel gespeichert!
		<?php
	}
	?>

<form action="index.php?do=neuespiel" method="post">
			<table>
				<tr>
					<th colspan="2">
						Neue Spielpaarung:
					</th>
				</tr>
				<tr>
					<td>
						Spielnummer:
					</td>
					<td>
						<input type="text" name="spiel_id">
					</td>
				</tr>
				<tr>
					<td>
						Heim:
					</td>
					<td>
						<input type="text" name="heim">
					</td>
				</tr>
				<tr>
					<td>
						Gast:
					</td>
					<td>
						<input type="text" name="gast">
					</td>
				</tr>
				<tr>
					<td colspan="2" align="center">
						<input type="submit" value="Spielpaarung speichern">
					</td>
				</tr>
			</table>
		</form>

Ist da vielleicht ein Fehler auch ein Fehler drin
 
Probier mal Folgendes:
PHP:
<?php

	if( $_SERVER['REQUEST_METHOD'] == 'POST' && isset($_GET['do']) && $_GET['do'] == 'neuespiel' ) {
		$query = '
			INSERT INTO
			        `mbjugend_spiel`
			  SET
			        `spiel_id` = "'.mysql_real_escape_string($_POST['spiel_id']).'",
			         `heim`    = "'.mysql_real_escape_string($_POST['heim']).'",
			         `gast`    = "'.mysql_real_escape_string($_POST['gast']).'"
			';
		mysql_query($query);
		if( mysql_affected_rows() > 0 ) {
			echo 'Neues Spiel gespeichert!';
		}
	}

?>
 
OK der Datensatz ist jetzt wohl drin, laut phpmyadmin.

Allerdings auslesen tut er immer noch nichts.....

Woran könnte das liegen?

Hier nochmal der Code nach den Verbesserungen
PHP:
<form name="spiel" action="index.php" method="GET">
					<select name="spiel" onChange="submit ();">				
						<option value="0">
						Auswahl
						</option>
						<option value="1">
						Hamburg
						</option>
						
					</select>
					
		<table align="center" border="2" bordercolor="0000FF">
			<tr>
				<td align="center" colspan="8">
			<?php

 if( isset($_GET['spiel']) ) {
        switch( $_GET['spiel'] ) {
            case 1:
                if( !empty($_GET['spiel']) ) {
        $query = ' SELECT `heim` FROM `mbjugend_spiel` WHERE `spiel_id` = '.intval($_GET['spiel']).'';
        $result = mysql_query($query)
            or die(mysql_error());
    }
                break;
            default:
                echo "Spielpaarung auswählen!";
        }
    }
?> 
</form>
 
Zuletzt bearbeitet:
1. wenn du die Möglichkeit hast das lokal auszuprobieren dann mach es, also den query in xampp oder was du auch sonst benutzt testen

ansonsten hast du eigentlich allles richtig gemacht ich vemrure die id gibt es nicht oder die submit (jacascript) funktion geht nicht damit kenn ich mich nicht aus, alternativ kannst es ja mit submit button machen.
 
Das switch-Kontrollkonstrukt ist eigentlich vollkommen überflüssig:
PHP:
<?php

	if( !empty($_GET['spiel']) ) {
		$query = '
			SELECT
			        `heim`
			  FROM
			        `mbjugend_spiel`
			  WHERE
			        `spiel_id` = '.intval($_GET['spiel']).'
			';
		$result = mysql_query($query)
			or die(mysql_error());
	}

?>
 
Zurück