Показать сообщение отдельно
  #1 (permalink)  
Старый 15.04.2013, 08:57
Новичок на форуме
Отправить личное сообщение для Dara90 Посмотреть профиль Найти все сообщения от Dara90
 
Регистрация: 15.04.2013
Сообщений: 1

не работает Ajax
Ребята помогите, почему кнопка удалить не работает?
php-обработчик:
<?php 
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'otrar');

if (!mysql_connect(DB_HOST, DB_USER, DB_PASS)) {
    exit('Cannot connect to server');
}
if (!mysql_select_db(DB_NAME)) {
    exit('Cannot select database');
}

mysql_query ("set_client='utf-8'");
mysql_query ("set character_set_results='utf-8'");
mysql_query ("set collation_connection='utf-8_general_ci'");
mysql_query ("SET NAMES utf-8");

function search ($query) 
{ 
    $query = trim($query); 
    $query = mysql_real_escape_string($query);
    $query = htmlspecialchars($query);

    if (!empty($query)) 
    { 
        if (strlen($query) < 3) {
            $text = '<p>Слишком короткий поисковый запрос.</p>';
        } else if (strlen($query) > 128) {
            $text = '<p>Слишком длинный поисковый запрос.</p>';
        } else { 
            $q = "SELECT * FROM `book` WHERE `book_name` LIKE '%$query%' OR `author` LIKE '%$query%' OR `ibsn` LIKE '%$query%'";

            $result = mysql_query($q);

            if (mysql_affected_rows() > 0) { 
                $row = mysql_fetch_assoc($result); 
                $num = mysql_num_rows($result);

                $text = '<p>По запросу <b>'.$query.'</b> найдено совпадений: '.$num.'</p>';

                 do {
                    // Делаем запрос, получающий ссылки на статьи
                    $q1 = "SELECT * FROM `otrar` WHERE `book_name` = '$row[page_id]'";
                    $result1 = mysql_query($q1);

                    if (mysql_affected_rows() > 0) {
                        $row1 = mysql_fetch_assoc($result1);
                    }
                    $text .= '<table width="90%" BORDER=5 CELLPADDING=10 CELLSPACING=10>
								<tr align="center" bgcolor="#FFFFFF">
									<td>
									<b>Название книги:</b> '.$row['book_name'].',
									</td>
									<td>
									<b>Автор:</b> '.$row['author'].',  
									</td>
									<td>
									<b>IBSN:</b> '.$row['ibsn'].', 
									</td>
									<td>
									<b>Количество:</b> '.$row['amount'].', 
									</td>
									<td>
									<b>Номер полки:</b> '.$row['numb_pol'].'. 
									</td>
									<td><input type="submit" value="удалить" id="del" data-val-id='.$row['id'].' ></td>
									<p>'.$row['desc'].'</p>';
									//echo "<submit type=\"button\" value=\"Удалить\" onclick=\"location.href='3_del.php?del=$id';\" />";
									//echo "<submit type=\"button\" value=\"Удалить\" name=\"del\" onclick=\"location.href='\"3_del.php?del=".$row['id']';\"/>";
                } while ($row = mysql_fetch_assoc($result));
            } else {
                $text = '<p>По вашему запросу ничего не найдено.</p>';
            }
        } 
    } else {
        $text = '<p>Задан пустой поисковый запрос.</p>';
    }

    return $text; 
}

	if (!empty($_POST['query'])) { 
		$search_result = search ($_POST['query']); 
    echo $search_result; 
}
mysql_close();
?>


Вот 3_del.php:
<?
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'otrar');

if (!mysql_connect(DB_HOST, DB_USER, DB_PASS)) {
    exit('Cannot connect to server');
}
if (!mysql_select_db(DB_NAME)) {
    exit('Cannot select database');
}
/* Если была нажата ссылка удаления, удаляем запись */
if(isset($_REQUEST['del'])) {
    $id = (int) $_REQUEST['del'];
    $query = "DELETE FROM `book` WHERE id='".$id."'";
    /* Выполняем запрос. Если произойдет ошибка - вывести ее. */
    mysql_query($query) or die($query . '<br />' . mysql_error());	
}
mysql_close();
?>


вот ajax2.js:
$(document).ready(function () {
   $('#query').keypress(function (e){
   if(e.keyCode==13){
	  loadData();
return false;	  //нажата клавиша enter - здесь ваш код
	     	   }
   });
  $('#MyButton').click(function () {
loadData();
});
function loadData(){
//Получаем параметры
var query = $('#query').val()
  // Отсылаем паметры
       $.ajax({
                type: "POST",
                url: "/otrar/search1.php",
                data: "query="+query,
				// Выводим то что вернул PHP
                success: function(html) {
			
				//предварительно очищаем нужный элемент страницы
                        $("#search_result").empty();
//и выводим ответ php скрипта
                        $("#search_result").append(html);
                }
			//	error: function(xhr, textStatus) {
    //alert( xhr.status, textStatus );
        });
}
$('#del').click(function () {
DelData($(this));
});

function DelData(e){
var query = e.attr("data-val-id");
  // Отсылаем паметры
       $.ajax({
                type: "POST",
                url: "/otrar/search1.php",
                data: "del="+query,
				// Выводим то что вернул PHP
                success: function(html) {
						e.parent().parent().remove();
						return false;
			        }
			});
}
});
.

Без аякса работает. Может что-нибудь с аяксом не то?
Ответить с цитированием