Я нашел ответ! Спасибо всем, у кого были предложения по поводу вызова SQL. Но вот реальный ответ на мой вопрос.
Существует четыре шага в создании ajax Javascript для вызова PHP. Первые два шага происходят в Javascript. Два других шага происходят в PHP.
Шаг 1. В Javascript определите, какие переменные нужны в функции PHP, получите их.
Шаг 2. Сделайте ajax-вызов функции PHP. В jquery есть удобный способ передачи значений в PHP. У вас есть массив пар имя-значение, подобных этому, в элементе данных для вызова ajax.
data: { node: selectnod, option: "delete" },
Шаг 3. Подготовьте функцию PHP в файле PHP. Напишите функцию следующим образом.
function updatetree($node, $option) {
Шаг 4. Отобразите вызов функции php в этом файле PHP.
С этими четырьмя шагами вы должны успешно вызвать PHP и иметь возможность возвращать информацию в javascript из функции PHP.
Вот функция JavaScript.
function deleteitem()
{
//Get selected node to send to PHP function
var selectnod = getCookie('pnodid');
//Define php info, specify name of PHP file NOT PHP function
//Note that by loading the PHP file you will probably execute any code in that file
//that does not require a function call
//Send PHP variables in the data item, and make ajax call
//On success perform any action that you want, such as load a div here called thenode
$.ajax({
url: "uptree.php",
type: "POST",
data: { node: selectnod, option: "delete" },
cache: false,
success: function (response) {
$('#thenode').html(response);
}
});
}
Вот файл PHP uptree.PHP . У него есть определенная функция, которая называется updatetree . Он также имеет оператор echo для вызова этой функции. Это просто способ заставить функцию работать. Сам Ajax не вызывает функцию.
<?php
//Function defined here
//The variables will come from the ajax data statement
function updatetree($node, $option) {
if($node == '' || $option == '') {
return 'Select an item in the tree.';
}
$dbco = mysql_connect('localhost', 'root', 'mmowebdb');
if (!$dbco)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("pagelinks", $dbco);
$sql = '';
switch($option) {
case 'delete':
$sql = "DELETE FROM dtree_table WHERE nid='$node'";
break;
case 'add':
list($pagename, $address) = explode(",", $page);
$pagename = trim($pagename);
$address = trim($address);
$sql = "INSERT INTO dtree_table (nid, pid, name, url) values (NULL, ".$node.", '".$pagename."', '".$address."')";
break;
case 'update':
break;
}
if (!empty($sql)) return $sql;
}
//echo statement to run function, variables sent by ajax are retrieved with $_REQUEST
//they could have also been retrieved with $_GET or $_POST
echo updatetree(trim($_REQUEST['node']),trim($_REQUEST['option']),trim($_REQUEST['page']));
?>
Итак, подведем итоги. Javascript получает переменные, делает ajax-вызов PHP-файла. Ajax загружает файл PHP, который содержит оператор echo, который запускает функцию PHP. Эта функция PHP определена в том же файле. Оператор возврата функции отправляет информацию обратно в javascript через ajax. Javascript что-то делает с этой информацией, например, загрузите его в div на странице HTML.