mit onlick funktion aufrufen
keineAhnungvonHTML
- php
Hallo,
habe schon anderen threats zu diesem thema gelesen hat mir leider nicht bei meinem problem geholfen.
ich habe eine mysql tabelle und schreibe zeilen weisen jeden eintrag der tabelle in mein formular. hinter jeder zeile erscheint ein button "bearbeiten" dessen name je nach zeilenummer $i "bearbeiten$i" ist.
Mit onclick möchte ich nun eine selbstgechrieben Funktion "function KundeBearbeiten ($i)" aufrufen die als Parameter die zeilennummer übergeben wird.
Das sieht dann bis jetzt so aus. Wo die Sterne stehen brauch ich hilfe:
$tabelleninhalt= mysql_query("SELECT * FROM A33_Kunden ") or die (mysql_error());
$i=1;
echo "<TABLE BORDER = 0>\n";
while ($row = mysql_fetch_array ($tabelleninhalt)) {
echo "<TR>\n";
echo "<TD>$row[Name]</TD>
<TD>$row[Vorname]</TD>
<TD>$row[EMail]</TD>
<TD>$row[TelNr]</TD>
<TD><input type='button' name =bearbeiten$i value = Bearbeiten onclick = ****??***** ></TD>\n";
echo "</TR>\n";
$i++;
}
echo "</TABLE>\n";
Kriegs aber syntaktisch leider nicht gebacken,
danke für eure hilfe
Jan
Javascript wäre eigentlich der treffendere Betreff?
Was soll denn passieren wenn man da drauf klickt? Wenn eine neue Seite aufgehen soll, würd ich einen Link draus machen, der dann das Script mit einem Parameter aufruft.
Wenn du es wirklich mit JS lösen willst, könntest du mit AJAX was anfangen. Wie man in einem onclick eine Funktion aufruft dürfte in SelfHtml um einiges besser erklärt sein als es hier zu erwarten ist. In Kurzform ungefähr:
onclick="meineJsFunktion(123);"
wobei 123 deine Kennung für den zu bearbeitenden Datensatz ist. Die Frage ist, wie fit du allgemein bist.
Das als Tip, nebem dem Hinweis dass du dich evtl. noch mit so Dingen wie HTML-Escapezeichen und so beschäftigen solltest, damit dir nicht ein Sonderzeichen deine ganze Seite versaut.
ja ich bin allgmein nicht sonderlich fit.. fange gerade erst an zu lernen. ich kann auch nichts mit javascript anfangen. kann man das nicht einfach lösen?
was soll passieren bein onclick? ganz einfach:
die einträge der tabelle die in der gleichen Zeile wie der button sind,
sollen in input felder geschrieben werden damit die möglichkeit besteht
den eintrag aus der tabelle zu verändern
Grüße,
das problem dabei ist zeit, es läuft nämlich so ab:
1)browser schickt an den server eine nafrage
2)browser verarbeitet das entsprechende (in deinem fall ein PHPscript)
3)die ausgabe wird nach der verarbeitung an den browser geschickt
4)browser baut die nazeige auf
5)jetzt kann der browser einen onclick registrieren, die funktion auf dem server ist aber längst ausgeführt
du könntest aber eine neue anfrage an den server schicken, zB mit AJAX oder mit link einen parameter übergeben - "direkt" weiss PHP nichts von dem was du mit deiner anzeige so nastellst
MFG
bleicher
Moin!
1)browser schickt an den server eine nafrage
Ok
2)browser verarbeitet das entsprechende (in deinem fall ein PHPscript)
*raeusper*
Grüße,
2)browser verarbeitet das entsprechende (in deinem fall ein PHPscript)
tschuldigung^^ ich sollte manchmal lesen was ich da für mist schriebe, aber da fühle ich mich viel zu authentisch doof xD
MFG
bleicher
Hi!
ich habe eine mysql tabelle und schreibe zeilen weisen jeden eintrag der tabelle in mein formular. hinter jeder zeile erscheint ein button "bearbeiten" dessen name je nach zeilenummer $i "bearbeiten$i" ist.
Damit bekommst du in $_POST/$_GET einen Eintrag, dessen Namen du nicht kennst, weil er irgendwas ab bearbeiten1 an aufwärts ist. besser ist es, bearbeiten[$i] zu verwenden, dann bekommst du (POST angenommen) in $_POST['bearbeiten'] ein Array, dessen erster Key die Nummer de Buttons ist, zu ermitteln mit der Funktion key().
Mit onclick möchte ich nun eine selbstgechrieben Funktion "function KundeBearbeiten ($i)" aufrufen die als Parameter die zeilennummer übergeben wird.
Da du das Thema PHP gewählt hast, soll diese Funktion vermutlich eine PHP-Funktion sein. Ein Browser weiß nichts von PHP-Funktionen. Wenn eine Aktion auf dem Browser etwas auf dem Server bewirken soll, muss der Browser einen Request absetzen, den der Server auswertet und das entsprechend Gewünschte startet.
echo "<TD>$row[Name]</TD>
<TD>$row[Vorname]</TD>
Kontextwechsel beachten! Es soll Leute geben, die behaupten ihr Name sei "foo<script>i=1;while(i++) alert(i)</script>".
Lo!
Da du das Thema PHP gewählt hast, soll diese Funktion vermutlich eine PHP-Funktion sein. Ein Browser weiß nichts von PHP-Funktionen. Wenn eine Aktion auf dem Browser etwas auf dem Server bewirken soll, muss der Browser einen Request absetzen, den der Server auswertet und das entsprechend Gewünschte startet"
---
von diesem Absatz hab ich leider nicht viel verstanden. bedeutet das ich kann keine php funktion mit onclick aufrufen?
wie sollte ich es denn machen, gar nicht mit einem button?
Jan
Hi!
Da du das Thema PHP gewählt hast, soll diese Funktion vermutlich eine PHP-Funktion sein. Ein Browser weiß nichts von PHP-Funktionen. Wenn eine Aktion auf dem Browser etwas auf dem Server bewirken soll, muss der Browser einen Request absetzen, den der Server auswertet und das entsprechend Gewünschte startet"
Bitte lass die Zitatzeichen so stehen, wie sie da stehen. Danke.
von diesem Absatz hab ich leider nicht viel verstanden. bedeutet das ich kann keine php funktion mit onclick aufrufen?
Du hast ja doch was verstanden. Verdeutliche dir das Prinzip Client-Server. Der Client und der Server arbeiten völlig getrennt voneinander. Der Client sendet nur gelegentlich einen Request (Anfrage) und bekommt daraufhin eine Response (Antwort). Niemals ruft einer beim anderen irgendwas auf direktem Wege auf.
wie sollte ich es denn machen, gar nicht mit einem button?
Du brauchst einen Auslöser auf Client-Seite. Das kann ein Button oder auch ein Link sein. Der muss einen Request erzeugen, indem er entweder ein Formular absendet oder vielleicht Ajax bemüht. Der Request kann Parameter enthalten, die der Server auswerten kann, um daraufhin irgendwas auszuführen. In deinem Fall musst du die Button-Nummer oder, wie du es nennst Zeilennummer, übertragen.
Lo!
ahh... ich muss es mit nem link machen so gehts. THX
Hallo,
dein Thread klingt nicht ganz jugendfrei!
Gruß Hans