Auswahlmenü + Übergabe

mC pAiN

Erfahrenes Mitglied
Hallo,

Ich habe da mal eine kleine Frage: Und zwar bin ich ein Einsteiger in Sachen PHP + MySQL. Ich habe vor, ein kleines CD-Archiv zu coden. Dafür wollte ich eine Seite machen, in der man bestimmte Daten eintragen kann (Name, CD-Nummer, Info, etc.) und Eine, wo alles ausgegeben wird. Jetzt hatte ich vor, das ganze mit einem Auswahlmenü auszustatten, wo man wählen kann, ob Programm, Game oder Film (mit Formular-Select). Nur wie kann ich das dann machen, dass je nach Auswahl, in die entsprechende Tabelle geschrieben wird?? Habe die einzelnen Optionen mit Variablen versehen und weiß jetzt nicht, wie ich die if-Abfrage schreiben soll :rolleyes:
Mein Select sieht folgendermaßen aus:
Code:
<select name="cd_select">
	<option value="">Bitte wählen...
	<option value="<? echo $programm ?>">Programm
	<option value="<? echo $game ?>">Game
	<option value="<? echo $film ?>">Film
	<option value="<? echo $sonstiges ?>">Sonstiges
</select>
und meine Tabellen heißen dementsprechend:

cd_prog, cd_game, cd_film und cd_sonstiges

Ich hoffe ihr versteht was ich meine...
 
also

Hi,

wo kommen die Variablen in der option value her??


Code:
<select name="cd_select">
	<option value="">Bitte wählen...
	<option value="progi">Programm
	<option value="game">Game
	<option value="film">Film
	<option value="sonstiges">Sonstiges
</select>

PHP:
...
switch($cd_select) {
   case "progi":
      // hier insert code für tabelle Programme
   break;

   case "game":
      // hier insert code für tabelle Games
   break;

   // usw ...
}

Hoffe das hilft irgendwie oder gibt zumindest einen Denkanstoß ...

greez
 
das soll deine ausgabe datei sein ?

dann mache einfach folgendes :

der html code wie "ultrakollega" ihn geschrieben hat und in php

PHP:
if($cd_select) {
$query = "SELECT *
          FROM cd_$cd_select";
}
 
PHP:
<?php
if(isset($_POST['submit'])) {
  include("db_conn.php");
  switch($_POST['cd_select']) {
    case "programm":
      #insert für programm
      break:
    case "game":
      #insert für game
      break;
    /*
    weitere optionen...
    */
  }
} else  {
  /*  
  der teil in der $programm,
  $game, $film, ... usw definiert wird
  */
  ?>
  <from name="auswahl" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  <select name="cd_select" onChange="document.auswahl.submit()">
	<option value="">Bitte wählen...</option>
	<option value="<? echo $programm ?>">Programm</option>
	<option value="<? echo $game ?>">Game</option>
	<option value="<? echo $film ?>">Film</option>
	<option value="<? echo $sonstiges ?>">Sonstiges</option>
  </select>
  </form>
  <?php
}
?>
 
Vielen Dank für eure Antworten. Konnte mit allen etwas anfangen! Es klappt genau so wie ich das wollte.

Nochmals Vielen Dank!! :)
 
Hab nochmal getestet, ob es wirklich klappt aber wurde enttäuscht :(
Die Daten, die Ich eingebe, werden einfach nicht in die DB geschrieben. Hier ein Ausschnitt aus der Datei eintragen.php:
PHP:
<?php
if (isset($_POST['submit'])) {
  // Wenn 'Submit' erfolgt, Verbindung herstellen
  $dbconnect = mysql_connect("localhost","benutzer","passwort");
  mysql_select_db("cd_archiv",$dbconnect);
  // Je nach Wahl in die entsprechende Tabelle einfügen
  switch($_POST['cd_select']) {
    case "programm":
      $sql_befehl = "INSERT INTO cd_prog (Name,CD_Nr,Info) VALUES ('$name','$cd_nr','$info')";
      $result = mysql_query($sql_befehl,$dbconnect);
      break;
    case "game":
      // siehe oben, nur für  Tabelle cd_games
    // ...
  }
} else  {
  // der teil in der $programm, $game, $film, ... usw definiert wird
  ?>
  <form name="auswahl" method="post" action="<?php echo $PHP_SELF ?>">
  <table border="0" cellspacing="5" cellpadding="0">
  <tr>
    <td>Was soll eingetragen werden</td>
    <td><select name="cd_select" onChange="document.auswahl.submit()">
    		<option value="">Bitte wählen...</option>
   		<option value="<? echo $programm ?>">Programm</option>
    		<option value="<? echo $game ?>">Game</option>
   		<option value="<? echo $film ?>">Film</option>
   		<option value="<? echo $sonstiges ?>">Sonstiges</option>
        </select>
    </td>
  </tr>
 
Habe es jetzt hinbekommen, dass er in die DB schreibt. Jetzt kommt das nächste Probelm :( (sorry, dass ich so viel nerve):

Bei der Ausgabe, gibt er mir diese Fehlermeldung
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\wampp2\htdocs\cd_archiv\ausgabe.php on line 16

Auszug aus dem Skript:
PHP:
<?php
//Daten auslesen
if ($cd_select) {
  $sql_query = "SELECT * FROM cd_$cd_select";
}
?>

<?php
//Daten ausgeben in Tabelle
  while ($ergebnis = mysql_fetch_array($sql_query)) { ?>
  <?
  // hier käme die Ausgabe
  }
?>

Zeile 16 wäre die while-Schleife, aber ich erkenne da keinen Fehler...
 
der fehler bedeutet das dein mysql_query
falsch gelaufen ist und keine daten zum abholen da sind.
mach mal:
mysql_query(......) or die(mysql_error());
 
Das Problem war, dass ich gar kein mysql_query hatte :eek: :)

Bei mir gab es ja nur
PHP:
if ($cd_select) {
  $sql_query = "SELECT * FROM cd_$cd_select";
}

Habe das Ganze behoben...
 
Zurück