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


#1
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


Code:
<?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

Erfahrenes Mitglied
#2
PHP:
<?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:

HTML:
<select name="foobar">' . $liste . '</select>
Und änder bitte den Titel des Threads in etwas, womit wir auch was anfangen können ;)
 
Zuletzt bearbeitet:
#3
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 =(
 
Zuletzt bearbeitet:
#6
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

^
Code:
	  <?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

Erfahrenes Mitglied
#7
Richtig würde das so aussehen:
PHP:
	  <?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 :
PHP:
mysql_connect(hostname, user, pas);
mysql_select_db(dbname);
 
#8
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...
 

_Grubi

Erfahrenes Mitglied
#10
Was soll denn der doppelte Aufruf von mysql_query()?
PHP:
 $sql1 = mysql_query("SELECT id,begr FROM `katalog`");
    $ergbenabf = mysql_query($sql1);
Ändere es einmal so:
PHP:
 $ergbenabf = mysql_query("SELECT id,begr FROM `katalog`") or die(mysql_error());
Wenn dann alles funktioniert und es keine Fehlermeldungen mehr gibt, kannst du
PHP:
 or die(mysql_error())
wieder entfernen (Semikolon aber nicht löschen ;) )
 
#12
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

Erfahrenes Mitglied
#13
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
 

Godstyle

Erfahrenes Mitglied
#15
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.

Code:
<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>'
 

Godstyle

Erfahrenes Mitglied
#17
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

Erfahrenes Mitglied
#18
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

Erfahrenes Mitglied
#19
PHP:
<?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
 

Neue Beiträge