# in Drop-Down-Menu eine MYSQL Ausgabe einfügen



## patrick1527 (30. Dezember 2009)

Hi

Bin ein totaler  in PHP und MYSQL noch , und bin gerade dabei , einwenig Erfahrung zusammeln.

Ich arbeite mich derzeit durch ein paar Tutorials und bin auf etwas gestoßen wo ich leider keine Lösung finde...

Ich habe ein Drop Down Menü und möchte dort ganze einfach eine MYSQL ausgabe einfügen und habe es nun auf diesen Weg versucht.

Für die value habe ich in meiner Tabelle eine ID angelegt 
Feld ID , TYP Int (255) Autowert.
habe 2 einträge 
1. test
2. super



```
<?php
		 echo '<option value="<?php $benabf = "SELECT id FROM `test`";
	  $ergbenabf = mysql_query($benabf);
  while($row = mysql_fetch_object($ergbenabf))
    {
    echo $row->id;
    }

	  ?>">';
		 echo '<?php $benabf = "SELECT ausgabe FROM `test`";
	  $ergbenabf = mysql_query($benabf);
  while($row = mysql_fetch_object($ergbenabf))
    {
    echo $row->ausgabe;
    }

	  ?></option>' ?>
```

War einer meiner Lösungen aber leider hat auch diese versagt bitte um Hilfe =)

mfg


----------



## bofh1337 (30. Dezember 2009)

```
<?php

	$liste = '';
	$sql1 = mysql_query("SELECT id,ausgabe FROM `test` ORDER BY id ASC");
	while ($res1 = mysql_fetch_array($sql1))
	{
		$liste .= '<option value="' . $res1['id'] . '">' . $res1['ausgabe'] . '</option>';
	}
?>
```

und im Formular so einbinden:


```
<select name="foobar">' . $liste . '</select>
```

Und änder bitte den Titel des Threads in etwas, womit wir auch was anfangen können


----------



## patrick1527 (30. Dezember 2009)

sry, titel war eig N O O  B hat eine frage ^^ aber das N O O B hat er mir weggenommen ^^

danke für die Hilfe werde es gleich testen =9

Funktioniert leider nicht =(


----------



## hhunderter (30. Dezember 2009)

Kommt den irgendeine Fehlermeldung ?
bzw. was Funktioniert den nicht so?


----------



## bofh1337 (30. Dezember 2009)

Sehe ich gerade...mach mal aus dem "id" ein "ID".....oder änder das feld in der DB


----------



## patrick1527 (30. Dezember 2009)

hhunderter hat gesagt.:


> Kommt den irgendeine Fehlermeldung ?
> bzw. was Funktioniert den nicht so?



keine Fehlermeldung das feld ist einfach nur leer ...
am "id" liegt es auch nicht, da es in der Datenbank auch klein geschrieben ist

hab das einfach so in das Formular geschrieben

^
	
	
	



```
<?php

    $liste = '';
    $sql1 = mysql_query("SELECT id,begr FROM `katalog`");
    $ergbenabf = mysql_query($sql1);
    while ($res1 = mysql_fetch_array($sql1))
    {
        $liste .= '<option value="' . $res1['id'] . '">' . $res1['begr'] . '</option>';
    }
?> 
   <select name="aufgabe">' . $liste . '</select>
```

danke für Edid!


----------



## hhunderter (31. Dezember 2009)

Richtig würde das so aussehen:

```
<?php

    $liste = '';
    $sql1 = mysql_query("SELECT * FROM `katalog`");
    $ergbenabf = mysql_query($sql1);
    while ($res1 = mysql_fetch_array($ergbenabf))
    {
        $liste .= '<option value="' . $res1['id'] . '">' . $res1['begr'] . '</option>';
    }

   echo '<select name="aufgabe">' . $liste . '</select>';
?>
```

Vorausgesetzt du hast die Datenbank vorher schon geöffnet :

```
mysql_connect(hostname, user, pas);
mysql_select_db(dbname);
```


----------



## patrick1527 (31. Dezember 2009)

Funktioniert leider trotzdem noch nicht , es kommt die meldung 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in xxxx on line 56

Also ein Fehler beim Selecte sollte das bedeuten oder , aber ich habe mit der Datenbank schon connectet also an dem kann es normal nicht liegen...


----------



## rd4eva (31. Dezember 2009)

Existiert die Tabelle katalog überhaupt?
Bzw. Existiert die Tabelle katalog überhaupt in der Datenbank in der du dich befindest oder musst du eventuell noch die Datenbank ändern!?

Siehe
http://de.php.net/manual/de/function.mysql-select-db.php


----------



## _Grubi (31. Dezember 2009)

Was soll denn der doppelte Aufruf von mysql_query()?

```
$sql1 = mysql_query("SELECT id,begr FROM `katalog`");
    $ergbenabf = mysql_query($sql1);
```
Ändere es einmal so:

```
$ergbenabf = mysql_query("SELECT id,begr FROM `katalog`") or die(mysql_error());
```
Wenn dann alles funktioniert und es keine Fehlermeldungen mehr gibt, kannst du 

```
or die(mysql_error())
```
wieder entfernen (Semikolon aber nicht löschen  )


----------



## patrick1527 (31. Dezember 2009)

danke werde ich dann morgen testen  jetzt wird erst mal gefeiert danke =)

