php - 第一行查询故障?

标签 php mysql rows

我正在开发一个网页...使用 HTML、CSS、PHP 和 MySQL..

我正在使用 while 循环来获取行并回显以显示结果。我还在每一行上回显一个名为“编辑”的按钮,该按钮将用户带到另一个页面,允许用户编辑该单行并更新它。奇怪的事情发生了...一切正常,除了查询结果的第一行。如果我单击该按钮,它不会带我进入下一页,但是,所有其他行都正常工作...我很困惑..我在其他页面的其他地方使用了基本相同的代码,并且该按钮工作正常。但是,不适用于这个..下面是我的代码和一些屏幕截图..

<form>
<center>
<?php
    $sql = "SELECT id,course,a,b,c,d,e,f,g,h,i,j,k,l,m,n FROM CoursesToSOs";
    $result = mysqli_query($db,$sql);

    echo "<table id=\"t01\">";

    echo "<tr>";
    echo "<th>Course</th>";
    echo "<th>a</th>";
    echo "<th>b</th>";
    echo "<th>c</th>";
    echo "<th>d</th>";
    echo "<th>e</th>";
    echo "<th>f</th>";
    echo "<th>g</th>";
    echo "<th>h</th>";
    echo "<th>i</th>";
    echo "<th>j</th>";
    echo "<th>k</th>";
    echo "<th>l</th>";
    echo "<th>m</th>";
    echo "<th>n</th>";
    echo "</tr>";
        while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
            $id = $row['id'];
            $course = $row['course'];
            $a   = $row['a'];
            $b   = $row['b'];
            $c   = $row['c'];
            $d   = $row['d'];
            $e   = $row['e'];
            $f   = $row['f'];
            $g   = $row['g'];
            $h   = $row['h'];
            $i   = $row['i'];
            $j   = $row['j'];
            $k   = $row['k'];
            $l   = $row['l'];
            $m   = $row['m'];
            $n   = $row['n'];

            echo "<td>".$course."</td>";
            echo "<td>".($a==1 ? 'X' : '')."</td>";
            echo "<td>".($b==1 ? 'X' : '')."</td>";
            echo "<td>".($c==1 ? 'X' : '')."</td>";
            echo "<td>".($d==1 ? 'X' : '')."</td>";
            echo "<td>".($e==1 ? 'X' : '')."</td>";
            echo "<td>".($f==1 ? 'X' : '')."</td>";
            echo "<td>".($g==1 ? 'X' : '')."</td>";
            echo "<td>".($h==1 ? 'X' : '')."</td>";
            echo "<td>".($i==1 ? 'X' : '')."</td>";
            echo "<td>".($j==1 ? 'X' : '')."</td>";
            echo "<td>".($k==1 ? 'X' : '')."</td>";
            echo "<td>".($l==1 ? 'X' : '')."</td>";
            echo "<td>".($m==1 ? 'X' : '')."</td>";
            echo "<td>".($n==1 ? 'X' : '')."</td>";
            echo "<td><form action='EditCourseToSos.php' method='post'><input type='hidden' name='tempid' value='".$row['id']."'/><input type='submit' name='submit-btn' value='edit' /></form></td></tr>";
        }
    echo "</table>";
?>
</br>
<input type='submit' name='submit-btn' value='Submit'/>
</center>

</form>

After first edit button is pressed.. After a different edit button is pressed, it brought to next page which is correct..

这太令人沮丧了,有人有任何想法吗?

谢谢

最佳答案

不要嵌套 HTML 表单。也就是说,不要将表单放入表单中(就像您所做的那样)。解决这个问题,你会发现它会起作用。

采取<form>第 1 行的标记并将其移到表格后面(即:在所有其他表格之后)

关于php - 第一行查询故障?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40166087/

相关文章:

php - mysqli 无法在连接上设置 session 时区。保持 UTC。在 RDS mysql 实例上

mysql - 我怎样才能从 MySQL 中与疾病相关的症状中发现疾病?

r - 如何通过矩阵索引值检索矩阵列和行名?

mysql - 仅删除 Mysql 中的重复记录

php - PHP 中的全局捕获

php - 在 MAC/MAMP 10.8.4 上使用 PECL 安装 PHP gnupg

php - 使用ajax过滤一些数据后刷新页面时获得相同的内容

java - MYSQL插入查询不更新数据到JAVA表中

java - 如何更改 cfg.xml 文件的属性?

php - MySQL 受影响的行 - 帮助