- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个用于拖放的页面,其中元素被克隆到可拖动空间中,然后存储在数据库中。我正在存储 id、高度、宽度、x_pos、y_pos。所有这些工作都是在 .js 文件中完成的。我应该如何检索 javascript 页面中的数据并检查之前是否删除了元素。当我重新加载页面时,它从头开始,意味着必须拖动元素。谁能提供一些想法。
// JavaScript Document
$(document).ready(function () {
var x = null;
//Make element draggable
$(".drag").draggable({
helper: 'clone',
cursor: 'move',
tolerance: 'fit'
});
var i=1,j=0;
var x1,x2,y1,y2;
var sf=pf; //this is the scalig factor
var tmp;
var fty=ft; // this is the floor_type i'm getting from php page
var fd=fid;
$("#droppable").droppable({
drop: function(e, ui) {
var attr=ui.helper.attr('id');
// document.write(attr);
if(typeof attr == typeof undefined || attr == false)
{
ui.helper.attr('id',"id"+i);
}
x = ui.helper.clone().bind("click",'img',function(){
alert("clicked"+ ui.helper.attr('id') );
var cor=window.prompt("Enter coordinates width*height");
tmp=ui.helper.attr('id');
//document.write("position");
var leftpos=($(this).offset().left) - 210;
var toppos=($(this).offset().top);
//document.write("position" + leftpos+" " + toppos);
var c=cor.split("*");
var wt=c[0];
var ht=c[1];
var w=wt*sf;
var h=ht*sf;
$(this).width(w);
$(this).height(h);
var leftpos=($(this).offset().left)-241;
var toppos=($(this).offset().top);
alert("position"+ leftpos + toppos);
window.location.href="roomdata.php?id="+tmp+"&"+"width="+w+"&"+"height="+h+"&"+"leftpos="+leftpos+"&"+"toppos="+toppos+"&"+"floor_type="+fty+"&"+"floor_id="+fd;
});
x.draggable({
helper: 'original',
containment: '#droppable',
tolerance: 'fit'
});
x.appendTo('#droppable');
ui.helper.remove();
i++;
}
});
});
//ROOMDATA.PHP
<?php
include("config.php");
$rid=$_GET['id'];
$wth=$_GET['width'];
$hgt=$_GET['height'];
$lp=$_GET['leftpos'];
$tp=$_GET['toppos'];
$ft=$_GET['floor_type'];
$fid=$_GET['floor_id'];
//echo "hello". $rid." ".$wth." ".$hgt." ".$lp." ".$tp." ".$ft." ";
$sql="Insert into room_m(floor_id,room_as_id,width,height,start_x,start_y)values('".$fid."','".$rid."','".$wth."','".$hgt."','".$lp."','".$tp."')";
$result=mysqli_query($con,$sql);
if($result)
{
//echo "done";
header("location:rooms.php");
}
else
echo "error";
?>
这是 html 端的代码。我还使用 php 从另一个页面获取数据,即楼层 id,然后根据我获得的数据生成楼层。我还使用 session ,就好像我选择了楼层 id=0 一样,那么它将暂时保持不变,直到用户完成向楼层添加房间。如果它是新的,它将生成新的房间,如果它已经存在,那么它将从数据库获取数据,然后显示 div 标签。但我不知道如何显示 div 标签,我正在从数据库。
<html>
<head>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript" >
google.load("jquery", "1.6.3");
google.load("jqueryui", "1.8.16");
</script>
<link rel="stylesheet" type="text/css" href="jqueryui1.css"/>
<!--<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css"/>-->
<script src="dragndrop.js" type="text/javascript"></script>
<link rel="stylesheet" href="jqueryui-ruler/css/jquery.ui.ruler.css">
<script src="external/jquery-1.11.1.min.js"></script>
<script src="external/jquery-ui.min.js"></script>
<script src="jqueryui-ruler/js/jquery.ui.ruler.js"></script>
<script language="JavaScript">
$(document).ready(function () {
$('#droppable').ruler();
});
</script>
<style type="text/css">
.col{
float:left;
padding: 5px 5px 5px 5px;
margin: 5px 5px 5px 5px;
}
#col1{
width:200px;
height:500px;
border:1px solid black;
}
.drag{
width:100px;
border:1px solid black;
height:40px;
position:relative;
background-color:red;
background-image:url(restaurant/8793_532242100147879_270911928_n.jpg);
}
#droppable{
padding-top:18px;
padding-left:18px;
padding-right:20px;
border:1px solid black;
}
</style>
</head>
<body>
<?php
require("config.php");
$id=$_SESSION['restid'];
if(isset($_SESSION['ft'])){
$ft=$_SESSION['ft'];
$query="select floor_id,width,height from floor_m where floor_type='".$ft."' and rest_id='".$id."'";
$res1=mysqli_query($con,$query);
$row1=mysqli_fetch_row($res1);
$fd=$row1[0];
$w=$row1[1];
$h=$row1[2];
echo $fd;
$query2="select room_as_id,width,height,start_x,start_y from room_m where floor_id='".$fd."'";
$res2=mysqli_query($con,$query2);
$row2=mysqli_fetch_row($res2);
$rai=$row2[0];
$ww=$row2[1];
$hh=$row2[2];
$xx=$row2[3];
$yy=$row2[4];
echo $rai,$ww,$hh,$xx,$yy;
$wd=500/$w;
$_SESSION['wd']=$wd;
$_SESSION['ft']=$ft;
$_SESSION['fid']=$fd;
echo '<script>var pf = '.json_encode($_SESSION['wd']).';
var ft='.json_encode($_SESSION['ft']).';
var fid='.json_encode($_SESSION['fid']).';</script>';
$ht=$h*$wd;
}
else{
$ft=$_POST['fl_type'];
//echo $ft;
$sql="select width,height,floor_id from floor_m where floor_type='".$ft."' and rest_id='".$id."'";
//echo $sql;
$res=mysqli_query($con,$sql);
$row=mysqli_fetch_row($res);
$w=$row[0];
$h=$row[1];
$fid=$row[2];
$wd=500/$w;
$_SESSION['wd']=$wd;
$_SESSION['ft']=$ft;
$_SESSION['fid']=$fid;
echo '<script>var pf = '.json_encode($_SESSION['wd']).';
var ft='.json_encode($_SESSION['ft']).';
var fid='.json_encode($_SESSION['fid']).';</script>';
$ht=$h*$wd;
}
//echo $wd,$ht;
?>
<div id="wrapper">
<div class = "col" id="col1">
<img src="" id="drag1" class="drag">
</div>
<div class="col" id="droppable" style="width:500px;position:relative; height:<?php echo $ht;?>">
</div>
</div>
</body>
</html>
最佳答案
您可以创建一个 Controller PHP 文件(如 API 端点),JavaScript 可使用该文件从 PHP 后端请求数据库信息。
因此,对于您的 PHP Controller 文件,如下所示:
// getRoom.php
// {include your database config here}
function fail($message = null,$code = 500) {
http_response_code($code);
exit($message);
}
function success($payload = null, $code = 200) {
http_response_code($code);
exit($payload);
}
if (!isset($_POST['room_id'])) {
fail("'room_id' parameter must be in POST request",404);
}
$room_id = $_POST['room_id'];
// WARNING: you should be using prepared statements; this query is subject to SQL injection!
$sql = "SELECT * FROM room_m WHERE room_id = $room_id"; // just a guess
result = mysqli_query($con,$sql);
if (!$result) {
fail("Could not find room $room_id",404);
}
$payload = json_encode($result);
success($payload);
然后,您可以使用 JQuery AJAX 函数 POST 到该 Controller 并接收 javascript 可以解释的响应;全部无需重新加载页面:
function getRoom(room_id) {
data = {
'room_id': room_id
};
$.post(
'getRoom.php',
data
).done(
function (data) {
// parse the JSON response
var response = jQuery.parseJSON(data);
// log it in the console for debugging purposes
console.log(response);
// call a function that sets the dimensions for the room
setDimensions(response);
}
).fail(
function (xhr) {
// log it in the console for debugging purposes
console.log(xhr);
// do something
}
);
}
希望这有帮助。
关于javascript - 从数据库中获取数据并在拖放中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36504899/
我的问题是如何在 python 中创建一个简单的数据库。我的例子是: User = { 'Name' : {'Firstname', 'Lastname'}, 'Address' : {'Street
我需要创建一个与远程数据库链接的应用程序! mysql 是最好的解决方案吗? Sqlite 是唯一的本地解决方案吗? 我使用下面的方法,我想知道它是否是最好的方法! NSString *evento
给定两台 MySQL 服务器,一台本地,一台远程。两者都有一个包含表 bohica 的数据库 foobar。本地服务器定义了用户 'myadmin'@'%' 和 'myadmin'@'localhos
我有以下灵活的搜索查询 Select {vt:code},{vt:productcode},{vw:code},{vw:productcode} from {abcd AS vt JOIN wxyz
好吧,我的电脑开始运行有点缓慢,所以我重置了 Windows,保留了我的文件。因为我的大脑还没有打开,所以我忘记事先备份我的 MySQL 数据库。我仍然拥有所有原始文件,因此我实际上仍然拥有数据库,但
如何将我的 Access 数据库 (.accdb) 转换为 SQLite 数据库 (.sqlite)? 请,任何帮助将不胜感激。 最佳答案 1)如果要转换 db 的结构,则应使用任何 DB 建模工具:
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
我想在相同的 phonegap 应用程序中使用 android 数据库。 更多说明: 我创建了 phonegap 应用程序,但 phonegap 应用程序不支持服务,所以我们已经在 java 中为 a
Time Tracker function clock() { var mytime = new Date(); var seconds
我需要在现有项目上实现一些事件的显示。我无法更改数据库结构。 在我的 Controller 中,我(从 ajax 请求)传递了一个时间戳,并且我需要显示之前的 8 个事件。因此,如果时间戳是(转换后)
我有一个可以收集和显示各种测量值的产品(不会详细介绍)。正如人们所期望的那样,显示部分是一个数据库+建立在其之上的网站(使用 Symfony)。 但是,我们可能还会创建一个 API 来向第三方公开数据
我们将 SQL Server 从 Azure VM 迁移到 Azure SQL 数据库。 Azure VM 为 DS2_V2、2 核、7GB RAM、最大 6400 IOPS Azure SQL 数据
我正在开发一个使用 MongoDB 数据库的程序,但我想问在通过 Java 执行 SQL 时是否可以使用内部数据库进行测试,例如 H2? 最佳答案 你可以尝试使用Testcontainers Test
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 9 年前。 此问题似乎与 a specific programming problem, a sof
我正在尝试使用 MSI 身份验证(无需用户名和密码)从 Azure 机器学习服务连接 Azure SQL 数据库。 我正在尝试在 Azure 机器学习服务上建立机器学习模型,目的是我需要数据,这就是我
我在我的 MySQL 数据库中使用这个查询来查找 my_column 不为空的所有行: SELECT * FROM my_table WHERE my_column != ""; 不幸的是,许多行在
我有那个基地:http://sqlfiddle.com/#!2/e5a24/2这是 WordPress 默认模式的简写。我已经删除了该示例不需要的字段。 如您所见,我的结果是“类别 1”的两倍。我喜欢
我有一张这样的 table : mysql> select * from users; +--------+----------+------------+-----------+ | userid
我有表: CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL
我是一名优秀的程序员,十分优秀!