Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

formular mittels js abschicken und darauf reagieren

Frage Entwicklung PHP

Mitglied: Closed

Closed (Level 1) - Jetzt verbinden

18.06.2008, aktualisiert 22.06.2008, 3062 Aufrufe, 6 Kommentare

hi,

hab ein kleines formular geschrieben, welches mir die datensätze aus einer datenbank anzeigt. mittels js kann ich auch die einzelnen datensätze anklicken und es erfolgt automatisch ein submit.

jetzt habe ich an jeden datensatz ein kleines image drangehangen, mit dem ich den angeklickten datensatz löschen möchte. mein problem ist, dass ich nicht genau weiß, wie ich auf den klick auf das image reagieren soll.

hier mal der sourcecode:
01.
<script type="text/javascript"> 
02.
	function dbChange(element){ 
03.
 		var id = element.getAttributeNode('id'); 
04.
		document.getElementById("id").value = id.value;  
05.
		document.user.submit(); 
06.
07.
</script> 
08.
 
09.
... (zeilen wurden entfernt) 
10.
 
11.
	for($i=0; $i<$anzahl; $i++) { 
12.
		$datensatz	=	mysql_fetch_array($result); 
13.
		if($i%2==0){ 
14.
			echo '<tr class="tbl" id="'.$datensatz['id'].'" bgcolor="#CCCCCC" onMouseOver=this.bgColor="#dde9fe" onMouseOut=this.bgColor="#CCCCCC" onclick="dbChange(this);">'; 
15.
			echo '<td align="center">' . $datensatz['username'] . '</td>'; 
16.
			if($datensatz['isAdmin'] == 1){ 
17.
				echo '<td align="center">ja</td>'; 
18.
			}else{ 
19.
				echo '<td align="center">nein</td>'; 
20.
21.
			echo '<td align="center"><img src="images/delete_grey.jpg" alt="delete" /></td>'; 
22.
		}else{ 
23.
			echo '<tr class="tbl" id="'.$row->id.'" onMouseOver=this.bgColor="#dde9fe" onMouseOut=this.bgColor="white" onclick="dbChange(this);">'; 
24.
			echo '<td align="center">' . $datensatz['username'] . '</td>'; 
25.
			if($datensatz['isAdmin'] == 1){ 
26.
				echo '<td align="center">ja</td>'; 
27.
			}else{ 
28.
				echo '<td align="center">nein</td>'; 
29.
30.
			echo '<td align="center"><img src="images/delete_white.jpg" alt="delete" /></td>'; 
31.
32.
		echo '</tr>'; 
33.
34.
?> 
35.
		<tr><td bgcolor="white"><input type="hidden" name="id" id="id" value=""/></td></tr> 
36.
	</table> 
37.
</form>
Mitglied: Arano
19.06.2008 um 21:03 Uhr
Was spricht denn gegen
01.
<a href="./delete.php?id=XXX" title=""><img src="" alt=""></a>
?

(Vielleicht sollte man sich erstmal um die grundlegenden Funktionen kümmern und dann anfangen das ganze mit JS auszuschmücken !?)

~ Arano
Bitte warten ..
Mitglied: Closed
19.06.2008 um 23:08 Uhr
es sind alle grundlegenden funktionen vorhanden. wie du siehst, sind ein paar punkte im skript mit dem hinweis, dass zeilen entfernt wurden,a ber darum geht es ja auch nicht.

ok soweit müsste das ja gehen, wenn ich dann die id an die url dranhänge und mittels get auslese. thx dafür.

ein weiteres problem (eher in richtung usability): ich habe das image derzeit in derselben zeile drin, die auch angeklickt werden kann. ist es irgendwie möglich das image von der erzeugten tabelle zu lösen und trotzdem einen bezug zum datensatz herzustellen? ´

der derzeitige ansatz ist etwas benutzerunfreundlich, da man direkt auf das image klicken muss, klickt man etwas über das image, dann wird schon eine andere aktion ausgeführt.

wäre um einen lösungsansatz sehr dankbar

danke schonmal
Bitte warten ..
Mitglied: Arano
21.06.2008 um 00:49 Uhr
es sind alle grundlegenden funktionen vorhanden. wie du siehst, sind ein paar punkte im skript mit dem hinweis, dass zeilen entfernt wurden,a ber darum geht es ja auch nicht.
Oh, tut mir Leid, das war etwas voreilig von mir !
Dachte nur weil das per Javascript markieren schon da ist, aber die Löschfunktion noch fehle... bitte entschuldige !

ein weiteres problem (eher in richtung usability): ich habe das image derzeit in derselben zeile drin, die auch angeklickt werden kann. ist es irgendwie möglich das image von der erzeugten tabelle zu lösen und trotzdem einen bezug zum datensatz herzustellen?
Meine spontanen Ideen waren:
- Das Image etwas verkleinern damit zwischen ihnen ein größerer Abstand entsteht.
(auch nicht unbedingt Benutzerfreundlich)
- Das Image per CSS in jeder zweiten Zeile etwas zur Seite verschieben.
(sieht nicht so schön aus und wirkt unorganisiert)
- Nach dem Klick auf das Image/Link noch Abfragen ob der Datensatz (hier glaube ich der Benutzer) wirklich gelöscht werden soll.
(Soll der Benutzer "Arano" wirklich gelöscht werden ?
Das als <form method="POST"> hat natürlich auch gleich wieder seine vorteile...
z.B: es gibt Plugins die alle verlinkten Seiten schon mal vorladen... was hier z.B.: alle Benutzer automatisch löschen würde
(habe ich auch erst vor kurzem erfahren, böse Sache das ))
Wenn dir davon nichts mehr zusagt als deine bisherige Lösung muss ich passen.

Schönes Wochenende noch
~Tobias
Bitte warten ..
Mitglied: Closed
21.06.2008 um 01:09 Uhr
hmm... danke erstmal für die antwort. ich dachte eher an so eine implementierung, wie es in phpmyadmin zu sehen ist. da funktioniert es ja auch recht gut.

wüßtest du eventuell, wie man so etwas realisieren könnte?
Bitte warten ..
Mitglied: Arano
22.06.2008 um 02:55 Uhr
Was meinst du den da genau ?
Naja, die Buttons zum direkten Löschen sind ja auch in der Zeile drin. Bleibt wohl nur noch das anklicken der gesamten Zeile worauf die Checkbox am Anfang gecheckt wird und unter mit dem zentralen Button gelöscht werden können.

Das Anklicken "checkt" die Checkbos per JS, dessen Name in jeder Zeile gleich lautet und mit zwei eckigen klammern endet (z.B. to_delete[]) sowie die ID des zu löschenden Datensatzes als Value.
(Daraus entsteht dann in PHP ein normales Array.)

Ansonsten musst du vielleicht mal tiefer in den PMA-Quelltext gucken !?

Schönen Sonntag
Tobias
Bitte warten ..
Mitglied: Closed
22.06.2008 um 09:30 Uhr
hmmm recht schwer das zu beschreiben. wie gesagt': das problem liegt darin, dass ein benutzer nur ein wenig neben das bild klicken könnte und somit nicht den delete befehl ausführt, sondern den datensatz auswählt. bei phpmyadmin bspw. werden die spalten mit einem weißen rahmen versehen. ich denke sowas würde schon fast ausreichen. bei mir werden die zeilen komplett eingefärbt und am ende die images integriert

hoffe du verstehst wie ich das meine
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Microsoft Office
Formular Autofill - Infopath (1)

Frage von TlBERlUS zum Thema Microsoft Office ...

Windows 10
Windows Startmenü, Searchfunktion, Uhr reagieren nicht mehr (4)

Frage von emal011 zum Thema Windows 10 ...

JavaScript
gelöst Dropdownfeld auslesen und mit AJAX und JS an PHP senden (7)

Frage von ITFlori zum Thema JavaScript ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...