Php 使用<;选择>;对mysql数据库进行排序,但什么也没发生
以下是我的MySQL代码:Php 使用<;选择>;对mysql数据库进行排序,但什么也没发生,php,mysql,sorting,Php,Mysql,Sorting,以下是我的MySQL代码: $sql = "SELECT * FROM ProductManagement ORDER BY ID ASC;"; $result = $connection->query($sql); if ($result->num_rows > 0) { echo "<p><table> <tr> <th>ID</th> <th>Film Name&l
$sql = "SELECT * FROM ProductManagement ORDER BY ID ASC;";
$result = $connection->query($sql);
if ($result->num_rows > 0) {
echo "<p><table>
<tr>
<th>ID</th>
<th>Film Name</th>
<th>Producer</th>
<th>Year Published</th>
<th>Stock</th>
<th>Price</th>
<th>Function</th>
</tr>";
while($row = $result->fetch_assoc()) {
echo "
<tr>
<td>".$row["ID"]."</td>
<td>".$row["FilmName"]."</td>
<td>".$row["Producer"]."</td>
<td>".$row['YearPublished']."</td>
<td>".$row['Stock']."</td>
<td>".$row['Price']."</td>
<td><a href=\"edit.php?ID=".$row["ID"]."\">Edit</a>
<td><a href=\"delete.php?ID=".$row["ID"]."\">Delete</a>
</tr>";
}
echo "</table>";
}
else {
echo "0 results";
}
$sort = @$_POST['order'];
if ($_GET['sortby'] == '1')
{
"SELECT * FROM ProductManagement ORDER BY FilmName ASC";
}
elseif ($_GET['sortby'] == '2')
{
"SELECT * FROM ProductManagement ORDER BY FilmName DESC";
}
$sql=“按ID ASC从ProductManagement订单中选择*”;
$result=$connection->query($sql);
如果($result->num_rows>0){
回声“
身份证件
电影名称
制作人
出版年份
股票
价格
作用
";
而($row=$result->fetch_assoc()){
回声“
“$row[“ID”]”
“$row[“FilmName”]”
“$row[“Producer”]”
“$row['YearPublished']”
“$row[‘股票’]”
“$row[‘价格’]”
";
}
回声“;
}
否则{
回显“0结果”;
}
$sort=@$_POST['order'];
如果($_GET['sortby']=='1')
{
“按FilmName ASC从ProductManagement订单中选择*”;
}
elseif($_GET['sortby']='2')
{
“按FilmName DESC从ProductManagement订单中选择*”;
}
表格代码如下:
<form name="sort" action="" method="post">
<select name="sortby">
<option value="1">Film Name - Ascending</option>
<option value="2">Film Name - Descending</option>
<input type="submit" value="Sort"/>
</select>
<form>
电影名称-升序
电影名称-降序
我正在尝试按电影名称升序或降序对表进行排序。但是,当我为任一按钮单击submit时,数据库不会执行任何操作,也不会发生任何事情。我该怎么办?谢谢我想你应该把这些行重新排列成下面这样
$sort = @$_POST['order'];
if (isset($_POST['sortby']) && $_POST['sortby'] == '1')
{
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName ASC";
}
elseif (isset($_POST['sortby']) && $_POST['sortby'] == '2')
{
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName DESC";
}
else
{
$sql = "SELECT * FROM ProductManagement ORDER BY ID ASC;";
}
$result = $connection->query($sql);
if ($result->num_rows > 0) {
echo "<p><table>
<tr>
<th>ID</th>
<th>Film Name</th>
<th>Producer</th>
<th>Year Published</th>
<th>Stock</th>
<th>Price</th>
<th>Function</th>
</tr>";
while($row = $result->fetch_assoc()) {
echo "
<tr>
<td>".$row["ID"]."</td>
<td>".$row["FilmName"]."</td>
<td>".$row["Producer"]."</td>
<td>".$row['YearPublished']."</td>
<td>".$row['Stock']."</td>
<td>".$row['Price']."</td>
<td><a href=\"edit.php?ID=".$row["ID"]."\">Edit</a>
<td><a href=\"delete.php?ID=".$row["ID"]."\">Delete</a>
</tr>";
}
echo "</table>";
}
else {
echo "0 results";
}
$sort=@$\u POST['order'];
如果(isset($\u POST['sortby'])和&$\u POST['sortby']='1')
{
$sql=“按FilmName ASC从ProductManagement订单中选择*”;
}
elseif(isset($\u POST['sortby'])和&$\u POST['sortby']='2')
{
$sql=“按FilmName DESC从ProductManagement订单中选择*”;
}
其他的
{
$sql=“按ID ASC从ProductManagement订单中选择*”;
}
$result=$connection->query($sql);
如果($result->num_rows>0){
回声“
身份证件
电影名称
制作人
出版年份
股票
价格
作用
";
而($row=$result->fetch_assoc()){
回声“
“$row[“ID”]”
“$row[“FilmName”]”
“$row[“Producer”]”
“$row['YearPublished']”
“$row[‘股票’]”
“$row[‘价格’]”
";
}
回声“;
}
否则{
回显“0结果”;
}
我想你应该把这些行重新排列成下面这样
$sort = @$_POST['order'];
if (isset($_POST['sortby']) && $_POST['sortby'] == '1')
{
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName ASC";
}
elseif (isset($_POST['sortby']) && $_POST['sortby'] == '2')
{
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName DESC";
}
else
{
$sql = "SELECT * FROM ProductManagement ORDER BY ID ASC;";
}
$result = $connection->query($sql);
if ($result->num_rows > 0) {
echo "<p><table>
<tr>
<th>ID</th>
<th>Film Name</th>
<th>Producer</th>
<th>Year Published</th>
<th>Stock</th>
<th>Price</th>
<th>Function</th>
</tr>";
while($row = $result->fetch_assoc()) {
echo "
<tr>
<td>".$row["ID"]."</td>
<td>".$row["FilmName"]."</td>
<td>".$row["Producer"]."</td>
<td>".$row['YearPublished']."</td>
<td>".$row['Stock']."</td>
<td>".$row['Price']."</td>
<td><a href=\"edit.php?ID=".$row["ID"]."\">Edit</a>
<td><a href=\"delete.php?ID=".$row["ID"]."\">Delete</a>
</tr>";
}
echo "</table>";
}
else {
echo "0 results";
}
$sort=@$\u POST['order'];
如果(isset($\u POST['sortby'])和&$\u POST['sortby']='1')
{
$sql=“按FilmName ASC从ProductManagement订单中选择*”;
}
elseif(isset($\u POST['sortby'])和&$\u POST['sortby']='2')
{
$sql=“按FilmName DESC从ProductManagement订单中选择*”;
}
其他的
{
$sql=“按ID ASC从ProductManagement订单中选择*”;
}
$result=$connection->query($sql);
如果($result->num_rows>0){
回声“
身份证件
电影名称
制作人
出版年份
股票
价格
作用
";
而($row=$result->fetch_assoc()){
回声“
“$row[“ID”]”
“$row[“FilmName”]”
“$row[“Producer”]”
“$row['YearPublished']”
“$row[‘股票’]”
“$row[‘价格’]”
";
}
回声“;
}
否则{
回显“0结果”;
}
我想这是你的问题
$sql = "SELECT * FROM ProductManagement ORDER BY ID ASC;";
你想重新订购吗
所以在此之前,你应该选择GET或POST,但例如,我将使用POST
$order = $_POST['order'];// this can be DESC or ASC
然后将$order放入查询中
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName $order;";
因此,在您的查询结果中过账后,订单发生了更改我假设这是您的查询
$sql = "SELECT * FROM ProductManagement ORDER BY ID ASC;";
你想重新订购吗
所以在此之前,你应该选择GET或POST,但例如,我将使用POST
$order = $_POST['order'];// this can be DESC or ASC
然后将$order放入查询中
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName $order;";
因此,在@AshishChoudhury建议更改查询结果中的发布顺序后,您需要使用
$\u POST['sortby']
而不是使用$\u GET['sortby']
,因为表单使用的是POST not GET
用这个
if (isset($_POST['sortby']) && $_POST['sortby'] == '1')
{
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName ASC";
}
elseif (isset($_POST['sortby']) && $_POST['sortby'] == '2')
{
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName DESC";
}
else
{
$sql = "SELECT * FROM ProductManagement ORDER BY ID ASC;";
}
$result = $connection->query($sql);
if ($result->num_rows > 0) {
echo "<p><table>
<tr>
<th>ID</th>
<th>Film Name</th>
<th>Producer</th>
<th>Year Published</th>
<th>Stock</th>
<th>Price</th>
<th>Function</th>
</tr>";
while($row = $result->fetch_assoc()) {
echo "
<tr>
<td>".$row["ID"]."</td>
<td>".$row["FilmName"]."</td>
<td>".$row["Producer"]."</td>
<td>".$row['YearPublished']."</td>
<td>".$row['Stock']."</td>
<td>".$row['Price']."</td>
<td><a href=\"edit.php?ID=".$row["ID"]."\">Edit</a>
<td><a href=\"delete.php?ID=".$row["ID"]."\">Delete</a>
</tr>";
}
echo "</table>";
}
else {
echo "0 results";
}
if(isset($\u POST['sortby'])&&&$\u POST['sortby']='1')
{
$sql=“按FilmName ASC从ProductManagement订单中选择*”;
}
elseif(isset($\u POST['sortby'])和&$\u POST['sortby']='2')
{
$sql=“按FilmName DESC从ProductManagement订单中选择*”;
}
其他的
{
$sql=“按ID ASC从ProductManagement订单中选择*”;
}
$result=$connection->query($sql);
如果($result->num_rows>0){
回声“
身份证件
电影名称
制作人
出版年份
股票
价格
作用
";
而($row=$result->fetch_assoc()){
回声“
“$row[“ID”]”
“$row[“FilmName”]”
“$row[“Producer”]”
“$row['YearPublished']”
“$row[‘股票’]”
“$row[‘价格’]”
";
}
回声“;
}
否则{
回显“0结果”;
}
根据@AshishChoudhury的建议,您需要使用$\u POST['sortby']
而不是使用$\u GET['sortby']
,因为您的表单使用POST而不是GET
用这个
if (isset($_POST['sortby']) && $_POST['sortby'] == '1')
{
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName ASC";
}
elseif (isset($_POST['sortby']) && $_POST['sortby'] == '2')
{
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName DESC";
}
else
{
$sql = "SELECT * FROM ProductManagement ORDER BY ID ASC;";
}
$result = $connection->query($sql);
if ($result->num_rows > 0) {
echo "<p><table>
<tr>
<th>ID</th>
<th>Film Name</th>
<th>Producer</th>
<th>Year Published</th>
<th>Stock</th>
<th>Price</th>
<th>Function</th>
</tr>";
while($row = $result->fetch_assoc()) {
echo "
<tr>
<td>".$row["ID"]."</td>
<td>".$row["FilmName"]."</td>
<td>".$row["Producer"]."</td>
<td>".$row['YearPublished']."</td>
<td>".$row['Stock']."</td>
<td>".$row['Price']."</td>
<td><a href=\"edit.php?ID=".$row["ID"]."\">Edit</a>
<td><a href=\"delete.php?ID=".$row["ID"]."\">Delete</a>
</tr>";
}
echo "</table>";
}
else {
echo "0 results";
}
if(isset($\u POST['sortby'])&&&$\u POST['sortby']='1')
{
$sql=“按FilmName ASC从ProductManagement订单中选择*”;
}
elseif(isset($\u POST['sortby'])和&$\u POST['sortby']='2')
{
$sql=“按FilmName DESC从ProductManagement订单中选择*”;
}
其他的
{
$sql=“按ID ASC从ProductManagement订单中选择*”;
}
$result=$connection->query($sql);
如果($result->num_rows>0){
回声“
身份证件
电影名称
制作人
出版年份
股票
价格
作用
";
而($row=$result->fetch_assoc()){
回声“
“$row[“ID”]”
“$row[“FilmName”]”
“$row[“Producer”]”
“$row['YearPublished']”
“$row[‘股票’]”
“$row[‘价格’]”
";
}
回声“;
}
否则{
回显“0结果”;
}
现在我更新了我的代码,请检查它。现在它的工作
$sort = @$_POST['order'];
if (isset($_POST['sortby']) && $_POST['sortby'] == '2')
{
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName DESC";
}
else
{
$sql = "SELECT * FROM ProductManagement ORDER BY FilmName ASC";
}
$result = $connection->query($sql);
if ($result->num_rows > 0) {
echo "<p><table>
<tr>
<th>ID</th>
<th>Film Name</th>
<th>Producer</th>
<th>Year Published</th>
<th>Stock</th>
<th>Price</th>
<th>Function</th>
</tr>";
while($row = $result->fetch_assoc()) {
echo "
<tr>
<td>".$row["ID"]."</td>
<td>".$row["FilmName"]."</td>
<td>".$row["Producer"]."</td>
<td>".$row['YearPublished']."</td>
<td>".$row['Stock']."</td>
<td>".$row['Price']."</td>
<td><a href=\"edit.php?ID=".$row["ID"]."\">Edit</a>
<td><a href=\"delete.php?ID=".$row["ID"]."\">Delete</a>
</tr>";
}
echo "</table>";
}
else {
echo "0 results";
}
$sort=@$\u POST['order'];
如果(isset($\u POST['sortby'])和&$\u POST['sortby']='2')
{
$sql=“按FilmName DESC从ProductManagement订单中选择*”;
}
其他的
{
$sql=“按FilmName ASC从ProductManagement订单中选择*”;
}
$result=$connection->query($sql);
如果($result->num_rows>0)