Ajax / Json Как запустить INSERT / UPDATE в MySQL - PullRequest
0 голосов
/ 01 марта 2009

Снова связано с моим проектом на выходных , я пытаюсь узнать немного больше о веб-разработке. Поэтому я добавляю в список функций, которые я хочу реализовать, некоторые вещи, которые я абсолютно не знаю, как это сделать.

Я читал учебники о том, как использовать ajax, но я не могу найти простой, который я могу скопировать (вставить с одним или двумя изменениями) , чтобы увидеть, как он работает , прежде чем я зайдите в как это работает .

То, что я искал, это простой пример функции ajax, которая запускает вставку или обновление mysql. Кто-нибудь в качестве простого примера о том, как это сделать? Я думаю, что это было бы хорошим началом, чтобы изучить это. (Аякс или Джсон оба в порядке).

Поправьте меня, если я ошибаюсь : Я основываюсь на этом уроке . Так как очевидно, что клиентская сторона не имеет доступа к вызовам базы данных, то, что я должен сделать, было бы что-то вроде создания фрагмента кода для добавления материалов в базу данных, верно? Например, создайте «addcomment.php», который можно вызвать с помощью xhr.open (GET, «addcomment.php? Comment = mycomment», true);

Ответы [ 2 ]

1 голос
/ 01 марта 2009

Похоже, вы поняли это правильно. Используйте Ajax для вызова сценария на стороне сервера, который затем работает для вас.

0 голосов
/ 01 марта 2009

Хорошей настройкой является использование фреймворка, такого как jQuery, на стороне клиента. Эта структура будет автоматически кодировать и декодировать JSON. На стороне сервера вы можете создать класс, который обрабатывает все запросы ajax (или, скорее, ajaj, так как мы используем JSON). Вот короткий PHP-файл, который показывает общую идею. Добавьте больше элементов в массив functionMap и добавьте соответствующие функции в класс.

class Ajaj{
    private $callback = "";
    private $functionMap = array(   "select" => 'getIt');
    function Ajaj(){
        if(array_key_exists('jsoncallback',$_GET)){
            $this->callback=$_GET['jsoncallback'];
        }
    }
    function parse(){
        echo "$this->callback(";
        if(array_key_exists('action', $_POST)){
            $action = $_POST['action'];

            if(array_key_exists($action, $this->functionMap)){
                echo $this->functionMap[$action];
            }
        }else{
            echo "{}";
        }
        echo ")";
    }

    function getIt(){
            return json_encode(//get the database stuff here);
    }
}
$ajaj = new Ajaj();
$ajaj->parse();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...