variable Variablen in Formularobjekten

Apfelessig

Grünschnabel
Moin Moin jungs und mädels,

ich probiere an meinem Problem nun schon ein Weilchen rum. Habe auch schon diverse Foren durchsucht aber ich will einfach nicht auf die Lösung kommen. Derweil ist es nur eine Kleinigkeit zum Ziel. Ich schätze das Problem ist hier schonmal behandelt worde aber ich hab es nur nicht gefunden wegen 50/300 suchfunktion nutzen skill. Nunja kommen wir mal zu dem Problem selbst. Ich vereinfache die Situation hier mal extrem um nicht alles mit code voll zu spamen.

Nehmen wir mal an ich bin ein besonders netter Mensch und will jedem ein Haustier geben. Da ich ein ganz besonders lieber Mensch bin darf sich jeder noch ein Haustier aussuchen. Also der Name für jeden Menschen lese ich aus der Datenbank aus und das Haustier kann man per Auswahlobjekt auswählen. Aus Verwaltungsgründen wird das Tier noch in eine ID umgewandelt. Ich poste hier mal einen kleinen Code dafür.

PHP:
<?
  $db = mysql_connect("localhost","root");
  mysql_select_db("tierdatenbank",$db);
?>
<table>
  <form name="radd" method=post action="">
  <tr>
    <td>Name</td>
    <td>Haustier</td>
  </tr>
  <?
  $count = mysql_query("SELECT DISTINCT name FROM tiere");
  while ($row = mysql_fetch_array($count)) {?>
  <tr>
    <td><?=$row[0]?></td>
    <td><select name="tier" size=1>
        <option></option>
          <option>Katze</option>
          <option>Hund</option>
        </select></td>
  </tr>
  <?
    if($post == "1"){
      if ($tier == "") $tierid = "";
        elseif ($tier == "Katze") $tierid = "1";
        elseif ($tier == "Hund") $tierid = "2";
      mysql_query("INSERT INTO tiere VALUES ('$row[0]','$tierid')");
    }
  }
?>
  <tr>
    <input type=hidden name="post" value="1">
    <td colspan="2" align="center">
    <input type=submit value="Abschicken">
    </td>
  </tr>
  </form>
</table>

Das Problem ist nun folgendes: Es wird nun eine Tabelle mit ca. 10-20 Namern erzeugt (je nachdem wieviele namen in der Datenbank stehen). Wenn ich nun jedem verschiedene Tiere gebe erhält jeder das Tier von dem untersten Feld was ja eigentlich auch logisch ist. Aber ich will ja dass jeder sein eigenes Tier bekommt. Sprich ich muss bei dem Auswahlsobjekt mit variablen Variablen arbeiten. Ich hab da schon diverse Sachen ausprobiert aber komme nicht auf die richtige Lösung.


edit: hab einen kleinen Schreibfehler im Script ausgebessert (scheiss copy&paste)
 
Zuletzt bearbeitet:
Boah ich bin sooooo doof. Schätze mal ich hab den morgentlichen blackout gehabt. Zumidnest hab ich eben nach der Arbeit das Problem selbst gelöst. Meine Lösung für alle:

PHP:
<?
  $db = mysql_connect("localhost","root");
  mysql_select_db("tierdatenbank",$db);
?>
<table>
  <form name="radd" method=post action="">
  <tr>
    <td>Name</td>
    <td>Haustier</td>
  </tr>
  <?
  $count = mysql_query("SELECT DISTINCT name FROM tiere");
  while ($row = mysql_fetch_array($count)) {?>
  <tr>
    <td><?=$row[0]?></td>
    <td><select name="tier<?=$row[0]?>" size=1>
        <option></option>
          <option>Katze</option>
          <option>Hund</option>
        </select></td>
  </tr>
  <?
    if($post == "1"){
      if (${tier . $row[0]} == "") $tierid = "";
        elseif (${tier . $row[0]} == "Katze") $tierid = "1";
        elseif (${tier . $row[0]} == "Hund") $tierid = "2";
      mysql_query("INSERT INTO tiere VALUES ('$row[0]','$tierid')");
    }
  }
?>
  <tr>
    <input type=hidden name="post" value="1">
    <td colspan="2" align="center">
    <input type=submit value="Abschicken">
    </td>
  </tr>
  </form>
</table>
 
Zurück