上一个/下一个录制按钮php/mysql的困境

上一个/下一个录制按钮php/mysql的困境,php,mysql,html,sql,Php,Mysql,Html,Sql,我的问题涉及我的下一个/上一个按钮。我可以让我的“更新/删除”按钮正常工作,但当我处理下一个/上一个按钮时,我已经准备好撕下头发了。任何帮助都将是了不起的!这是我的密码。另外,我对PHP非常陌生,所以如果这是一个糟糕的编码,请让我知道,并为我指出正确的方向,这样我就可以纠正我的错误。谢谢 session_start(); include "connectionfile.php"; if (isset($_POST['fname']) && isset($_POST['lnam

我的问题涉及我的下一个/上一个按钮。我可以让我的“更新/删除”按钮正常工作,但当我处理下一个/上一个按钮时,我已经准备好撕下头发了。任何帮助都将是了不起的!这是我的密码。另外,我对PHP非常陌生,所以如果这是一个糟糕的编码,请让我知道,并为我指出正确的方向,这样我就可以纠正我的错误。谢谢

session_start();

include "connectionfile.php";

if (isset($_POST['fname']) &&
isset($_POST['lname']) &&
isset($_POST['email']) &&
isset($_POST['login']) &&
isset($_POST['password']) &&
isset($_POST['super']) &&
isset($_POST['foldername']))
{
$id = get_post('id');
$fname = get_post('fname');
$lname = get_post('lname');
$email = get_post('email');
$login = get_post('login');
$password = hash('sha256', get_post('password'));
$super = get_post('super');
$foldername = get_post('foldername');

if ($_POST['submit']==0){

$query = mysql_query("SELECT * FROM `Logins` WHERE ID < '".$id."'  ORDER BY ID DESC LIMIT 1;");
while($row = mysql_fetch_array($query)){
   $id = $row['ID'];
   $fname = $row['fname'];
   $lname = $row['lname'];
   $email = $row['email'];
   $login = $row['login'];
   $password = $row['password'];
   $super = $row['super'];
   $foldername = $row['foldername'];

}
}else if ($_POST['submit']==1){
$query = "UPDATE Logins SET fname = '$fname', lname='$lname', email='$email".'@carouselclinical.com'."', login='$login', password='$password', super='$super', foldername='$foldername'";
$query .= "WHERE ID = '$id';";
if (!mysql_query($query, $connect))
echo "INSERT failed: $query<br />" .
mysql_error() . "<br /><br />";

}else if($_POST['submit']==2){

$delete_query = "DELETE FROM Logins WHERE ID = '".$id."';";
mysql_query($delete_query);
$rc = mysql_affected_rows();
echo "Rows Affected " . $rc;

}


if ($_POST['submit']==3){

$query = mysql_query("SELECT * FROM `Logins` WHERE ID= '". $id ."' ORDER BY ID ASC LIMIT 1;");
while($row = mysql_fetch_array($query)){
   $id = $row['ID'];
   $fname = $row['fname'];
   $lname = $row['lname'];
   $email = $row['email'];
   $login = $row['login'];
   $password = $row['password'];
   $super = $row['super'];
   $foldername = $row['foldername'];

}

}
}

mysql_close($connect);

function get_post($var)
{
return mysql_real_escape_string($_POST[$var]);
}
?>

<form action="" method="post"><pre>
id <input type="text" readonly="readonly" name="id" value="<?php echo "$id"; ?>" />
First Name <input type="text" name="fname" value="<?php echo "$fname"; ?>" />
Last Name <input type="text" name="lname" value="<?php echo "$lname"; ?>" />
Email <input type="text" name="email" value="<?php echo "$email"; ?>" /> There's no need to put @carouselclinical.com.
Login <input type="text" name="login" value="<?php echo "$login"; ?>"/>
Password <input type="text" name="password" value="<?php echo "$password"; ?>"/>
Super? <input type="text" name="super" value="<?php echo "$super"; ?>" />
foldername <input type="text" name="foldername" value="<?php echo "$foldername"; ?>" />
<button name="submit" value="0">Previous</button>
<button name="submit" value="1">UPDATE</button>
<button name="submit" value="2">Delete</button>
<button name="submit" value="3">Next</button>
</pre>
<a href="super.php">Home</a> <br />
<a href="logout.php">Log out</a>
</form>
session_start();
包括“connectionfile.php”;
如果(isset($_POST['fname']))&&
isset($\u POST['lname']))&&
isset($_POST['email']))&&
isset($\u POST['login'])&&
isset($\u POST['password']))&&
isset($_POST['super']))&&
isset($_POST['foldername']))
{
$id=获取邮政信息(“id”);
$fname=get_post('fname');
$lname=get_post('lname');
$email=get_post('email');
$login=get_post('login');
$password=hash('sha256',get_post('password');
$super=get_post('super');
$foldername=get_post('foldername');
如果($_POST['submit']==0){
$query=mysql_query(“从'Logins'中选择*,其中ID<'”$ID.“'ORDER BY ID DESC LIMIT 1;”);
while($row=mysql\u fetch\u array($query)){
$id=$row['id'];
$fname=$row['fname'];
$lname=$row['lname'];
$email=$row['email'];
$login=$row['login'];
$password=$row['password'];
$super=$row['super'];
$foldername=$row['foldername'];
}
}否则如果($_POST['submit']==1){
$query=“更新登录设置fname=”$fname',lname=”$lname',email=“$email”。“@carouselclinical.com.”,login=”$login',password=”$password',super=”$super',foldername=”$foldername';
$query.=“其中ID=”$ID';”;
如果(!mysql_query($query,$connect))
echo“插入失败:$query
”。 mysql_error().“

”; }否则如果($_POST['submit']==2){ $delete_query=“从ID=”的登录中删除”。$ID.“;”; mysql\u查询($delete\u查询); $rc=mysql_受影响的_行(); 回显“受影响的行”。$rc; } 如果($_POST['submit']==3){ $query=mysql\u query(“从'Logins'中选择*,其中ID=”。$ID.“'ORDER BY ID ASC LIMIT 1;”); while($row=mysql\u fetch\u array($query)){ $id=$row['id']; $fname=$row['fname']; $lname=$row['lname']; $email=$row['email']; $login=$row['login']; $password=$row['password']; $super=$row['super']; $foldername=$row['foldername']; } } } mysql_close($connect); 函数get\u post($var) { 返回mysql\u real\u escape\u字符串($\u POST[$var]); } ?>
id尝试在mysql\u close($connect)的正上方添加一个
else
。我的猜测是,在初始页面加载时,您没有发布任何值,因此没有采取任何操作。这将创建一个默认的
ID
,如果top
if
中没有定义

$query = mysql_query("SELECT * FROM `Logins` WHERE ID > '". $id ."' ORDER BY ID ASC LIMIT 1;");
另外,在
if($\u POST['submit']==3)
上,您需要在
$query
中将
=
更改为
,以便获得下一条记录。当前,您将选择相同的ID,而不是下一个更高的ID


最后,在执行上一个/下一个操作时,您还需要考虑在第一个
ID
上如何处理上一个
ID
,在最后一个
ID
上如何处理下一个
ID
,因为您将从
MySQL
返回一个空的结果集。您的问题并不那么清楚,但是你可能需要为下一个和上一个传递
id
s,这样在mysql中你才能真正访问正确的数据集。不确定你到底遇到了什么问题,但有一件事可能会让你感到困惑,那就是你使用
==
而不是
==
来检查
$\u POST['submit']
。使用
=
将任何字符串值与0进行比较时,其计算结果将为true。不确定这是否会给您带来问题,但您应该明确地意识到这一点。此外,您应该避免使用
mysql\u*
函数,而是使用
mysqli\u*
或PDO。如果只需要字符串键,也不应该使用
mysql\u fetch\u array()。改用
mysql\u fetch\u assoc()
。那么,也不要使用mysql\u fetch\u assoc()
。使用mysqli或PDO。我很抱歉不清楚。我无法使上一个/下一个按钮工作。我不认为我完全理解需要发生什么。现在,我有一个页面,应该显示关于用户的不同信息,但我得到的只是一堆空白文本框。如何将
$\u POST['submit']==0
$\u POST['submit']==3
部分的信息传递到底部的表单?您需要解释“上一个和下一个按钮工作”的含义-您希望它们做什么?这是分页的一种形式吗?天哪@肖恩,这正是问题所在。我没有在初始页面加载时填充文本框。还感谢您发现查询错误!
$query = mysql_query("SELECT * FROM `Logins` WHERE ID > '". $id ."' ORDER BY ID ASC LIMIT 1;");