php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.01.2012, 10:20  
Neuer Benutzer
 
Registriert seit: 25.11.2011
Beiträge: 12
PHP-Kenntnisse:
Fortgeschritten
perlfred befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Link soll nur DB-Änderung ausführen

Hallo!

Ich aktualisiere in einem DIV-Bereich per AJAX eine Tabelle. Innerhalb der Tabelle stelle ich (parameterisierte) Link's dar.
Durch einen Klick auf einen Link möchte ich eine DB-Aktion ausführen, welche wiederum eine Änderung der angezeigten Tabelle bewirkt.

Wenn ich als Link-Ziel die angezeigte php-Datei angebe, kann ich zwar die DB-Änderung ausführen, aber es wird immer die gesamte HTML-Seite neu aufgebaut und erst danach wieder die Tabelle aktualisiert.

<a href=\"./AngezeigteSeitel.php?Parameter1...">DB_aendern</a>";

Dies stört den gesamten Ablauf schon sehr.

Wie kann ich durch klick auf ein "HTML-Element" eine DB-Änderung ausführen ohne das eine Änderung an meinen Browser gesendet wird, so dass bei der nächsten AJAX-Aktualisierung nur die Änderung als Ergebnis angezeigt wird???

Fred.
perlfred ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.01.2012, 10:59  
Erfahrener Benutzer
 
Registriert seit: 07.12.2009
Beiträge: 843
PHP-Kenntnisse:
Fortgeschritten
chorn befindet sich auf einem aufstrebenden Ast
Standard

Mit Ajax. Ich sehe auch nicht, dass du das über den Link einsetzt. Mach es da genauso wie überall anders auch.
chorn ist offline   Mit Zitat antworten
Alt 02.01.2012, 11:27  
Neuer Benutzer
 
Registriert seit: 25.11.2011
Beiträge: 12
PHP-Kenntnisse:
Fortgeschritten
perlfred befindet sich auf einem aufstrebenden Ast
Standard

Hallo chorn!

Ich habe deine Antwort nicht verstanden.

Normalerweise würde ich einen Link, der eine php-Seite (welche die DB-Änderung ausführt) aufrufen und die gesamte Seite erneut anzeigen lassen.

Ich möchte nun aber ohne das ich die gesamte Seite neu lade eine DB-Aktion ausführen!
Indirekt wird durch die zyklische AJAX-Aktualisierung die Anzeige ja schon aktualisiert.
perlfred ist offline   Mit Zitat antworten
Alt 02.01.2012, 11:35  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Indirekt wird durch die zyklische AJAX-Aktualisierung die Anzeige ja schon aktualisiert.
Was spricht dagegen bei einem Klick auf einen Link ebenfalls ein Ajax Request anzustoßen?
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 02.01.2012, 11:55  
Neuer Benutzer
 
Registriert seit: 25.11.2011
Beiträge: 12
PHP-Kenntnisse:
Fortgeschritten
perlfred befindet sich auf einem aufstrebenden Ast
Standard

Hallo Dark Guardian!

Ich muss doch erst einmal meine DB-Änderung ausführen. Dies muss ich mit (in) einer PHP-Datei machen und wenn ich diese im Link angebe, wird die Ausgabe wieder an den Browser gesendet (ich erhalte dann eine leere Seite).

Muss ich irgend etwas "anderes" im Header angeben, damit der Link kein Ergebnis an den Browser sendet??
perlfred ist offline   Mit Zitat antworten
Alt 02.01.2012, 12:11  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Dir scheint nicht klar zu sein was AJAX eigentlich ist.

Im Prinzip ist es nichts anderes als ein durch JavaScript angestoßener HTTP Request.

