将数据从 javascript 发送到 mysql 数据库

2024-05-27

我有这个小点击计数器。我想将每次点击都包含在 mysql 表中。有人可以帮忙吗?

var count1 = 0;
function countClicks1() {
count1 = count1 + 1;
document.getElementById("p1").innerHTML = count1;
}


document.write('<p>');
document.write('<a href="javascript:countClicks1();">Count</a>');
document.write('</p>');

document.write('<p id="p1">0</p>');

以防万一有人想看看我做了什么:

var count1 = 0;
function countClicks1() {
count1 = count1 + 1;
document.getElementById("p1").innerHTML = count1;
}
function doAjax()
$.ajax({
   type: "POST",
   url: "phpfile.php",
   data: "name=name&location=location",
    success: function(msg){
     alert( "Data Saved: " + msg );
   }
 });
}

document.write('</p>');
document.write('<a href="javascript:countClicks1(); doAjax();">Count</a>');
document.write('</p>');
document.write('<p id="p1">0</p>');

这是 phpfile.php,出于测试目的将数据写入 txt 文件

<?php
$name = $_POST['name'];
$location = $_POST['location'];
$myFile = "test.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, $name);
fwrite($fh, $location);
fclose($fh);
?>

正如您的问题中所定义的,JavaScript 不能直接与 MySql 一起使用。这是因为它不在同一台计算机上运行。

JavaScript 运行在客户端(浏览器中),数据库通常存在于服务器端。您可能需要使用中间服务器端语言(例如 PHP、Java、.Net 或服务器端 JavaScript 堆栈,例如 Node.js)来执行查询。

以下教程介绍了如何编写一些将 PHP、JavaScript 和 MySql 绑定在一起的代码,并且代码在浏览器和服务器上运行:

http://www.w3schools.com/php/php_ajax_database.asp http://www.w3schools.com/php/php_ajax_database.asp

这是该页面的代码。它与您的场景并不完全匹配(它执行查询,并且不在数据库中存储数据),但它可能会帮助您开始了解完成这项工作所需的交互类型。

特别要注意该文章中的这些代码。

JavaScript 的一些内容:

xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();

PHP 代码片段:

mysql_select_db("ajax_demo", $con);
$result = mysql_query($sql);
// ...
$row = mysql_fetch_array($result)
mysql_close($con);

另外,在您掌握了此类代码的工作原理之后,我建议您使用 jQuery JavaScript 库进行 AJAX 调用 http://jquery.com/。它比内置的 AJAX 支持更干净、更容易处理,而且您不必编写特定于浏览器的代码,因为 jQuery 内置了跨浏览器支持。这是 的页面jQuery AJAX API 文档 http://api.jquery.com/category/ajax/.

文章中的代码

HTML/Javascript 代码:

<html>
<head>
<script type="text/javascript">
function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  } 
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<form>
<select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>
</form>
<br />
<div id="txtHint"><b>Person info will be listed here.</b></div>

</body>
</html>

PHP代码:

<?php
$q=$_GET["q"];

$con = mysql_connect('localhost', 'peter', 'abc123');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("ajax_demo", $con);

$sql="SELECT * FROM user WHERE id = '".$q."'";

