ID auswählen und Werte in ein Formular eintragen lassen.
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
code
dank
datum
erscheinen
fehler
feld
formular
http
inhalt
input
jemand
kasten
liste
ordern
stehen
tabelle
teil
url
vorgegebene daten
-
Hallo,
ich habe eine kleine frage.
ich möchte die ids aus einer mysql tabelle auslesen und als auswahlmöglichkeit anzeigen lassen.
dies ist jedoch mein kleineres "problem".
<select name="lol" size="5" multiple> <option> 2... </option> <option> 1... </option> ... </select>
mein eigentliches problem ist:
wie bekomme ich es hin, dass wenn man auf die id 10 z.b. geklickt hat automatisch in ein formular die daten also name und titel oder sonstwas einfügt die in der tabelle bei der id 10 stehen.
ich hoffe ihr versteht was ich meine.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ho ;)
Verstehe ich das richtig?
Du hast eine DropDown-Liste (select) und wenn jemand die 10 auswählt, soll in einem anderen Formular (input-Felder) vorgegebene Daten erscheinen.
Wenn das so ist, musst du mit AJAX (und JavaScript) arbeiten. Das hat dann kaum was mit PHP zu tun. (Außer wenn du die Daten eventuell schon mit PHP in ein JSON Objekt lädst. In dem Fall bräuchtest du kein AJAX mehr. Und ich glaube fast, dass es mit JSON einfacher wäre... Bin aber kein Experte auf dem Gebiet.)
Ich bin mir nicht sicher, ob ich deine Frage richtig verstanden habe, aber wenn ja, sollte dich der AJAX bzw. JSON, aber auf jeden Fall JavaScript Hinweis weiter bringen, als nach PHP Code zu suchen.
lg
Sincer -
portal715 schrieb:
mein eigentliches problem ist:
wie bekomme ich es hin, dass wenn man auf die id 10 z.b. geklickt hat automatisch in ein formular die daten also name und titel oder sonstwas einfügt die in der tabelle bei der id 10 stehen.
ich hoffe ihr versteht was ich meine.
automatisch nach dem klicken im dropdownmenue geht das tatsächlich nur mit javascript.
in diesem fall schribst du mit zB var_export ein array in dem javascript in eine funktion (function), die beim klicken im dropdown (onChange) die Daten einträgt (getElementById, innerText).
ZUSÄTZLICH wäre Deine Seite aber perfekt wenn du in einem <Noscript>-tag einen absendebutton schreibst und einen entsprechenden php-Code schreibst.
Dazu könntest Du mal in z.B diesen Threat gucken -
ok, danke erstmal für die schnellen antworten.
Verstehe ich das richtig?
Du hast eine DropDown-Liste (select) und wenn jemand die 10 auswählt, soll in einem anderen Formular (input-Felder) vorgegebene Daten erscheinen.
genau das meine ich.
leider kenne ich mich mit java nicht aus.
kann mir ja vllt jemand aushelfen?
-
portal715 schrieb:
ok, danke erstmal für die schnellen antworten.
Verstehe ich das richtig?
Du hast eine DropDown-Liste (select) und wenn jemand die 10 auswählt, soll in einem anderen Formular (input-Felder) vorgegebene Daten erscheinen.
leider kenne ich mich mit java nicht aus.
:) Das mag sein. Immerhin musst du dafür kein Java können. Denn:
Java != JavaScript.
http://de.wikipedia.org/wiki/Java_(Programmiersprache)
http://de.wikipedia.org/wiki/JavaScript -
hmm... ja egal.
ich kann beides nicht.
du vllt?
wäre nett wenn mir das jemand machen könnte :-) -
portal715 schrieb: hmm... ja egal.
ich kann beides nicht.
du vllt?
wäre nett wenn mir das jemand machen könnte :-)
Quick & Dirty
<script type="text/javascript"> function ausfuellen() { var startthis = document.getElementById('optionsfeld').value eval(startthis);} function eintragen(id,wert) { document.getElementById(id).value=wert; } </script> <form action="zielseite.php" method="POST"> <select name="cvbmnjfj" onChange="ausfuellen();" id="optionsfeld"> <option value="eintragen('nr1','wert1')">hallo1</option> <option value="eintragen('nr2','wert2')">hallo2</option> </select> <input type="Text" name="" value="fdhfg" id="nr1"> <input type="Text" name="" value="jkhkf" id="nr2"> <noscript><input type="Submit" name="submitbutton" value="werte ändern"></noscript> </form>
Ich gehe mal davon aus php kannst du (für den submit-button).
andernfalls lässt du den <noscript>-teil weg und schreibst das javascript benötigt wird auf der homepage...
Beitrag zuletzt geändert: 17.7.2010 16:03:17 von simuliertes -
ok.
dankeschön.
vom prinzip her geht es schon wunderbar.
noch ein paar kleine sachen.
wie ändere ich den wert im 2. kasten?
am anfang soll nichts im auswahlkasten stehen also in diesem bsp kein hallo1.
€dit:
ich hab des mit dem noscrip weggelassen für den, den es interessiert
Beitrag zuletzt geändert: 17.7.2010 18:54:24 von portal715 -
portal715 schrieb:
ok.
dankeschön.
vom prinzip her geht es schon wunderbar.
noch ein paar kleine sachen.
wie ändere ich den wert im 2. kasten?
am anfang soll nichts im auswahlkasten stehen also in diesem bsp kein hallo1.
Wenn Du im auswahlfeld hallo2 auswählst (und klickst) ändert sich der wert im 2ten kasten (zu wert2)
nun ja, mein code im detail:
<option value="eintragen('nr1','wert1')">hallo1</option>
-hallo1 kann durch einen beliebigen Text ersetzt werden und ist das was im auswahlmenue steht. Also auch leer sein
-wert1 ist das was in dem input-feld erscheint wenn hallo1 ausgwählt wird
-"nr1" ist das ziel und da kann irgendwas anderes stehen ,solange es als id in einem input feld existiert
<input type="Text" name="" value="fdhfg" id="nr1">
also kannst Du beliebig viele auswahlfelder & inputfelder hinzufügen , solange sie mit einer id verknüpft sind -
ja wie mache ich dann dass bei nr2 der wert lol eingefügt wird? ich muss das ja irgendwie trennen...
also dass ich bei der außwahl hallo1 dem ersten input feld den wert "wert1lol" und dem 2. input feld den wert "lol" zuweise.
-
mmmhh ok , jetzt verstehe ich.
also ausgehend von meinem Code könntest Du einfach im option-tag im werte "value" eine weitere option mit ";" getrennt eintragen.
Also als Beispiel:
<option value="eintragen('nr2','eintraginfeld1');eintragen('nr1','eintraginfeld2')"">hallo2</option>
Ich gebe zu das ist eine sehr umständliche Methode und wäre eleganter mit einem Array zu lösen (vielleicht erbarmt sich jm und schreibt den Code um dafür) aber letztendlich funktioniert sie...
Wie viele input-Felder müssen denn immer ausgefüllt werden?
P.S. Falls das hier irgend ein Admin liest bitte nach html ccs und javascript verschieben!
Beitrag zuletzt geändert: 17.7.2010 21:38:43 von simuliertes -
nur 2
Aber wenn jemand will kann mir das auch jemand mit Array undso machen :)
Danke fürs Helfen bis jetzt klappt alles wunderbar, bis auf eins:
ich möchte die ids automatisch vom mysql server abrufen nur bekomme ich immer einen error:
Parse error: syntax error, unexpected '<' in ****/script.php on line 122
<?php mysql_select_db("$db") or die ("Database doesn't exist"); $result = mysql_query("SELECT id, titel, inhalt FROM newsscript ORDER BY id DESC"); while($row = mysql_fetch_array($result)) { <option value="eintragen('nr1','test1');eintragen('nr2','eintraginfeld2test1')">'$row['id']'</option> } ?>
Beitrag zuletzt geändert: 18.7.2010 11:49:06 von portal715 -
von php hast Du also auch 0 ahnung...
<?php mysql_select_db("$db") or die ("Database doesn't exist"); $result = mysql_query("SELECT id, titel, inhalt FROM newsscript ORDER BY id DESC"); while($row = mysql_fetch_array($result)) { echo "<option value=\"eintragen('nr1','test1');eintragen('nr2','eintraginfeld2test1')\">'".$row['id']."'</option>\n"; } ?>
-
leider ist das nur der erste teil der arbeit. wenn ich jetzt dieses "eintraginfeld2test1" und "test1" in ".$row['titel']." ändere bekomme ich einen error.
ich nehme an du weist auch dafür eine lösung
Beitrag zuletzt geändert: 19.7.2010 20:33:18 von portal715 -
portal715 schrieb:
leider ist das nur der erste teil der arbeit. wenn ich jetzt dieses "eintraginfeld2test1" und "test1" in ".$row['titel']." ändere bekomme ich einen error.
ich nehme an du weist auch dafür eine lösung
echo "<option value=\"eintragen('nr1','".$row['id']."');eintragen('nr2','".$row['id']."')\">'".$row['id']."'</option>\n";
ungetestet
ansonsten gilt: bei fehlern , fehlermeldung und code mitposten, google benutzen (stichwort wäre hier zB php und der befehl echo gewesen) , php lernen oder es gleich lassen.
Beitrag zuletzt geändert: 20.7.2010 16:09:09 von simuliertes -
jop soweit bin ich in der zwischenzeit auch gekommen.
Durch das nur id benutzen von dir habe ich etwas festgestellt:
wenn ich den code so abänder dass zwei mal der titel oder 2 mal die id in den kästchen angezeigt wird funktioniert alles. Wenn ich jetzt aber id titel und an der stelle nr2 das titel durch "inhalt" ersetze entsteht ein fehler. es wird nämlich der inhalt auch noch bei der id im auswahlkästchen angezeigt mitsamt den zweichen')">
also dannLiebe Grüße')">'4'
<?php mysql_select_db("$db") or die ("Database doesn't exist"); $result = mysql_query("SELECT id, titel, inhalt FROM newsscript ORDER BY id DESC"); while($row = mysql_fetch_array($result)) { echo "<option value=\"eintragen('nr1','".$row['titel']."');eintragen('nr2','".$row['titel']."')\">'".$row['id']."'</option>\n"; } ?>
€dit:
ok irgendwie ist ettwas komisch hier. wenn ich einen neuen beitrag hinzufüge funktioniert alles auch mit dem inhalt aber bei den alten riegndwie nicht so ganz. naja egal danke schön fürs helfen.
Und ja, ich kenne den echo befehl von php und ja ich kann auch ein bisschen was aber ich hab einfach nciht dran gedacht...
€dit2: so jetzt habe ich den übeltäter :) wenn ich einen link in den text einbaue bekomm ich den fehler, ansonsten nicht. hat irgendjemand eine idee wie ich das lösen kann?
Beitrag zuletzt geändert: 21.7.2010 13:09:55 von portal715 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage