Service2Max - Die neue Service-Dimension

Sortierbare Liste mit Drag & Drop in Ajax

Erstellt von Patrick Matsumura am 20.11.2008

| 52 Kommentare

In diesem Tutorial möchte ich erklären, wie man mit script.aculo.us und dem Javascript Framework Prototype eine sortierbare Liste mit Drag & Drop-Funktionalität aufbaut. Der Clou an der Sache ist, dass die Liste sich ihren Zustand dauerhaft merken wird. Damit das einwandfrei funktioniert, ist es notwendig die Informationen zu speichern. Als Datenspeicher dient eine MySQL Datenbank.

Hier sind vorab die Links zur Vorschau und zum Download der Tutorialfiles.

Zunächst braucht man Prototype und script.aculo.us. Danach werden die Javascript-Dateien in einen Ordner gespeichert und in die HTML-Datei eingebunden. Ich habe die Javascripts in den Ordner “js” gespeichert. Man sollte unbedingt darauf achten, dass Prototype VOR script.aculo.us eingebunden wird.

So bindet man die beiden Bibliotheken ein:

<script src="/js/prototype.js" type="text/javascript"></script>
<script src="/js/scriptaculous.js" type="text/javascript"></script>

Nachdem das Grundgerüst steht, kann ich mit der MySQL Datenbank anfangen. Dazu lege ich mir eine Tabelle mit folgendem Code an:

CREATE TABLE `sortable_ajax_list` (
`ID` TINYINT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`list_value` VARCHAR(64) NOT NULL ,
`sort_order` TINYINT(4) NOT NULL
) ENGINE = MYISAM

Ich erkläre kurz die Bedeutung der einzelnen Felder. ID wird benutzt um einen eindeutigen Bezeichner für jeden Datensatz zu haben. Dieser Wert erhöht sich durch das AUTO_INCREMENT automatisch um eins, sobald ein neuer Datensatz angelegt wird. Gleichzeitig ist ID auch der Primary Key. Im Feld list_value speichere ich den Wert des Listenelements und in sort_order wir die Sortierreihenfolge festgehalten.

Damit sind die beiden Bibliotheken eingebunden und Die MySQL Tabelle angelegt. Als nächstes werde ich eine HTML-Liste mit einem kleinen Stück PHP-Code generieren. Der Code soll die aktuelle Bezeichnung und die Reihenfolge der Listenelemente aus der Datenbank laden und entsprechend darstellen.

Aber vorher will ich noch eine kleine Konfigurationsdatei für alle weitern PHP-Scripts anlegen. In dieser Datei werden die Logindaten für die Datenbank eingetragen und die Verbindung hergestellt. Diese Datei nenne ich config.php und speichere sie in meinem Stammverzeichnis ab.

<?

####
# Konfigurationsdaten für die Datenbank
####

$dbhost = 'localhost';
$dbuser = 'benutzer';
$dbpass = 'passwort';
$dbname = 'meine_db';

$connection = mysql_connect($dbhost, $dbuser, $dbpass); // Stellt die Verbindung zur Datenbank her

mysql_select_db($dbname, $connection); // Wählt die entsprechende Datenbank aus
?>

Nachdem ich jetzt meine Konfiguration fertig habe, kann ich sie in die HTML-Datei einbinden. Auch kann ich meine MySQL-Datenbank abfragen und so die Liste erzeugen. Das sieht nun so aus:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sortable List in Ajax</title>
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js" type="text/javascript"></script>
</head>
<body>
<ul id="ajax_liste">

<?php
	include_once('config.php'); //Konfigurationsdatei einbinden

    $result = mysql_query("SELECT * FROM sortable_ajax_list ORDER BY sort_order"); // Anfrage an die Datenbank stellen und Ausgabe sortieren

    while($data = mysql_fetch_array($result))
    {
		echo '<li id="item_'. $data[ID] .'">'. $data[list_value] .'</li>';
		echo "\n";
	}
?>

</ul>
</body>
</html>

Jetzt, wo die Liste vom PHP-Code generiert wurde, soll sie auch noch sortierbar sein und sich ihren Zustand merken. Das Speichern soll nicht “spürbar” sein und darum machen wir den Request mit Ajax.Request von Prototype. Die Aktualisierung soll nach jeder Änderung der Reihenfolge vorgenommen werden. Darum setze ich den Request in die onUpdate Methode und übermittle an die PHP-Datei “sort_function.php” die serialisierten Daten der Liste. Der Code dafür sieht so aus:

<script type="text/javascript">
Sortable.create("ajax_liste",
	{
	onUpdate:function()
		{
		new Ajax.Request('sort_function.php',
			{
			method: "post",
			parameters: {data: Sortable.serialize("ajax_liste")}
			});
		}
	});
</script>

Wichtig: Das Javascript muss im HTML-Code NACH der Liste kommen, sonst wird es nicht angewendet. Als nächstes brauche ich die Funktion zum Speichern der Reihenfolge. Diese schreibe ich in die Datei “sort_function.php” und speichere sie in meinem Stammverzeichnis. Das ganze sieht so aus:

<?php
include_once('config.php');

parse_str($_POST['data']);

for ($i = 0; $i < count($ajax_liste); $i++) {
	if(is_int($i)) {
		mysql_query("UPDATE sortable_ajax_list SET sort_order = $i WHERE ID = $ajax_liste[$i]");
	}
	else {
	exit;
	}
}

?>

Man sollte beachten, dass in diesem Codestück nur wenig Überprüfung der übermittelten Daten erfolgt. Das kann unter Umständen missbraucht werden, um schädlichen Code einzuschleusen. Also ist es wichtig, die Daten zuerst genauer zu prüfen und dann zu speichern.

Jetzt ist alles fertig und die Liste kann sortiert und ihr Zustand gespeichert werden.

Kommentare und Verbesserungsvorschläge sind erwünscht.

Bis zum nächsten Tutorial,

Patrick

  • Daniel

    Hallo !

    Die Idee ist sehr insteressant.
    Wollte die Oben aufgeführte Vorschau(Beispiel?) anschauen.
    Leider funktioniert das updaten Datenbank anscheindend nicht. Bei Seitenrefresh nach umgestellter Reihenfolge, bleibt diese nicht so wie ich sie geändert habe.

    Oder ist in dem aufgeführten Beispiel die Datenbank außer Betrieb ? Wollte es gerne in Action sehen :o)

    Liebe Grüße

  • Daniel

    Hallo !

    Die Idee ist sehr insteressant.
    Wollte die Oben aufgeführte Vorschau(Beispiel?) anschauen.
    Leider funktioniert das updaten Datenbank anscheindend nicht. Bei Seitenrefresh nach umgestellter Reihenfolge, bleibt diese nicht so wie ich sie geändert habe.

    Oder ist in dem aufgeführten Beispiel die Datenbank außer Betrieb ? Wollte es gerne in Action sehen :o)

    Liebe Grüße

  • http://s2m.ch/ Patrick Matsumura

    Danke für die Information und für den Kommentar. Ich hatte tatsächlich einen kleinen Fehler in der “sort_function.php”. Es fehlte eine Klammer in Zeile 7. Sollte nun wieder alles funktionieren.

    Patrick

  • http://s2m.ch Patrick Matsumura

    Danke für die Information und für den Kommentar. Ich hatte tatsächlich einen kleinen Fehler in der “sort_function.php”. Es fehlte eine Klammer in Zeile 7. Sollte nun wieder alles funktionieren.

    Patrick

  • Daniel

    Oh ja.
    Jetzt läuft es wunderbar.
    Auch der “Nachbau” nach Deiner Anleitung hat wunderschön geklappt.
    Dies ist ein schönes und durchaus sehr nützliches Tutorial.

    Danke und hoffentlich bis zu nächsten Tutorial :o)

  • Daniel

    Oh ja.
    Jetzt läuft es wunderbar.
    Auch der “Nachbau” nach Deiner Anleitung hat wunderschön geklappt.
    Dies ist ein schönes und durchaus sehr nützliches Tutorial.

    Danke und hoffentlich bis zu nächsten Tutorial :o)

  • http://s2m.ch/ Patrick Matsumura

    Freut mich, dass es einen Nutzen für dich hat. Momentan arbeite ich beruflich mit dem ExtJS Framework. Durch den Umfang und die Komplexität, dass dieses Framework mit sich bringt, werde ich wohl mein nächstes Tutorial diesem Thema widmen.

    Hier noch der Link: http://www.extjs.com

    Patrick

  • http://s2m.ch Patrick Matsumura

    Freut mich, dass es einen Nutzen für dich hat. Momentan arbeite ich beruflich mit dem ExtJS Framework. Durch den Umfang und die Komplexität, dass dieses Framework mit sich bringt, werde ich wohl mein nächstes Tutorial diesem Thema widmen.

    Hier noch der Link: http://www.extjs.com

    Patrick

  • Daniel

    Danke :o)

    Lustig wollte Dir auch folgende Seite zukommen lassen.
    Aber es ist ja der gleiche Betreiber…

    http://filetree.extjs.eu/

    Ich hatte ursprünglich soetwas vor…
    Quasi einen Dateimanager ( Wie Microsoft )

    http://www.afian.com/demo

    Es hat aber schon in sich :o)

    Liebe Grüße

  • Daniel

    Danke :o)

    Lustig wollte Dir auch folgende Seite zukommen lassen.
    Aber es ist ja der gleiche Betreiber…

    http://filetree.extjs.eu/

    Ich hatte ursprünglich soetwas vor…
    Quasi einen Dateimanager ( Wie Microsoft )

    http://www.afian.com/demo

    Es hat aber schon in sich :o)

    Liebe Grüße

  • http://s2m.ch/ Patrick Matsumura

    Saki ist ein sehr fleissiger Teilnehmer des ExtJS Forums und auch ein sehr talentierter JS-Programmierer. Den Dateimanager finde ich auch recht interessant.

    Das Schöne an Ext ist, dass man relativ schnell eine gute und saubere Oberfläche bauen kann. Allerdings sollte man sich mit Themen wie Javascript-Object und JSON auskennen. Evtl. schreibe ich einen Artikel zu den Themen. Hast du vielleicht sogar einen besonderen Wunsch? Was interessiert dich momentan?

    Liebe Grüsse,

    Patrick

  • http://s2m.ch Patrick Matsumura

    Saki ist ein sehr fleissiger Teilnehmer des ExtJS Forums und auch ein sehr talentierter JS-Programmierer. Den Dateimanager finde ich auch recht interessant.

    Das Schöne an Ext ist, dass man relativ schnell eine gute und saubere Oberfläche bauen kann. Allerdings sollte man sich mit Themen wie Javascript-Object und JSON auskennen. Evtl. schreibe ich einen Artikel zu den Themen. Hast du vielleicht sogar einen besonderen Wunsch? Was interessiert dich momentan?

    Liebe Grüsse,

    Patrick

  • Daniel

    Hallo Patrick.
    Sorry, aber Ajax ist für mich Neuland. Daher meine Begeisterung für Ajax Anwendungen!
    Was ich interessant finden würde ist, wenn ich die “Elemente” per drag&drop aus der DB entfernen könnte.
    Evtl. mit einer Sicherheitsabfrage.
    Vom prinzip so :o) (Sorry schnell gebastelt…)

    http://miba.mi.ohost.de/passwd/index2.php

    Element über Mülleinmer ziehen und loslassen…

    Liebe Grüße

  • Daniel

    Hallo Patrick.
    Sorry, aber Ajax ist für mich Neuland. Daher meine Begeisterung für Ajax Anwendungen!
    Was ich interessant finden würde ist, wenn ich die “Elemente” per drag&drop aus der DB entfernen könnte.
    Evtl. mit einer Sicherheitsabfrage.
    Vom prinzip so :o) (Sorry schnell gebastelt…)

    http://miba.mi.ohost.de/passwd/index2.php

    Element über Mülleinmer ziehen und loslassen…

    Liebe Grüße

  • http://s2m.ch/ Patrick Matsumura

    Ich habe mich gestern noch mit dem Thema Löschen und Hinzufügen auseinandergesetzt. Ich werde dazu im Laufe der Woche ein kleines Tutorial schreiben. Es wird auf diesem hier aufbauen und es etwas erweitern. Ich nehme gerne noch ein paar Ideen mit in das Tutorial. Sag mir einfach, was dazu noch sinnvoll wäre.

    Liebe Grüsse,

    Patrick

  • http://s2m.ch Patrick Matsumura

    Ich habe mich gestern noch mit dem Thema Löschen und Hinzufügen auseinandergesetzt. Ich werde dazu im Laufe der Woche ein kleines Tutorial schreiben. Es wird auf diesem hier aufbauen und es etwas erweitern. Ich nehme gerne noch ein paar Ideen mit in das Tutorial. Sag mir einfach, was dazu noch sinnvoll wäre.

    Liebe Grüsse,

    Patrick

  • http://www.panpan.ch/ Peter

    Da hab ich das falsche gesucht und das richtige gefunden. Du hast gleich mein nächstes Problem – nebst drag/drop – auch gelöst: das speichern in ner Datenabank. Muss zwar noch einiges auf meine Seite ummünzen, sist aber wirklich ein super Beispiel. Chapeau!

  • http://www.panpan.ch Peter

    Da hab ich das falsche gesucht und das richtige gefunden. Du hast gleich mein nächstes Problem – nebst drag/drop – auch gelöst: das speichern in ner Datenabank. Muss zwar noch einiges auf meine Seite ummünzen, sist aber wirklich ein super Beispiel. Chapeau!

  • Sven

    Hallo,

    sehr genial, das script.
    Zumindest wenn ich die Vorschau anklicke.
    Bin allerdings Anfänger was Ajax, MySql usw. angeht.
    Wie kann ich denn jetzt die Liste editieren bzw. erweitern?
    Ich habe mit phpmyadmin alles soweit eingerichtet, aber es erschein nix auf der php-Seite. Eine Fehlermeldung kriege ich auch nicht. Wie kann ich denn festellen, ob die Verbindung zur Datenbank evtl. nicht vorhanden ist?

    Danke für die Hilfe!

  • Sven

    Hallo,

    sehr genial, das script.
    Zumindest wenn ich die Vorschau anklicke.
    Bin allerdings Anfänger was Ajax, MySql usw. angeht.
    Wie kann ich denn jetzt die Liste editieren bzw. erweitern?
    Ich habe mit phpmyadmin alles soweit eingerichtet, aber es erschein nix auf der php-Seite. Eine Fehlermeldung kriege ich auch nicht. Wie kann ich denn festellen, ob die Verbindung zur Datenbank evtl. nicht vorhanden ist?

    Danke für die Hilfe!

  • http://s2m.ch/ Patrick Matsumura

    Du könntest abfragen, ob eine Verbindung besteht oder nicht. Zum Beispiel:

    if(!$connection) die (‘Verbindung zu Datenbank konnte nicht hergestellt werden’);

    Zum Erweitern der Liste könntest du bspw. ein Formular mit Textbox und Submit-Button erstellen, das dann die erforderlichen Daten an ein Script sendet. Dieses Script sollte dann einfach die Daten verarbeiten und entsprechend in die Datenbank schreiben. Das wars dann auch schon.

    Eine nützliche Hilfe sollte http://www.php.net sein. Lies dich am besten in die MySQL-Funktionen ein.

    Ich hoffe ich konnte dir helfen.

    Patrick

  • http://s2m.ch Patrick Matsumura

    Du könntest abfragen, ob eine Verbindung besteht oder nicht. Zum Beispiel:

    if(!$connection) die (‘Verbindung zu Datenbank konnte nicht hergestellt werden’);

    Zum Erweitern der Liste könntest du bspw. ein Formular mit Textbox und Submit-Button erstellen, das dann die erforderlichen Daten an ein Script sendet. Dieses Script sollte dann einfach die Daten verarbeiten und entsprechend in die Datenbank schreiben. Das wars dann auch schon.

    Eine nützliche Hilfe sollte http://www.php.net sein. Lies dich am besten in die MySQL-Funktionen ein.

    Ich hoffe ich konnte dir helfen.

    Patrick

  • Sven

    Hi,

    erst mal, danke für deine Hilfe, Patrick!
    Habe jetzt ein Formular erstellt und das füllen der DB funzt
    auch. Zumindest list_value wird gefüllt und die ID zählt auch hoch. Was aber leider nicht geht ist die speicherung der neu sortierten Liste nach dem aktualisieren, so wie das bei deiner Vorschau ist.
    Jetzt muss ich leider noch mal fragen, wie das denn gehen kann. Muss ich mit dem Formular auch die sort_order selber hochzählen oder kann der Wert dieser Tabellenzelle immer 0 sein. So wie ich das verstehe ist sort_order doch für die neue Sortierung nach dem aktualisieren zuständig. Oder, welche scriptbefehle sorgen dafür? Das verstehe ich leider nicht!

    Noch mal danke für die Hilfe!

    Sven

  • Sven

    Hi,

    erst mal, danke für deine Hilfe, Patrick!
    Habe jetzt ein Formular erstellt und das füllen der DB funzt
    auch. Zumindest list_value wird gefüllt und die ID zählt auch hoch. Was aber leider nicht geht ist die speicherung der neu sortierten Liste nach dem aktualisieren, so wie das bei deiner Vorschau ist.
    Jetzt muss ich leider noch mal fragen, wie das denn gehen kann. Muss ich mit dem Formular auch die sort_order selber hochzählen oder kann der Wert dieser Tabellenzelle immer 0 sein. So wie ich das verstehe ist sort_order doch für die neue Sortierung nach dem aktualisieren zuständig. Oder, welche scriptbefehle sorgen dafür? Das verstehe ich leider nicht!

    Noch mal danke für die Hilfe!

    Sven

  • http://s2m.ch/ Patrick Matsumura

    Damit die Sortierfunktion richtig funktioniert, muss im Feld “sort_order” in der Tabelle ein Wert sein. Wie du oben siehst, darf das Feld nich NULL sein. Ergo: du musst einen Wert übergeben. Die Zahl, die du eintragen musst ist die Anzahl der Felder + 1. Also wenn deine Liste bspw. 5 Einträge hat, dann musst du beim 6. Eintrag bei “sort_order” eine 6 eintragen. Somit hängst du den neuen Eintrag an das Ende der List und kannst ihn dann problemlos an die gewünscht Position schieben.

    Hoffe das hilft dir weiter.

    Patrick

  • http://s2m.ch Patrick Matsumura

    Damit die Sortierfunktion richtig funktioniert, muss im Feld “sort_order” in der Tabelle ein Wert sein. Wie du oben siehst, darf das Feld nich NULL sein. Ergo: du musst einen Wert übergeben. Die Zahl, die du eintragen musst ist die Anzahl der Felder + 1. Also wenn deine Liste bspw. 5 Einträge hat, dann musst du beim 6. Eintrag bei “sort_order” eine 6 eintragen. Somit hängst du den neuen Eintrag an das Ende der List und kannst ihn dann problemlos an die gewünscht Position schieben.

    Hoffe das hilft dir weiter.

    Patrick

  • Sven

    Uui, danke für dein schnelle Antwort!
    Das ist mir jetzt langsam peinlich!
    Ich habe jetzt in meinem Formular zum füllen der DB noch ein pulldown-Menü hinzugefügt.
    Dort trage ich bei jedem Eintrag ein neue Zahl ein.
    Das funzt auch. sort_order hat jetzt in der DB beim ersten Eintrag. den Wert 1, beim zweiten den Wert 2 usw.
    Also ist doch eigendlich wie bei ID! Oder?
    Die werte sind immer identisch.
    Geht aber leider immer noch nicht.
    Wenn ich z.B. Eintrag 6 der Liste an die erste Stelle schiebe, und auf aktualisieren drücke, bringt Eintrag 6 wieder nach unten.
    Ich habe aber alle Scripte von dir übernommen.
    Sorry, kann ja eigentlich nicht so schwer sein.
    Aber es läuft nicht, dabei würde ich doch schon ganz gerne nutzen.

    Hast du noch eine Idee bzw. habe ich was falsch verstanden an deinem letzten Eintrag?

    Gruß
    Sven

  • Sven

    Uui, danke für dein schnelle Antwort!
    Das ist mir jetzt langsam peinlich!
    Ich habe jetzt in meinem Formular zum füllen der DB noch ein pulldown-Menü hinzugefügt.
    Dort trage ich bei jedem Eintrag ein neue Zahl ein.
    Das funzt auch. sort_order hat jetzt in der DB beim ersten Eintrag. den Wert 1, beim zweiten den Wert 2 usw.
    Also ist doch eigendlich wie bei ID! Oder?
    Die werte sind immer identisch.
    Geht aber leider immer noch nicht.
    Wenn ich z.B. Eintrag 6 der Liste an die erste Stelle schiebe, und auf aktualisieren drücke, bringt Eintrag 6 wieder nach unten.
    Ich habe aber alle Scripte von dir übernommen.
    Sorry, kann ja eigentlich nicht so schwer sein.
    Aber es läuft nicht, dabei würde ich doch schon ganz gerne nutzen.

    Hast du noch eine Idee bzw. habe ich was falsch verstanden an deinem letzten Eintrag?

    Gruß
    Sven

  • http://s2m.ch/ Patrick Matsumura

    Habe dir eine Email geschickt. Wenn du mir darauf antwortest, dann kann ich dir sicher besser weiterhelfen. Die Lösung lässt sich so besser finden.

    Gruss,

    Patrick

  • http://s2m.ch Patrick Matsumura

    Habe dir eine Email geschickt. Wenn du mir darauf antwortest, dann kann ich dir sicher besser weiterhelfen. Die Lösung lässt sich so besser finden.

    Gruss,

    Patrick

  • Sven

    Hallo Patrick,

    da ist nix angekommen.
    Vielleicht untergegangen.
    Nimm doch mal diese yahoo-Adresse, die ich jetzt eingetragen habe.
    Das Postfach ist auch nicht so voll.

    Danke und Gruß

  • Sven

    Hallo Patrick,

    da ist nix angekommen.
    Vielleicht untergegangen.
    Nimm doch mal diese yahoo-Adresse, die ich jetzt eingetragen habe.
    Das Postfach ist auch nicht so voll.

    Danke und Gruß

  • Huelse

    Hallo Patrick,

    gutes Tutorial. Freue mich das Nächste.

    Gruß

    Huelse

  • Huelse

    Hallo Patrick,

    gutes Tutorial. Freue mich das Nächste.

    Gruß

    Huelse

  • http://s2m.ch/ Patrick Matsumura

    Danke, das Nächste ist schon in Arbeit. Dauert allerdings noch ein wenig, da ich momentan sehr beschäftigt bin. Bis dahin könnt ihr gerne Vorschläge und Wünsche anbringen und ich werde versuchen sie entsprechend einzubinden.

    Patrick

  • http://s2m.ch Patrick Matsumura

    Danke, das Nächste ist schon in Arbeit. Dauert allerdings noch ein wenig, da ich momentan sehr beschäftigt bin. Bis dahin könnt ihr gerne Vorschläge und Wünsche anbringen und ich werde versuchen sie entsprechend einzubinden.

    Patrick

  • Tino

    Hat jemand eine Idee wie man das ganze Listenübergreifend gestallten könnte? So das ich praktisch mehrere Listen auf der Website habe und eine Liste mit den zuordbaren Elementen?

  • Tino

    Hat jemand eine Idee wie man das ganze Listenübergreifend gestallten könnte? So das ich praktisch mehrere Listen auf der Website habe und eine Liste mit den zuordbaren Elementen?

  • Simon

    Hi,
    Ja mich würde auch interessieren ob sowas mit mehreren Listen möglich ist oder ob es auch eine Möglichkeit gibt die ‘s waagrecht zu verschieben.

    MfG
    Simon

  • Simon

    Hi,
    Ja mich würde auch interessieren ob sowas mit mehreren Listen möglich ist oder ob es auch eine Möglichkeit gibt die ‘s waagrecht zu verschieben.

    MfG
    Simon

  • Simon

    oh, vor dem ‘s gehört ein li.

  • Simon

    oh, vor dem ‘s gehört ein li.

  • http://www.ajax-community.de/serverseitige-skriptsprachen/8431-jquerry-tabellen-zeile-per-drag-drop-verschieben-speichern.html#post42119 JQuerry – Tabellen Zeile per Drag & Drop verschieben und speichern

    [...] [...]

  • Supercat1510

    Würde das ganze auch mit tabellenzeilen funktionieren?

  • Tom

    Hallo,

    habe ein kleines Problem beim speichern der Daten in eine MySQL DB.

    Struktur:
    index.php (diese include(“test.php”))
    Einen Unterordner Page in welcher die test.php liegt.
    Jetzt will ich alles über die test.php ablaufen lassen aber leider speichert er die Änderung nicht. Ich vermute das er mit der URL Angabe schwierigkeiten hat ? liege ich da richtig?

    vieleicht kann mir jemand helfen.

    Kontakt: Dilopho29@web.de

    Gruß Tom

  • Julian

    Super Tutorial!!

    Gibt es eine Möglichkeit das ganze zu erweitern das es für meherer listen geeignet ist.
    Man müsste die Datenbank um eine Spalte erweitern z.B. `id_subcat` TINYINT(4) NOT NULL

    Nur Wie übergebe ich jetzt den zweiten Parameter???

    nav punkt 1
    nav punkt 1
    ……….. sub_cat 1
    ……….. sub_cat 2
    ……………….. sub_sub_cat 1
    navi 3

    Ich bedanke mich schonmal im vorraus für einen Tipp.

    LG ju

  • Jan

    Wie trage ich denn genau die Felder in die Tabelle ein (Test,Blaa,Downloads,Home)

    Ich habe alles wie hier übernommen und meine sql-Daten benutzt nur die Anordnung der vier Elemente wird nicht gespeichert.

  • Patrick Matsumura

    @5f2767780f189adaab8baed58eafc4b5:disqus : Die Daten kannst du über eine Konsole oder mit HIlfe eines Programms, wie PHPMyAdmin eintragen.

  • Frank

    Hallo,

     

    eins muss ich ja sagen: Das Teil ist zwar alt, aber absolut genial. Ich
    wollte schon sowas selbst programmieren aber nie die Zeit und den Elan dafür
    gehabt. Nun habe ich es für eine Webseite gebraucht und prompt auch hier
    gefunden! Also: Vielen Dank für das Tutorial! Hat mir sehr sehr geholfen!

     

    Gruß Frank

  • Patrick Matsumura

    Hi Frank

    Freut mich, dass es dir gefällt. Mit dem Alter des Tutorials hast du Recht. Ich sollte mal eine aktuellere Version mit jQuery schreiben. Leider fehlt mir auch dir Zeit dazu.

    Gruss,
    Patrick

  • Marcel

    Hallo,

    ich kriege immer diesen Fehler auch beim direkten Uebernehmen deiner Dateien:
    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:xampphtdocssorttestsortable_list_ajax.php on line 18bezieht sich auf die Zeile im Code:    while($data = mysql_fetch_array($result))Wie erwaehnt eins zu eins uebernommen deine Dateien.MfG

  • Marcel

    Sorry, hat sich erledigt war mein Fehler.

    Wie immer liegt der Fehler beim Benutzer :P

    Danke wirklich gutes Tutorial, hatte mich ebend vergessen zu bedanken.
    TOP :-)