如何从通过json_encode传递的mysqldb中分割行,以在单独的文本框中显示
How to split the row from mysql db passed through json_encode to display in separate textboxes
我试图将mysql语句输出的结果从一个php页面拆分到另一个包含javascript的页面。我尝试了以下方法,但我的代码中缺少一些东西:-(
我期待的结果是从mySQL表中选定的行中获取每列中的值,以填充到#eventTitle、#eventDescription等中…
请在下面找到我的代码
lookup_event.php
<?php
$eid = $_POST['eid']
include '/include/db_connect.php';
$sql="SELECT title, description, start, end FROM evenement where id=".$eid;
$result = $mysqli->query($sql);
while ($row = mysqli_fetch_assoc($result)) {
$sessions[] = $row;
}
echo json_encode($sessions);
die();
?>
cal.php 中的脚本
eid = event.id;
$.ajax({
type: 'POST',
url: 'lookup_event.php',
data: eid,
success: function (sessions) {
$('#eventTitle').val(sessions["title"]);
$('#eventDescription').val(sessions["description"]);
}
});
它是以字符串形式出现的,因为它是json。你首先需要解析它。
cal.php 中的脚本
eid = event.id;
$.ajax({
type: 'POST',
url: 'lookup_event.php',
data: eid,
success: function (sessions) {
var sessions = JSON.parse(sessions);
$('#eventTitle').val(sessions["title"];
$('#eventDescription').val(sessions["description"];
}
});
我建议您开始使用PDO:http://php.net/pdo
语句+绑定以自动转义SQL注入。
<?php
// ... include PDO connection ($conn)
$eid = (int) $_POST['eid'];
$sql = "SELECT title, description, start, end FROM evenement WHERE id = :id";
$stmt = $conn->prepare($sql);
$stmt->bindParam('id', $eid);
$stmt->execute();
$result = $stmt->fetchAll();
echo json_encode($result);
Javascript:
$.ajax({
type: 'POST',
url: 'lookup_event.php',
data: { eid: eid },
dataType: 'json',
success: function (event) {
// with dataType specified dont need parse
}
});
最终解决了这个问题。感谢大家的支持。
这就是我的文件现在的样子。然而,欢迎您对以下代码的任何修改发表意见。再次感谢。
lookup_event.php
<?php
include '/include/db_connect.php';
$eid = $_POST['eid'];
$sql = "SELECT title, description, start, end FROM evenement where id=" . intval($eid);
$result = $mysqli->query($sql);
if ($result) {
$array = mysqli_fetch_array($result);
}
echo json_encode($array);
die();
?>
cal.php
eid = event.id;
$.ajax({
type: 'POST',
url: 'lookup_event.php',
data: {eid:eid},
success: function (event) {
var event = JSON.parse(event);
$('#eventTitle').val(event.title);
$('#eventStart').val(moment(event.start).format('YYYY-MM-DD, HH:mm:ss'));
$('#eventEnd').val(moment(event.end).format('YYYY-MM-DD, HH:mm:ss'));
$('#eventDescription').val(event.description);
$('#myModal').modal();
}
});
相关文章:
- 在单独的ul's
- Javascript排序的图像弹出窗口..可以't单独弹出
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 将单独的数组深层键转换为所需的类型(数组或对象)
- 从单独的html文件预览Javascript文本
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 使用正则表达式捕获“”并分割成阵列
- 如何将要单独填充的每个HTML画布路径/形状分开
- 如何使jQuery中的悬停函数单独应用于数据库映像
- 如何在foreach循环中对每个产品单独应用评级系统
- 如何将图像分割成多个部分
- Javascript单独的游戏窗口
- 当两个单独的单词被放在目标上时,使用Jquery获取一个值
- drawimage到一个单独的画布宽度和高度
- 访问对象的最简单方法'的单独财产
- 如何从通过json_encode传递的mysqldb中分割行,以在单独的文本框中显示
- 按十进制分割数字并返回2个单独的元素
- 我可以分割谷歌分析要求/发送到单独的脚本标签
- 可以't分割音频到单独的通道与Tone.js
- 如何将多个D3转换命令分割成单独的语句