ScroogeMcDuck
2005-08-08, 14:24:41
Hallo, folgendes Problem bei dem ich dringend eure Hilfe bräuchte :)
ich habe eine Auswahlliste angelegt die mittels php beim Generieren der Seite mit Datensätzen aus einer MySQL-Datenbank gefüllt wird
Auszug aus dem Code:
$query = "SELECT KundenNr,Firma,Name,Vorname,Straße,PLZ,Ort FROM kunde";
$result = mysql_query($query);
if(!$result) { // prüfen auf false
echo "Konnte die MySQL-Abfrage nicht verarbeiten <br/>\n";
echo "MySQL-Antwort:".mysql_error();
}
echo "<tr>\n";
echo "<form action=\"http://localhost/rechnunganlegen.php\">\n";
echo "<td align=\"left\" colspan=\"2\"><br/>Kunden: \n";
echo "<select name=\"kindex\" size=\"1\" onChange=\"javascript:reload()\">\n";
echo "<option value=\"nix\">Kundenauswahl</option>\n";
while ($zeile = mysql_fetch_object($result)) {
echo "<option value=\"$zeile->KundenNr\">$zeile->Name $zeile->Vorname, $zeile->PLZ $zeile->Ort</option>\n";
}
echo "</select></td>\n";
echo "</form>\n";
echo "</tr>\n";
Auszug Ende
Was ich jetzt machen will ist das wenn ein Eintrag aus der Auswahlliste angeklickt wird, die zugehörigen Daten des ausgewählten Datensatzes in verschiedene Eingabefelder gesetzt werden. Ich habe mir gedacht das ich mittels JavaScript 'onChange' den value des selektierten Eintrags an die Html-Seite beim Neuladen übergebe, den Wert dann mit _Get mittels php auslese und die Daten für die Eingabefelder aus der Datenbank anhand des value wertes hole (value wert ist id in der datenbank). Leider funktioniert es nicht so wie ich es mir denke, bzw. ich finde den Fehler nicht. Ich poste mal den relevanten Code hier, vielleicht kann mir einer von euch Gurus helfen :)
JavaScript-Funktion die Seite neuladen soll
<script language="JavaScript">
function reload() {
[window.]location.href = "http://localhost/rechnunganlegen.php?value=+value";
location.reload();
}
</script>
Code für das Ausfüllen der Eingabefelder
$query = "SELECT Firma,Name,Vorname,Straße,PLZ,Ort FROM kunde WHERE KundenNr = '".$_GET['value']."'";
$result = mysql_query($query);
if(!$result) { // prüfen auf false
echo "Konnte die MySQL-Abfrage nicht verarbeiten <br/>\n";
echo "MySQL-Antwort:".mysql_error();
}
if($_GET['value'] == "" || $_GET['value'] == "nix") {
echo "<td align=\"left\" valign=\"top\">\n";
echo "<input name=\"kfirma\" type=\"text\" size=\"20\" maxlength=\"30\"><br/>\n";
echo "<input name=\"kvorname\" type=\"text\" size=\"20\" maxlength=\"30\"><br/>\n";
echo "<input name=\"kname\" type=\"text\" size=\"20\" maxlength=\"30\"><br/>\n";
echo "<input name=\"kstrasse\" type=\"text\" size=\"20\" maxlength=\"40\"><br/>\n";
echo "<input name=\"kplz\" type=\"text\" size=\"5\" maxlength=\"5\"> / <input name=\"kort\" type=\"text\" size=\"20\" maxlength=\"40\"><br/>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "</form>\n";
} else {
$zeile = mysql_fetch_object($result);
echo "<td align=\"left\" valign=\"top\">\n";
echo "<input name=\"kfirma\" type=\"text\" size=\"20\" maxlength=\"30\" value=\"$zeile->Firma\"><br/>\n";
echo "<input name=\"kvorname\" type=\"text\" size=\"20\" maxlength=\"30\" value=\"$zeile->Vorname\"><br/>\n";
echo "<input name=\"kname\" type=\"text\" size=\"20\" maxlength=\"30\" value=\"$zeile->Name\"><br/>\n";
echo "<input name=\"kstrasse\" type=\"text\" size=\"20\" maxlength=\"40\" value=\"$zeile->Straße\"><br/>\n";
echo "<input name=\"kplz\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"$zeile->PLZ\"> / <input name=\"kort\" type=\"text\" size=\"20\" maxlength=\"40\" value=\"$zeile->Ort\"><br/>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "</form>\n";
}
so ist jetzt verdammt umfangreich geworden, sorry aber ich hoffe es ist noch leserlich genug
ich habe eine Auswahlliste angelegt die mittels php beim Generieren der Seite mit Datensätzen aus einer MySQL-Datenbank gefüllt wird
Auszug aus dem Code:
$query = "SELECT KundenNr,Firma,Name,Vorname,Straße,PLZ,Ort FROM kunde";
$result = mysql_query($query);
if(!$result) { // prüfen auf false
echo "Konnte die MySQL-Abfrage nicht verarbeiten <br/>\n";
echo "MySQL-Antwort:".mysql_error();
}
echo "<tr>\n";
echo "<form action=\"http://localhost/rechnunganlegen.php\">\n";
echo "<td align=\"left\" colspan=\"2\"><br/>Kunden: \n";
echo "<select name=\"kindex\" size=\"1\" onChange=\"javascript:reload()\">\n";
echo "<option value=\"nix\">Kundenauswahl</option>\n";
while ($zeile = mysql_fetch_object($result)) {
echo "<option value=\"$zeile->KundenNr\">$zeile->Name $zeile->Vorname, $zeile->PLZ $zeile->Ort</option>\n";
}
echo "</select></td>\n";
echo "</form>\n";
echo "</tr>\n";
Auszug Ende
Was ich jetzt machen will ist das wenn ein Eintrag aus der Auswahlliste angeklickt wird, die zugehörigen Daten des ausgewählten Datensatzes in verschiedene Eingabefelder gesetzt werden. Ich habe mir gedacht das ich mittels JavaScript 'onChange' den value des selektierten Eintrags an die Html-Seite beim Neuladen übergebe, den Wert dann mit _Get mittels php auslese und die Daten für die Eingabefelder aus der Datenbank anhand des value wertes hole (value wert ist id in der datenbank). Leider funktioniert es nicht so wie ich es mir denke, bzw. ich finde den Fehler nicht. Ich poste mal den relevanten Code hier, vielleicht kann mir einer von euch Gurus helfen :)
JavaScript-Funktion die Seite neuladen soll
<script language="JavaScript">
function reload() {
[window.]location.href = "http://localhost/rechnunganlegen.php?value=+value";
location.reload();
}
</script>
Code für das Ausfüllen der Eingabefelder
$query = "SELECT Firma,Name,Vorname,Straße,PLZ,Ort FROM kunde WHERE KundenNr = '".$_GET['value']."'";
$result = mysql_query($query);
if(!$result) { // prüfen auf false
echo "Konnte die MySQL-Abfrage nicht verarbeiten <br/>\n";
echo "MySQL-Antwort:".mysql_error();
}
if($_GET['value'] == "" || $_GET['value'] == "nix") {
echo "<td align=\"left\" valign=\"top\">\n";
echo "<input name=\"kfirma\" type=\"text\" size=\"20\" maxlength=\"30\"><br/>\n";
echo "<input name=\"kvorname\" type=\"text\" size=\"20\" maxlength=\"30\"><br/>\n";
echo "<input name=\"kname\" type=\"text\" size=\"20\" maxlength=\"30\"><br/>\n";
echo "<input name=\"kstrasse\" type=\"text\" size=\"20\" maxlength=\"40\"><br/>\n";
echo "<input name=\"kplz\" type=\"text\" size=\"5\" maxlength=\"5\"> / <input name=\"kort\" type=\"text\" size=\"20\" maxlength=\"40\"><br/>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "</form>\n";
} else {
$zeile = mysql_fetch_object($result);
echo "<td align=\"left\" valign=\"top\">\n";
echo "<input name=\"kfirma\" type=\"text\" size=\"20\" maxlength=\"30\" value=\"$zeile->Firma\"><br/>\n";
echo "<input name=\"kvorname\" type=\"text\" size=\"20\" maxlength=\"30\" value=\"$zeile->Vorname\"><br/>\n";
echo "<input name=\"kname\" type=\"text\" size=\"20\" maxlength=\"30\" value=\"$zeile->Name\"><br/>\n";
echo "<input name=\"kstrasse\" type=\"text\" size=\"20\" maxlength=\"40\" value=\"$zeile->Straße\"><br/>\n";
echo "<input name=\"kplz\" type=\"text\" size=\"5\" maxlength=\"5\" value=\"$zeile->PLZ\"> / <input name=\"kort\" type=\"text\" size=\"20\" maxlength=\"40\" value=\"$zeile->Ort\"><br/>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "</form>\n";
}
so ist jetzt verdammt umfangreich geworden, sorry aber ich hoffe es ist noch leserlich genug