Php 使用下拉菜单编辑SQL

Php 使用下拉菜单编辑SQL,php,sql,database,Php,Sql,Database,所以就像往常一样,我一直在编写代码,直到现在我还没有使用过 我想做的是为这里的一个部门创建一个票证类型系统,用于联系潜在的学生。在很大程度上,我对HTML和PHP都很满意,这是因为我在学习SQL。我甚至不确定这一切是否都做对了。我可能还需要合并AJAX。基本上,联系人会填写一张表格,其中包含他们想攻读哪种学位的信息,以及联系方式等。。。所有内容都可以很好地插入SQL,但当我想从viewtable.php页面编辑它时,问题就出现了 这只是工作原型,最终它将有用户登录和其他类似的东西,以及管理控制台

所以就像往常一样,我一直在编写代码,直到现在我还没有使用过

我想做的是为这里的一个部门创建一个票证类型系统,用于联系潜在的学生。在很大程度上,我对HTML和PHP都很满意,这是因为我在学习SQL。我甚至不确定这一切是否都做对了。我可能还需要合并AJAX。基本上,联系人会填写一张表格,其中包含他们想攻读哪种学位的信息,以及联系方式等。。。所有内容都可以很好地插入SQL,但当我想从viewtable.php页面编辑它时,问题就出现了

这只是工作原型,最终它将有用户登录和其他类似的东西,以及管理控制台等。。。因此,无需进一步讨论,以下是我的viewtable代码。如果不够,请告诉我。我会继续研究,但若你们能提供任何帮助,我将不胜感激

<?php
session_start();
//Must be called before any code or white space is executed
/*
TODO:
    1: Get checkboxes to load and display only what was posted via checkboxes from a previously loaded page
    2: Cleanup
    3: Hover messages for table headers
    4: Program search bar
    5: Get dropdown to do something
    6: Program to only show 10 entries at a time, and be able to move to the next ten entries
    7: program to be able to sort by "Last Name" , "First Name", etc...
    8: Move database info to a called file for security and ease of access.
*/
$action=$_POST['action'];
$id=array($_POST['id']);
//Create Connection
$con = mysqli_connect("localhost","username","password","database");

//Check Connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else {
//echo "Connection Successful! \n";
}
//If the action dropdown was set
if($action = 'delete') {
for($i=0;$i<$count;$i++){
$del_id = $checkbox[$i];
$sql ="DELETE FROM persons WHERE PID='$del_id'";
$result = mysql_query($sql);}
if($result){
echo "<meta http-equiv=\"refresh\" content=\"0;URL=delete_multiple.php\">";}
}
$query = "Select * FROM persons";
$result = mysqli_query($con, $query);

$num=mysqli_num_rows($result);
echo $id;
echo $action;
?>
<!DOCTYPE html>
<html>
    <head>
        <style>
        tr:nth-child(even) {
        background-color:#00fff0;
        }
        </style>
        <script>
        </script>
    </head>
    <body>
        <table id="persons" name="persons" border="0" cellpadding="1">
        <form name="database" action="viewtable.php" type="post">
        <div type="hidden" class="pidmessage" style="display:none;">Unique Identifier</div>
        <div type="hidden" class="fnamemessage" style="display:none;">Contact's First Name</div>
        <div type="hidden" class="lnamemessage" style="display:none;">Contact's Last Name</div>
        <div type="hidden" class="emailmessage" style="display:none;">Contact's Email Address</div>
        <div type="hidden" class="phonemessage" style="display:none;">Contact's Home Phone Number</div>
        <div type="hidden" class="cellmessage" style="display:none;">Contact's Mobile Phone Number</div>
        <div type="hidden" class="campusmessage" style="display:none;">Is the contact interested in residential or online courses?</div>
        <div type="hidden" class="statemessage" style="display:none;">Contact's Home State</div>
        <div type="hidden" class="studenttypemessage" style="display:none;">The contact is interested in enrolling as this</div>
        <div type="hidden" class="termmessage" style="display:none;">The contact is interested in enrolling beginning this term</div>
        <div type="hidden" class="enrollmentmessage" style="display:none;">The contact is interested in enrolling in this many credit hours</div>
        <div type="hidden" class="degreemessage" style="display:none;">The contact is interested in pursuing this type of degree</div>
        <div type="hidden" class="messagemessage" style="display:none;">The contact heard about TTU in this manner</div>
        <div type="hidden" class="commentsmessage" style="display:none;">These are comments the contact left</div>
        <?php
        $i = 0;
        $data = array();
        while($row = mysqli_fetch_assoc($result)) { 
                $data[] = $row;
                }

            $colNames = array_keys(reset($data));
        ?>

        <tr><th>&nbsp;</th>
            <?php
                foreach($colNames as $colName)
                    {
                        echo"<th class='{$colName}'>$colName</th>";
                    }
            ?>
        </tr>
        <?php
            foreach($data as $row)
                {
                echo "<tr>";
                echo "<td><input type='checkbox' name='checkbox[]' value='{$row['PID']}'></input></td>";
                foreach($colNames as $colName)
                    {
                    echo "<td>".$row[$colName]."</td>";
                    }
                    echo"</tr>";
                }
        ?>
        <tr class="clear"><td>&nbsp;</td><td colspan="7">
            <select name="action">
                <option value="">--Select One--</option>
                <option value="delete">Delete Entry</option>
                <option value="assign">Assign</option>
                <option value="contacted">Move to     contacted</option>
                <option value="edit">Edit</option>
                <option value="">Cancel</option>
            </select></td>
            <td colspan="7">
                <input type="submit" name="submit" value="Submit">    </input></td></tr>
        </form>
        </table>
    </body>
</html>
<?php
mysqli_close($con);
?>


到目前为止,我所看到的是这一部分:

for($i=0;$i<$count;$i++){
$del_id = $checkbox[$i];
$sql ="DELETE FROM persons WHERE PID='$del_id'";
$result = mysql_query($sql);}

for($i=0;$i)这里有一个数组$checkbox,声明在?一个小建议
慢,因此在PHP中,如果确实需要,只需使用
如果($action='delete')){
永远都是真的…你需要使用
==
来测试平等性,而不是将
delete
赋值给$action。我不明白为什么OPs代码中既有
mysqli
又有
mysql
函数。是的,这确实需要从整体上进行检查。非常奇怪的事情正在发生在OP used中,mysqli然后在您引用的最后一行中使用了
mysql\u query
。是不是应该是
mysqli\u query()
。或者可以吗?非常正确!我自己没有注意到这一点。@cp510我已经修复了复选框数组,并尝试自己编写一些AJAX代码,但再一次,我对AJAX和SQL非常缺乏经验(我刚刚在PHP和JavaScript中湿了脚)并且没有使用jQuery的经验。我不确定我之前是否清楚我想做什么。我的目标是动态更改数据库。例如,当选中复选框并删除操作后,我想从SQL数据库中删除带有PID的字段。我正在慢慢地完成这一切,但我感谢您提供的任何帮助我也修复了mysqli_查询。现在都是mysqli了。