wünsche einen Guten Rutsch


----------



## patrick1527 (1. Januar 2010)

Danke, funktioniert jetzt einwandfrei =) 
eine frage hätte ich jetzt noch wenn ich die ID in einem eigenem Textfeld ausgeben möchte, abhängig von der auswahl des Drop Down Menüs wie kann ich das Realisieren ?

habe mir eine Variable erstellt und dort die echo ausgabe eingetragen,
dann ein Textfeld erstellt mit folgenden Werten

<input name="id" type="text" class="input" value="
	  <?php $benabf = "SELECT id, begr,  FROM `katalog` WHERE `begr` = ".$begr2;
	  $ergbenabf = mysql_query($benabf);
  while($row = mysql_fetch_object($ergbenabf))
    {
    echo $row->id;
    }
?>" size="20">

nur er gibt mir leider ALLE ids dann in einem Textfeld aus ...könntest du mir da noch helfen ?
mfg


----------



## Godstyle (1. Januar 2010)

Hallo,

willst du, das die id nach absenden das forumlars eingetragen wird, oder soll sie geändert werden, sobald du die Select auswahl änderst, dann wäre es mit js zu realisieren, mit absenden kannst du es einfach mir php und Get realisieren.

mfg


----------



## patrick1527 (1. Januar 2010)

Godstyle hat gesagt.:


> Hallo,
> 
> willst du, das die id nach absenden das forumlars eingetragen wird, oder soll sie geändert werden, sobald du die Select auswahl änderst, dann wäre es mit js zu realisieren, mit absenden kannst du es einfach mir php und Get realisieren.
> 
> mfg



Hätte es gerne so, dass sobald jemand z.B.: a auswählt unten die ID 1 erscheint


----------



## Godstyle (1. Januar 2010)

Hallo,

ich kenne mich mit js nicht so gut aus, ich würde es mal in den js bereich verschieben.

Ich habe was versucht wie es klappen könnte, leider keine zeit zu testen, vlt kann wer anderes dadurch weiter helfen.


```
<script type="text/js">
function TextRein () {
document.getElementById('textfeld').innerHTML=document.getElementById('dropdown').options.value; }
</script>

folgendes in das selecttag einfügen:

onChange="TextRein"

'<option value="' . $res1['id'] . '">' . $res1['begr'] . '</option>'
```


----------



## patrick1527 (1. Januar 2010)

kann man das mit php also gar lösen ?


----------



## Godstyle (1. Januar 2010)

Php scripte werden nur bei aufrufen der seite ausgeführt und es ist meines wissens nach nicht möglich, dass man eine "live" funktion unter php durchführt, diese ist nur mit js (ajax) machbar.


----------



## Godstyle (1. Januar 2010)

poste mal dein aktuelles komplettes script, ich schau mal, das ich es dir so umbaue, das es funktioniert, kann aber bis heute abend oder morgen früh dauern wenn das ok ist.


----------



## Godstyle (1. Januar 2010)

```
<?php include("db.php"); ?>
<?php
$id_feld = $_POST["Auswahl"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>onchange</title>
<script type="text/javascript">
function Go (select) {
  var wert = select.options[select.options.selectedIndex].value;
  if (wert == "leer") {
    select.form.reset();
    parent.frames["self"].focus();
    return;
  } else {
    if (wert == "ende") {
      top.location.href = parent.frames[1].location.href;
    } 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
else if (wert == "1") {
      window.location.href="index.php";
    } 
	else if (wert == "2") {
      window.location.href="index.php";
    } 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
else {
      parent.frames["unten"].location.href = wert;
      select.form.reset();
      parent.frames["unten"].focus();
    }
  }
}
</script>


</head>

<body>

<form action="" method="POST">
<?php
    $liste = '';
    $sql1 = mysql_query("SELECT * FROM `katalog`");
    $ergbenabf = mysql_query($sql1);
    while ($res1 = mysql_fetch_array($ergbenabf))
	{
	?>
<p><select size="1" name="Auswahl" onchange="Go(this)" width="250">
<option value="leer" selected="selected">[ bitte auswählen! ]</option>
<option value="<?php echo "$row->id" ; ?>"><?php echo .$res1['begr']. ?></option>
<option value="1">Felgen</option>
</select></p>

<?php } 
mysql_close;
?>
<input type="text" name="firma" value="<?php echo "$id_feld" ?>" />
</form>



</body>
</html>
```


versuch das mal und setz ganz oben deine DB con ein.
Dann sollte es eigentlich direkt funktionieren


----------



## Rogue (12. September 2018)

hallo,

könnte man das ganze Script bekommen, zum ausprobieren?


Gruß


----------



## basti1012 (12. September 2018)

Kuck mal auf das Datum. Da wirst du dir wohl eins selber schreiben müßen


----------

