JavaScript中的php和DB查询,没有Ajax
php and DB query in javascript without Ajax
编辑:
我在这个概念中遇到了问题,但是这可能会帮助其他一些问题,谢谢大家。
我检查了一个代码,它工作正常,我很惊讶!因为它在没有 Ajax 的情况下完成。
在 WAMP 中测试的代码,这里是代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1
/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
*{font-size:8pt;}
div#result{
border:1px solid gray;
width:50%;
min-height:50px;
text-align:right;
color:#666666;
font-family:Tahoma;
padding:3px;
}
div#result b{color:red;}
</style>
<script type="text/javascript">
function GetResult(s){
var s=document.getElementById('s');
var resultDiv = document.getElementById('result');
resultDiv.innerHTML = '<?php
//My PHP Codes
$conn = mysql_connect("127.0.0.1","root","");
if(!$conn){echo "Error in DB connection"; }
mysql_select_db("test");
mysql_query("set character set utf8");
$s=sprintf("'+s.value+'");
$sql = "SELECT *
FROM `test`";
$result = mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo $row["1"];
echo "<br />";
}
echo "You searched: <b>".$s."</b>";
?>';
}
</script>
</head>
<body>
<form id="searchForm" onsubmit="javascript:GetResult(document.getElementById('s'));return
false;">
<input type="text" id="s" />
<input type="submit" value="Search!" />
</form>
<div id="result">
</div>
上面的代码从名为:"test"的表中检索所有数据,数据库也名为"test"。
我的查询是:
$sql = "SELECT * FROM test";
但以下查询剂量不起作用:
$sql = "SELECT * FROM test WHERE `name` LIKE ''%".$s."%''";
为什么?问题出在哪里?
问候
您需要了解PHP是一种服务器端语言,需要某种形式的页面重新加载才能运行。这通常通过 AJAX 或表单完成。
你构建代码的方式表明你希望javascript函数返回搜索结果,这是不可能的。
我不妨写在这里。您的代码永远不会以这种方式工作。
您的语法不正确。必须LIKE ''%".$s."%''
哪列?假设该列colname
.您的查询应为:
$sql = "SELECT * FROM test WHERE colname LIKE ''%".$s."%''";
回顾你的代码,你也在做一些/非常奇怪/的事情。那里的PHP正在执行/在javascript发送到客户端之前/。PHP 运行服务器端,JS 运行客户端,因此 JS 无法将参数传递给 PHP。
PHP 仅在客户端计算机接收数据之前在服务器上执行。从客户端的角度来看,使用 PHP 编写的部分是固定的,不会使用仅客户端例程进行更改。您必须从服务器发出新请求才能重新插入 PHP 代码。
它"第一次"对您"有效",因为 PHP 查询在您收到页面之前运行并发出数据。
相关文章:
- 如何在没有ajax的情况下将javascript动态数据发送到php变量
- 如何在没有表单提交、没有js、没有jquery和没有ajax的情况下将输入的文本框值存储到php变量中
- 节点.js表单更新有和没有 ajax
- 如何在没有 Ajax 的情况下将图像拖放到 servlet
- 防止在没有ajax的情况下提交后重定向表单
- 仅使用 PHP 获取表单元格值,没有 ajax
- 如何在没有Ajax的情况下将blob存储在表单中,并在单击提交时将其发送到服务器
- 如何在没有 AJAX 的情况下调用上一页
- 如何在没有Ajax的ASP.NET 2.0中在执行C#代码的过程中打开showModalDialog
- iOS7上的Sencha-没有互联网时没有ajax异常
- 在没有ajax的情况下将多个变量传递到引用页面的最佳方式
- 在没有AJAX的情况下将手柄模板抽象为外部文件
- 在HTML中,可以在没有Ajax和/或Javascript的情况下创建异步请求
- 表单提交使用 jquery 在 rails 中没有 ajax
- 在jQuery Mobile中没有Ajax的POST方法
- HTML5拖放没有AJAX是可能的
- 使用 Primefaces 5.1 如何在运行时仅使用 javascript 更改按钮图标样式.(没有 AJAX 调用)
- 是否可以在没有 ajax 的情况下在正常文件上传中显示进度条
- 将PHP数组传递到没有AJAX或JQuery的Javascript数组中
- 在没有 AJAX 的情况下加载 JSON 数据