Wie bekomme ich den ausgewählten Wert aus einer Dropdown-Liste
Ich bin versucht, einen dynamisch erzeugten dropdown-Liste zum füllen einer Tabelle. Ich habe ein drop-down-Liste, die generiert wird, aus meiner Datenbank (es packt alle Jahre verfügbar, für einen bestimmten Spieler). Ich möchte in der Lage sein, um wählen Sie ein Jahr aus dem dropdown Menü und habe es aktualisiert meine Tabelle. Ich habe das dropdown generiert wird, aber ich bin nicht in der Lage, um den ausgewählten Wert aus der dropdown-Liste. Ich habe folgenden code, den ich hier gefunden, aber es scheint nicht zu funktionieren. Hier ist der code, den ich bisher:
<input name="update" type="submit" value="Update" />
</form>
<p></p>
<form action="player_login.html">
<input type="submit" value="Logout" />
</form>
</div>
<div style="float: left">
<p></p>
<h1>Player Stats</h1>
<table width="300" border="1" cellpadding="2" cellspacing="2">
<?php
//get "id" field from player table
$login_id = $_COOKIE["DB"];
$id = "select id from player where login_id='$login_id';";
$result1=mysql_query($id) or die('Select1 Query failed: ' . mysql_error());
$row = mysql_fetch_array($result1);
//create a dropdown from stats table in db
echo "--Select Year--";
$years_query = "select year from stats where player_id='$row[id]';";
$years = mysql_query($years_query, $connect);
//fill array with db info
$var = array();
while ($row2 = mysql_fetch_array($years))
{
$var[] = $row2['year'];
}
//create dropdown
echo'<select name="years" id="years">';
//For each value of the array assign variable name "city"
foreach($var as $year)
{
echo'<option value="'.$year.'">'.$year.'</option>';
}
echo'</select>';
//get selected option from dropdown
$selected_key = $_POST['years'];
$selected_val = $var[$_POST['years']];
echo "<p></p>selected key: " . $selected_val; //this wont print anything???
$search_query="select * from stats where player_id='$row[id]' and year=2013;";
$result=mysql_query($search_query) or die('Select2 Query failed: ' . mysql_error());
$num_cols = mysql_num_fields($result);
$line = mysql_fetch_row($result);
//create table with results
echo "<tr>";
echo "<td>Year</td>";
$j=1;
echo "<td><input name='$j' type='text' value='$line[$j]' size=20/></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Total Points</td>";
$j=2;
echo "<td><input name='$j' type='text' value='$line[$j]' size=20/></td>";
echo "</tr>";
echo "<tr>";
echo "<td>PPG</td>";
$j=3;
echo "<td><input name='$j' type='text' value='$line[$j]' size=20/></td>";
echo "</tr>";
?>
</table>
</div>
Sie benötigen Javascript für... Oder eine Art...
InformationsquelleAutor user2297613 | 2013-10-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehe ich, dass du stattdessen $_POST, und da die form ist nicht eingereicht und somit die Daten von $_POST nicht gesetzt ist. Beste verfügbare option, die ich verwendet habe, fangen die Veranstaltung und senden der AJAX-Abfrage fetch-Ergebnisse und update es.
Habe ich dies getan mit der Hilfe von J-Query wie unter
Erstellen Sie eine neue Datei players_data.php und dort schreiben Sie den code zum abrufen von Daten von der db als:
InformationsquelleAutor Vineet1982
Ich sehen, dass Sie mit $_POST, und warum Sie nicht eine form?
Und das ist alles! 😀
Ich sehe auch, dass Sie über eine einzigartige form, die für alle aktualisieren der Seite... Es wird nicht funktionieren, weil Sie nur einen submit-button und nicht mehr element im Formular, bitte Lesen: http://www.w3schools.com/tags/tag_form.asp
InformationsquelleAutor Seazoux
Aus dem code kann ich sehen, dass u wollen, um den Wert aus dem select-Feld und sofort füllen Sie die Tabelle und die Ergebnisse anzeigen..jquery verwenden, um den Wert des ausgewählten Objekts und zuweisen der javascript-variable an eine php-variable. und einfügen in die db..
weisen Sie die variable in php und führen Sie die php-Abfrage.
Haben auch einen Blick auf ajax..es tut so gut...
InformationsquelleAutor Joss