D.h. die Ausgabe wird im JavaScript abgefangen und ggf. weiter verarbeitet, oder im Falle deiner DB Aktion dann einfach verworfen. Wobei es recht sinnlos ist überhaupt eine Ausgabe zu machen wenn sie nicht gebraucht wird.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 02.01.2012, 15:27  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Beispiel mit jQuery:
Code:
<div id="deine-tabelle"><table>..</table></div>
<a id="do-something" href="#">Mach was</a>
<script type="text/javascript">
$(document).ready(function() { // sobald Seite geladen wurde
  $('#do-something').bind('click', function() { // Klickevent auf Anker setzen
    $.post('/mach-was.php', { key: value }, function() { // und zwar mach-was.php aufrufen, die die DB ändert
      $('body').trigger('refresh-table'); // einen Event auslösen, der die Tabelle aktualisiert, hilfreich, wenn es mehrere Events auslösen
    });
  });
  $('body').bind('refresh-table', function() { // den Event fangen, nämlich Tabelle aktualisieren
    $.get('/hol-mir-nur-die-tabelle.php', function(html) { // von hol-mir-nur-die-tabelle.php das <table>-Konstrukt abholen
      $('#deine-tabelle').html(html); // und in den <div> Container schreiben
    }, 'html'); // Rückgabeformat des AJAX-Request definieren
  });
});
(ungetestet)
__________________
"Nuschel ich?" - "Was?"
Chriz ist gerade online   Mit Zitat antworten
Alt 02.01.2012, 18:00  
Neuer Benutzer
 
Registriert seit: 25.11.2011
Beiträge: 12
PHP-Kenntnisse:
Fortgeschritten
perlfred befindet sich auf einem aufstrebenden Ast
Standard

Hallo Dark Guardian!

Dem Link ein JS zuordnen und damit einen AJAX-Request auslösen!

Danke!!
perlfred ist offline   Mit Zitat antworten
Alt 03.01.2012, 12:34  
Neuer Benutzer
 
Registriert seit: 25.11.2011
Beiträge: 12
PHP-Kenntnisse:
Fortgeschritten
perlfred befindet sich auf einem aufstrebenden Ast
Standard

Hallo Chriz!

Danke für deine Bemühung(en)!

Mit JQuery muss ich mich allerdings erst noch intensiver beschäftigen um deine Lösung auch für mich einsetzen zu können.

Fred.
perlfred ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
link mit passwort sicher erstellen SteiniKeule PHP Einsteiger 21 28.11.2011 10:04
für jedes Forum Link erstellen außer wenn Link vorhanden uncharted PHP Einsteiger 7 24.09.2011 22:52
[Erledigt] Link wird falsch angezeigt jotpunktbee PHP Einsteiger 9 14.08.2011 14:31
[Erledigt] facebook bild link mistermint PHP Einsteiger 1 13.08.2011 17:01
[php] File Upload script - hochgeladener Link verschlüsseln und automatisch löschen staybb PHP Einsteiger 7 18.03.2011 13:01
Externen Javascript durch klick auf Link ausführen Chacky JavaScript, Ajax und mehr 7 11.02.2011 12:16
Link soll CMD lokal ausführen h00ligan PHP Einsteiger 58 10.02.2011 15:31
Daten aus SQL Tabelle inklusive Link stonedzytode PHP Tipps 2008 3 11.08.2008 00:27
[Erledigt] bei LINK Skript ausführen Raito PHP Tipps 2008 2 15.05.2008 13:50
Php script über link ausführen!?? Funky_ PHP Tipps 2006 2 20.06.2006 11:32
Per SQL Url (link) ausführen lassen PHP Tipps 2006 2 02.03.2006 08:19
[Erledigt] Link aus pop-up in parent Fenster ausführen HTML, Usability und Barrierefreiheit 2 23.05.2005 23:03
link öffnen & funktion ausführen... StartUpBoy PHP Tipps 2005 2 27.03.2005 21:39
link anklicken und php anweisung ausführen Matthiasnet PHP Tipps 2005 4 07.03.2005 22:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php aktion ausführen durch klick auf link

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum