Php 从Javascript运行sql查询

Php 从Javascript运行sql查询,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我现在正处于困境中。。。我有一个函数,它从一个页面获取两个变量,然后在获取数据后运行sql查询 function delete(id,date){ confirmdel=confirm('Are you sure?'); if(confirmdel){ var curid = id; var when = date; //sql code should go here } else{ //don't do

我现在正处于困境中。。。我有一个函数,它从一个页面获取两个变量,然后在获取数据后运行sql查询

function delete(id,date){
    confirmdel=confirm('Are you sure?');
    if(confirmdel){
      var curid = id;
      var when = date;

      //sql code should go here   

    }
    else{
      //don't do anything
      return false;
    }
  } 

如何从函数运行sql查询或将数据发送到php文件?我尝试过使用jquery,但它会忽略它,因此如果我可以使用jquery,请解释/给出一个如何使用它的示例。

制作一个Web服务。jQuery具有允许您调用Web服务的函数,但不能使用jQuery构建Web服务。

创建Web服务。jQuery具有允许您调用web服务的函数,但您不能使用jQuery构建web服务。

好的,您不能通过网页上的JavaScript直接运行sql查询。即使如此,这也是最糟糕的事情

最好的实现方法是编写一个服务,REST服务非常适合连接到db,处理数据。然后通过JavaScript使用该服务将是一种更好的方法


查看以了解如何向服务器发送Http帖子。

好的,您不能通过网页上的JavaScript直接运行sql查询。即使如此,这也是最糟糕的事情

最好的实现方法是编写一个服务,REST服务非常适合连接到db,处理数据。然后通过JavaScript使用该服务将是一种更好的方法


查看以了解如何向服务器发送Http帖子。

您应该将数据发送到php文件

$.post("delete.php", { id: id, date: date }, function(){alert('delete success!');} )
.error(function() { alert("error"); });

您应该将数据发送到php文件

$.post("delete.php", { id: id, date: date }, function(){alert('delete success!');} )
.error(function() { alert("error"); });

JavaScript不能单独处理数据库,它只能告诉浏览器该做什么,并且只有在服务器将页面提交到浏览器后才能加载。所以我想你必须使用AJAX。使用jQuery非常简单:

...

$.post('process.php', {id:curid, date : when}, function(data) {

  alert(data);
  //data contains all output from process.php, 
  //either in json-format if you jsonencode a results-array
  //or just a simple string you echo in the php

  return false; //prevent from reloading the page
});

...
您的process.php可能看起来像:

<?php

$curid = $_POST['id'];
$when = $_POST['date'];

//run the query

echo jsonencode($results_array);

//or check if query succeeded and echo e.g. 'ok' or 'failed'
?>
你明白了

//编辑:

您可能应该在对话框中使用,以避免出现注释中所述的消息。可能是这样的:

<div id="dialog_box" style="display: none;">
    Really delete?
</div>

$('#dialog_box').dialog({
  title: 'Really delete this stuff?',
  width: 500,
  height: 200,
  modal: true,
  resizable: false,
  draggable: false,
  buttons: [{
  text: 'Yep, delete it!',
  click: function(){
      //do the post
    }
  },
  {
  text: 'Nope, my bad!',
  click: function() {
      $(this).dialog('close');
    }
  }]
});

JavaScript不能单独处理数据库,它只能告诉浏览器该做什么,并且只有在服务器将页面提交到浏览器后才能加载。所以我想你必须使用AJAX。使用jQuery非常简单:

...

$.post('process.php', {id:curid, date : when}, function(data) {

  alert(data);
  //data contains all output from process.php, 
  //either in json-format if you jsonencode a results-array
  //or just a simple string you echo in the php

  return false; //prevent from reloading the page
});

...
您的process.php可能看起来像:

<?php

$curid = $_POST['id'];
$when = $_POST['date'];

//run the query

echo jsonencode($results_array);

//or check if query succeeded and echo e.g. 'ok' or 'failed'
?>
你明白了

//编辑:

您可能应该在对话框中使用,以避免出现注释中所述的消息。可能是这样的:

<div id="dialog_box" style="display: none;">
    Really delete?
</div>

$('#dialog_box').dialog({
  title: 'Really delete this stuff?',
  width: 500,
  height: 200,
  modal: true,
  resizable: false,
  draggable: false,
  buttons: [{
  text: 'Yep, delete it!',
  click: function(){
      //do the post
    }
  },
  {
  text: 'Nope, my bad!',
  click: function() {
      $(this).dialog('close');
    }
  }]
});

我可以在javascript中使用这个jquery方法吗?jquery是用javascript for javascript编写的,当然你可以使用它。你还会如何使用它?@cbr0wn JQuery不是另一种独立的语言。这是一个JavaScript库,也是一个很好的库,我想这就是为什么很多人将它视为另一种语言的原因。您可以在web页面上使用JQuery内部元素。我的意思是我可以在javascript函数中使用JQuery方法吗?我这样问是因为它并不总是对我有效。我知道jquery和javascript基本上是一样的,当然可以。检查一个示例:我想你首先需要了解什么是JavaScript,否则如果你进一步深入,你会面临很多麻烦。我可以在JavaScript中使用这个jquery方法吗?jquery是用JavaScript for JavaScript编写的,当然你可以使用它。你还会如何使用它?@cbr0wn JQuery不是另一种独立的语言。这是一个JavaScript库,也是一个很好的库,我想这就是为什么很多人将它视为另一种语言的原因。您可以在web页面上使用JQuery内部元素。我的意思是我可以在javascript函数中使用JQuery方法吗?我这样问是因为它并不总是对我有效。我知道jquery和javascript基本上是一样的,当然可以。检查一个例子:我想你首先需要了解什么是JavaScript,否则如果你再往下看,你会面临很多麻烦。伙计,两个卡特曼人对一篇博文来说太多了:D与文章完全无关的评论question@tugberk哈哈,我都没注意到,但那是。。。嗯……”去你们的,我要回家了-当我这样做的时候,它工作了,但是我收到一条消息说是否再显示额外的警报框。我怎样才能摆脱它?还有其他人收到这样的信息吗?伙计,两个卡特曼人对一篇帖子来说太多了:D完全与评论无关question@tugberk哈哈,我都没注意到,但那是。。。嗯……”去你们的,我要回家了-当我这样做的时候,它工作了,但是我收到一条消息说是否再显示额外的警报框。我怎样才能摆脱它?还有人收到这样的信息吗?