nu lavet jeg engang for langtid siden et lille project ala det der, koden er her uden, kan være du kan bruge det til noget, eller se hvordan jeg lavet det. jeg siger ik det er den mest optimale måde at lave det på, men virket den gang jeg lavet det. og kan godt se på min kode fra dengang, der er nogen ting jeg nok ville lave på en anden måde idag
man bliver vel beder og beder
ajax.menu.js:
- var xmlHttp;
-
- function constuctor(){
- try{
- // Firefox, Opera 8.0+, Safari
- xmlHttp = new XMLHttpRequest();
- }
- catch(e){
- // Internet Explorer
- try{
- xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
- }
- catch(e){
- try{
- xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
- }
- catch(e){
- alert("Your browser does not support AJAX!");
- return false;
- }
- }
- }
- }
-
- //a, up/down
- function Move(id,action){
- constuctor();
-
- xmlHttp.onreadystatechange = function(){
- if(xmlHttp.readyState == 4){
- document.getElementById("emenu").innerHTML = xmlHttp.responseText;
-
- }
- }
-
- xmlHttp.open("GET", "ajax/ajax.menu.php?id="+id+"&a="+action, true);
- xmlHttp.send(null);
-
- return true;
- }
-
- function CreateMenu(name){
- constuctor();
-
- xmlHttp.onreadystatechange = function(){
- if(xmlHttp.readyState == 4){
- document.getElementById("emenu").innerHTML = xmlHttp.responseText;
-
- }
- }
-
- xmlHttp.open("GET", "ajax/ajax.menu.php?name="+name+"&a=create", true);
- xmlHttp.send(null);
-
- return true;
- }
-
- function DeleteMenu(id){
- constuctor();
-
- xmlHttp.onreadystatechange = function(){
- if(xmlHttp.readyState == 4){
- document.getElementById("emenu").innerHTML = xmlHttp.responseText;
-
- }
- }
-
- xmlHttp.open("GET", "ajax/ajax.menu.php?id="+id+"&a=delete", true);
- xmlHttp.send(null);
-
- return true;
- }
ajax.menu.php:
- <?php
- $action = $_GET["a"]; // = up or down
- $id = $_GET["id"];
-
- include_once("../class/class.database.php");
- include_once("../inc/settings.php");
- $db = new Database();
-
- $menuData = $db->Query("SELECT menu_pos, menu_parrent FROM ". CMS_MENU ." WHERE menu_id = '$id'");
- $menu_parrent = $menuData[0]["menu_parrent"];
- $menu_pos = $menuData[0]["menu_pos"];
- $menuUp_pos = ($menuData[0]["menu_pos"]+1);
- $menuDown_pos = ($menuData[0]["menu_pos"]-1);
-
- if ($action == "up") {
- $db->Query("UPDATE ". CMS_MENU ." SET menu_pos='$menu_pos' WHERE menu_parrent = '$menu_parrent' AND menu_pos = '$menuDown_pos'");
- $db->Query("UPDATE ". CMS_MENU ." SET menu_pos='$menuDown_pos' WHERE menu_id = '$id'");
- }
-
- if ($action == "down") {
- $db->Query("UPDATE ". CMS_MENU ." SET menu_pos='$menu_pos' WHERE menu_parrent = '$menu_parrent' AND menu_pos = '$menuUp_pos'");
- $db->Query("UPDATE ". CMS_MENU ." SET menu_pos='$menuUp_pos' WHERE menu_id = '$id'");
- }
-
- if ($action == "create"){
- $name = $_GET["name"];
- $maxpos = $db->Query("SELECT MAX(menu_pos) as pos FROM ". CMS_MENU ." WHERE menu_parrent = 'root' LIMIT 0,1");
- $maxpos = $maxpos[0]["pos"]+1;
- $db->Query("INSERT INTO ". CMS_MENU ." (menu_text,menu_parrent,menu_pos,link) VALUE ('$name','root','$maxpos','?page=custom')");
- }
-
- if ($action == "delete") {
- $pa = $db->Query("SELECT * FROM ". CMS_MENU ." WHERE menu_id = '$id'");
- $parrent = $pa[0]["menu_parrent"];
- $gammel_pos = $pa[0]["menu_pos"];
- $newpos = $gammel_pos;
- $pap = $db->Query("SELECT * FROM ". CMS_MENU ." WHERE menu_pos > '$gammel_pos' AND menu_parrent = '$parrent'");
- $antal = count($pap);
-
- for ($i=0; $i<$antal; $i++){
- $updateID = $pap[$i]["menu_id"];
- $db->Query("UPDATE ". CMS_MENU ." SET menu_pos='$newpos' WHERE menu_id = '$updateID'");
- $newpos++;
- }
-
-
- $db->Query("DELETE FROM ". CMS_MENU ." WHERE menu_id = '$id'");
- }
-
-
- include_once("../inc/menu_edit.php");
- ?>
Indlæg senest redigeret d. 31.01.2009 20:23 af Bruger #3427