正确提交HTML列表视图表单但使用ORDER BY正确显示HTML的mysql数据库

时间:2014-05-24 09:30:28

标签: php html mysql

HTML代码:

<form action="addbook.php" method="post">
<select name="sort">
 <option value="FirstName">Firstname</option>
 <option value="LastName">Lastname</option>
 <option value="State">State</option>
 <option value="City">City</option>
 </select>
 <input type="submit" value="Sort">
 </form>

PHP代码:

    if(isset($_POST['sort'])){

    echo "true";

    if($_POST['sort']=="FirstName"){
            $sort="FirstName";

    }
    else if($_POST['sort']=="LastName"){
            $sort="LastName";
    }
    else if($_POST['sort']=="City"){
            $sort="City";
    }
    else if($_POST['sort']=="State"){
            $sort="State";
    }
   }


     $result=mysqli_query($con, "SELECT * FROM Contact ORDER BY $sort");

     echo "<table border='1'>
     <tr>
     <th>Lastname</th>
     <th>Firstname</th>
     <th>Address</th>
     <th>City</th>
     <th>State</th>
     </tr>";


    while($row = mysqli_fetch_array($result)){
    echo "<tr>";
    echo "<td>" . $row['LastName'] . "</td>";
    echo "<td>" . $row['FirstName'] . "</td>";
    echo "<td>" . $row['Address'] . "</td>";
    echo "<td>" . $row['City'] . "</td>";
    echo "<td>" . $row['State'] . "</td>";
    echo "</tr>";
 }

    echo "</table>";

此代码在未按post变量排序时正常工作,但除此之外我只获得列表标题(城市州名称);

我测试过MYSQL命令ORDER BY不会改变列的位置;所以前缀的html行名称应该不是问题。我不明白为什么我会收到这个错误;

输出是:

Connected to MySQL
Lastname    Firstname   Address City    State

同样在dev模式下使用chrome,post变量存在,列表提交似乎正常工作。

0 个答案:

没有答案