php - 对数据库中的记录执行更改的按钮(HTML TABLE)
问题描述
我正在为我的高中图书馆创建一个库存网络应用程序。所有页面都是用 HTML 构建的,PHP 与 MySQL 数据库通信。
该应用程序的其中一个页面允许您在数据库中按书名搜索,并在一个表中返回结果(如果有多个结果,则返回多个表)。
我想在表格的单元格内添加一个按钮,单击该按钮时,会对记录的参数进行更改。更准确地说,列标题之一称为“可用性”。如果答案是“y”,那么这本书是可用的。当用户在卖书时,点击右边的 Sell 按钮,将参数更改为“n”。
查看截图: https ://drive.google.com/file/d/15y4w6UZpWVIVZjsQN6H3fsmTQeTdFDmP/view?usp=sharing
我怎样才能做到这一点?
这是表的代码:
echo '<table style="width:100%" border="1">';
echo '<tr>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>Author:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>Title:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>ISBN:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>Cover Price:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>40% Price:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>Availability:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>Returned:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>Phone:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>First Name:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>Last Name:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>Class:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>Student ID:</p></center></font><th>';
echo '<th><font color="navy" face="Helvetica" size="3"><center><p>Sell:</p></center></font><th>';
echo '</tr>';
echo '<tr>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['author'].'</center></font><th>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['title'].'</center></font><th>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['isbn'].'</center></font><th>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['coverprice'].'</center></font><th>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['fortyprice'].'</center></font><th>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['availability'].'</center></font><th>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['returned'].'</center></font><th>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['phone'].'</center></font><th>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['firstname'].'</center></font><th>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['lastname'].'</center></font><th>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['class'].'</center></font><th>';
echo '<th><font color="black" face="Helvetica" size="2"><center>'.$results['studentid'].'</center></font><th>';
echo '<th><form action="BOOKS_changestatus.php" method="GET"><input type="submit" value="Sell"></th>';
echo '</tr>';
echo '<br>';
}
changestatus.php 文件仍然是空的...
解决方案
你在那里犯了一点错误。您必须在表单中放置一个隐藏字段并将其发送到要在数据库中更新它的 php 页面重新放置
echo '<th><form action="BOOKS_changestatus.php" method="GET"><input type="submit" value="Sell"></th>';
有了这个
echo '<th><form action="changestatus.php" method="GET">// I assumed that changestatus.php is your php page where you want to do database work
<input type="hidden" name="id" value="' .$results['studentid'] . '"> //I assume that this is your id in your database
<input type="submit" name="submit" value="Sell"></form></th>';
现在在changestatus.php
页面中
if(isset($_GET['submit']))
{
$id = $_GET['studentid'];
//Now you have id and it will be easy for you now to update record in your database against this id
}
注意:我对您的代码做了一些假设。有什么不对的可以指正
推荐阅读
- mysql - 如何正确设置sql请求?
- java - Spring,Hibernate:尝试保存图像时出现无效的 UTF-8 起始字节 0x80 错误
- python-3.x - 将值从 tkinter GUI 插入数据库时出错
- javascript - RangeError:关闭元组数组内的 BrowserWindow 时超出最大调用堆栈大小
- gnuplot - 如何使用 gnuplot 获取顶部为 T 且底部为箭头的矢量头
- reactjs - AWS Amplify 上的 NetlifyCMS 身份验证
- android - 如何在另一个活动中访问数据类实例?
- android-studio - VS code 和 Android Studio 找不到模拟器
- ios - 从 Firebase 存储中检索图像时出现错误 nil
- javascript - 节点 events.js:174 throw er; // 未处理的“错误”事件