【发布时间】:2016-04-11 15:42:45
【问题描述】:
大家好,我正在尝试创建一个拖放页面,我想在重新加载时维护 floor_id。
单击按钮时,我从上一页获取 floor_id,并将其添加到会话中,以便下次重新加载页面时不会出现任何错误。
但是当我从上一页选择其他选项时,会话中的相同值被存储,该值没有使用 post 方法分配。谁能提供一些想法。
此页面是我从中获取所选 ID 的地方。
?>
<form action="rooms.php" method="post">
<select name="fl_type" id="ft" >
<option value=0>Select Floor</option>
<?php
while($row=mysqli_fetch_row($result))
{
?>
<option value="<?php echo $row[2];?>"><?php echo $row[2];}?></option>
<input type="submit" name="room" value="generate" />
</form>
<br />
</body>
我在这里获取代码并获取 id。
<?php
$i=0;
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,room_id,room_type_id from room_m where floor_id='".$fd."'";
//echo $query2;
$res2=mysqli_query($con,$query2);
while($row2=mysqli_fetch_row($res2))
{
$room_type_id=$row2[6];
$query3="select room_type from room_type where room_type_id='".$room_type_id."'";
$res3=mysqli_query($con,$query3);
$row3=mysqli_fetch_row($res3);
$room='room_id'.$i;
$width='width'.$i;
$height='height'.$i;
$start_x='x'.$i;
$start_y='y'.$i;
$room_id='room'.$i;
$room_type='roomt'.$i;
$response[$room]=$row2[0];
$response[$width]=$row2[1];
$response[$height]=$row2[2];
$response[$start_x]=$row2[3];
$response[$start_y]=$row2[4];
$response[$room_id]=$row2[5];
$response[$room_type]=$row3[0];
//echo $response[$room_id];
$i++;
/*echo '<script>var data1 = '.json_encode($row2[0]).';var data2 = '.json_encode($row2[1]).';var data3 = '.json_encode($row2[2]).';var data4 = '.json_encode($row2[3]).';var data5 = '.json_encode($row2[4]).';//
</script>*/
}
$i--;
$response['count']=$i;
echo '<script> var data='.json_encode($response).'</script>';
$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;
$wd=round($wd);
//echo $wd;
$_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;
?>
【问题讨论】:
-
你似乎正在关闭你的
while()循环 within<option>:<option value="<?php echo $row[2];?>"><?php echo $row[2];}?></option>(请参阅$row[2];} <------之后的右花括号将它移到外面,如下所示:<option value="<?php echo $row[2];?>"><?php echo $row[2]; ?></option><?php } ?> -
这样做只会得到一个值。
-
谁能提供建议。我没有太多时间完成。