$result = mysql_query($sql);

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Hometown'] . "</td>";
  echo "<td>" . $row['Job'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

mysql_close($con);
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数据从 javascript 发送到 mysql 数据库 的相关文章

随机推荐

  • 使用多种颜色来突出显示

    我有这个示例代码来突出显示表格的特定单元格 有没有办法切换颜色或同时使用多种颜色 我需要在这里实现两件事 1 我希望能够在单击参数组 或单独的参数 之前将其颜色设置为前端的某种颜色 最多 5 种颜色就足够了 2 参数选择哪种颜色并不重要 颜
  • 包含 Xcode 上添加的框架的标头

    我想使用一些框架 例如glew and cg所以我手动添加 通过右键单击项目 gt 将文件添加到 来将所需的框架添加到我的项目中 并选择正确的框架 问题是 当我尝试包含头文件时 Xcode 找不到其中任何一个 我希望这张图能帮助理解 And
  • 使用定制距离函数从 Pandas Dataframe 创建距离矩阵

    我有一个包含两列的 Pandas 数据框 id 唯一标识符 和 date 如下所示 test df head id date 0 N1 2020 01 31 1 N2 2020 02 28 2 N3 2020 03 10 我创建了一个自定义
  • 为什么 DER ASN.1 大整数的解组在 Golang 中仅限于 SEQUENCE?

    我希望能够使用encoding asn1 包从 DER 文件中解组一个大整数 但它看起来只适用于整数序列 例如 这不起作用 这很奇怪 因为 Big Int 的编组效果很好 https play golang org p Wkj0jAA6bp
  • React Native Tab 视图的高度始终等于最高选项卡的高度

    介绍 我有一个 FlatList 它在页脚中呈现一个选项卡视图 此选项卡视图允许用户在一个 FlatList 或另一个 FlatList 之间切换 所以 最后这些是同级 FlatList Problem 第一个 FlatList A 的高度
  • 如何从 Azure Graph API 获取基于用户的令牌

    我有一个 Azure Active Directory 在我的 Web Api 中我有一段代码 我可以使用我在 Azure 中注册的应用程序和客户端证书从 Azure Graph Api 获取令牌 这是我现在使用的代码 public sta
  • JQuery 安全问题 - 链接操作(基于 DOM)

    BURP 套件发现存在链接操作 基于 DOM 问题 jquery 3 3 1 js 问题出在代码中 用于解析文档来源的锚标记 originAnchor document createElement a originAnchor href 位
  • Google 地图 ios:Mapview 路线垂直折线始终指向位置箭头的北部或顶部

    我已经在我的应用程序中实现了 Google Maps IOS 的基本功能 我必须将地图视图的方位设置为始终指向顶部或北部 我需要 如果我点击导航按钮 地图视图应该动画到位置箭头顶部 就像谷歌地图 ios 应用程序一样 箭头应始终固定并指向北
  • 通过 Active Directory 搜索进行有效分页

    在 NET 中使用 Active Directory 搜索进行分页的有效方法是什么 在 AD 中进行搜索的方法有很多 但到目前为止我找不到如何有效地进行搜索 我希望能够表明Skip and Take参数并能够检索结果中与我的搜索条件匹配的记
  • 数组中 1 到 100 个奇数

    Ruby 中有什么很酷的方法可以创建一个 1 到 100 且只有奇数条目 1 3 等 的数组 我现在有一个循环 但这显然不是一个很酷的方法 有什么建议么 我当前的代码 def create 1 to 100 odd array array
  • java模拟自定义对象

    public class MainClass public void makeCall CustomObject obj new CustomObject obj testMethod 我想进行单元测试makeCall 所以我必须嘲笑Cus
  • 按行重塑矩阵

    我有一个大小为 18000 x 54 的矩阵 我想将其重塑为大小为 54000 x 18 的矩阵 其中初始矩阵的每一行都变成一个有 3 行的矩阵 让我们举个例子 我有一个矩阵如下 a matrix 1 18 nrow 2 ncol 9 by
  • 底页横向问题

    在横向模式下显示底部工作表对话框时 我遇到了错误的行为 该问题出现在24 版本的设计库中 根据下图 底页仅在横向模式下无法正确显示 我正在使用 BottomSheetDialog 类 并且正在遵循本教程 http www skholingu
  • 以编程方式移动 UWP ListView 中的项目而不刷新

    下面的问题让我忙了好一阵子 看起来很基础 但就是不行 归结起来是这样的 将 ListView 绑定到代码隐藏中的某个合适的集合 ObservableCollection ReactiveList 等 我每 x 秒一次移动一个物品 每次移动时
  • IntelliJ Idea,如何从控制台删除java文件目录?

    当您运行文件时 它会打开控制台窗口 并且一直在顶部显示该文件所在的目录 这非常令人恼火 因为现在 为了将其他行与目录混合分开 我必须在启动任何 System out println 命令之前使用 n C Program FILEs 我想摆脱
  • MongoDB:更新数组中的文档

    我有一个包含此架构文档的集合 id something recipients id 1 name Andrey isread false id 2 name John isread false 现在 我想使用以下命令更新 John id 2
  • 带有 @Scheduled Spring 注释的方法的切入点

    我想要一个带有注释的方法的 AspectJ 切入点 Scheduled 尝试了不同的方法但没有任何效果 1 Pointcut execution org springframework scheduling annotation Sched
  • jQuery 改变 colorbox 的内容

    我已经尝试过类似标题的问题 但它们不起作用 例如 如何将 AJAX 内容加载到当前 Colorbox 窗口中 https stackoverflow com questions 5273311 how to load ajax conten
  • 没有这样的属性:类的variantConfiguration:

    升级 gradle 4 0 0 应用程序构建失败后 出现错误消息 没有这样的属性 类的variantConfiguration com android build gradle internal variant ApplicationVar
  • 将数据从 javascript 发送到 mysql 数据库

    我有这个小点击计数器 我想将每次点击都包含在 mysql 表中 有人可以帮忙吗 var count1 0 function countClicks1 count1 count1 1 document getElementById p1 in