2015-07-28 2 views
0

Я прочитал все связанные с ним публикации, просмотренные видео и прочитал учебники ... Но я все еще не могу понять это. Я просто хочу запустить вставку mysqli_query без обновления.SQL-запрос без обновления

Входы, без переменных, только предопределенная вставка sql без обновления.

Вот главный документ:

<html> 
    <head> 
     <script src="inc/scripts/jquery-1.11.3.min.js"></script> 
     <script> 


       $("#click").click(function() 
      { 
       $.ajax({ 
       url: "click.php", 
       type: 'POST', 
       success: function(result) { 
       //finished 
      } 
      }); 
      }); 

     </script> 
    </head> 
    <body> 
     <input type="button" id="click" value="Click"> 
    </body> 
</html> 

Click.php (Была протестирована автономный):

<?php 
$db = mysqli_connect("localhost","root","","mytable") 
or die("Error " . mysqli_error($db)); 

mysqli_query($db,"INSERT INTO items VALUES 
('','test','test','total test','test','test','test','test')"); 
?> 

Это сводит меня с ума ... Я читал учебники и смотрел много видео про ajax ... но я не могу понять это. Благодарим за любые советы.

+0

Попробуйте изменить тип в метод в запросе ajax. Вы что-то получаете от этого? Перейдите в режим отладки в браузере, чтобы узнать, получил ли запрос ajax ошибку. Сначала нам просто нужно убедиться, что запрос ajax работает так, как должен. –

+0

Какая у вас проблема? – Jessica

+0

Ничего не происходит, нет обратной связи ( – Kei

ответ

0

Вы связываете событие $('#click').click() перед тем, как есть элемент для привязки (поскольку $('#click') еще не загружен).

Просто переместите свой тег <script> с событием привязки кликов в <body> под кнопкой ввода, и он будет работать должным образом.

Вы также можете обернуть в JQuery документ готовых корпусах, как:

$(function() { 

}); 

, чтобы убедиться, что он работает, когда DOM готова.

+0

Ничего не меняет: ( – Kei

+0

Я запустил код на своем локальном сервере. Каков ваш ожидаемый результат? Вы уверены, что PHP-код работает нормально? –

+0

Да, когда я запускаю содержимое click.php самостоятельно - Мне просто нужна вставка – Kei

0

Попробуйте это.

<html> 
    <head> 
     <script src="inc/scripts/jquery-1.11.3.min.js"></script> 
     <script> 


       function runAjax() 
      { 
       $.ajax({ 
       url: "click.php", 
       type: 'POST', 
       success: function(result) { 
       //finished 
      } 
      }); 


     </script> 
    </head> 
    <body> 
     <input type="button" id="click" onclick="runAjax()" value="Click"> 
    </body> 
</html> 
+0

Отсутствие скобки там (закрыть 'runAjax()') –

0

Вы привязываете событие к элементу, когда элемент еще не является exixting. У вас есть 2 варианта.

  • Либо переместите блок скрипта чуть ниже конца тега тела после элемента.
  • Encase код внутри блока сценария под $(document).ready(function() { // your code here });

также использовать вкладку консоли под свои инструменты для разработчиков, чтобы найти причину, если какие-либо ошибки присутствуют.

+0

Пробовал, ничего.; ( – Kei

+0

Uncaught SyntaxError: Неожиданный токен return – Kei

1

Чтобы обновить часть страницы вы должны связать функцию успеха с DIV в HTML, так добавить DIV с идентификатором

<div id="myDiv"></div> 

А потом

$('#like$id').click(function() 
    { 
    $.ajax({ 
    url: 'inc/scripts/liker_ajax.php?like=$id', 
    type: 'GET', 
    success:function(result){ 
     $('#like$id').addClass('green'); 
     $('#dislike$id').removeClass('red');  
     $('#myDiv').html(result); 
    } 
    }); 
    }); 
+0

Большое спасибо за это понимание - это явно то, что я упускаю из виду. У меня есть вопрос, хотя ... Что я нужно обновить (обновить), это просто число (эхо-количество строк в mysql), и когда я помещаю это число в span/div и do ('#NumDiv'). html (result); он просто исчезает, пока я не обновляю свою страницу, и я вижу правильный результат. Любые идеи? – Kei

+0

Я полагаю, что мой реальный вопрос: если у меня есть переменная php '$ likes' - как я могу обновить/обновить ее сразу же, когда моя БД изменяется без удара F5? – Kei

+0

Сделайте print_r ($ _ GET) на своем php и посмотрите, какие данные вы получаете там, он должен обновить ваш div, не нажав f5. Или используйте консоль хром, чтобы увидеть, как вызывается URL-адрес, чтобы увидеть, какие данные вы фактически отправляете. Я думаю, что ваша переменная $ id не получает значения. – leo

Смежные вопросы