php - 从表结果中获取 id

标签 php html mysql

我有一张考试表,其中有一个编辑部分。当我选择其中一项考试进行编辑时,它不会采用考试的 ID。我不知道为什么。这是我的代码:

这是显示表格的主要页面内容

<div class="view">
    <table class="tabel">
        <tr class="tepprand">
            <td>Data</td>
            <td>An</td>
            <td>Materia</td>
            <td>Profesor</td>
            <td>Asistent</td>
            <td>Sala</td>
            <td>Tip Examen</td>
        </tr>

        <?php
        $sqll = "SELECT r.id AS id , r.data AS data , ra.an AS an, rm.numemat AS numemat, rp1.numep AS numep1 , rp1.prenumep AS prenumep1, rp2.numep AS numep2, rp2.prenumep AS prenumep2, rs.salaa AS salaa , re.tip AS tip
                FROM examen_programat AS r
                    LEFT JOIN an ra ON (r.id_ann=ra.id_an)
                    LEFT JOIN materii rm ON (r.id_mate=rm.id_mat)
                    LEFT JOIN profesor rp1 ON (r.id_prof1=rp1.id_prof)
                    LEFT JOIN profesor rp2 ON (r.id_prof2=rp2.id_prof)
                    LEFT JOIN sala rs ON (r.id_sala=rs.id_s)
                    LEFT JOIN examen re ON (r.id_tipp = re.id_tip)
                ORDER by data";
            $result = mysqli_query($link,$sqll);

            while($rows=mysqli_fetch_array($result,MYSQLI_BOTH)) {
        ?>
        <tr>
            <td><?php echo $rows['data']; ?></td>
            <td><?php echo $rows['an']; ?></td>
            <td><?php echo $rows['numemat']; ?></td>
            <td><?php echo $rows['numep1']." ".$rows['prenumep1']; ?></td>
            <td><?php echo $rows['numep2']." ".$rows['prenumep2']; ?></td>
            <td><?php echo $rows['salaa']; ?></td>
            <td><?php echo $rows['tip']; ?></td>
            <td><a href="editexamene.php?id=<? echo $rows['id'];  ?>"> Edit </a></td>
            <td><a href="deleteexamene.php?id=<? echo $rows['id']; ?>"> Stergere </a></td>
        </tr>
        <?php
            }
        ?>
    </table>
</div>

这是当我按下 EDIT 时发生的事情:

<div class="view">
    <?php

            $idul=$_GET['id'];
            $str = "SELECT * FROM examen_programat WHERE id =$idul ";
            $rez = mysqli_query($link,$str);
            $row = mysqli_fetch_array($rez);
            $an=$row['id_ann'];
            $materie=$row['id_mate'];
            $profesor=$row['id_prof1'];
            $asistent=$row['id_prof2'];
            $salaa=$row['id_sala'];
            $tip=$row['id_tipp'];

        ?>

    <form name="tabel" method="post" action="updateexamen.php">
        <input type="hidden" name="idu" value="<?php echo " $idul" ?>">
        <table>
            <tr>
                <td>Data</td>
                <td><input type="date" name="data" value="<?php echo $row['data'] ?>" required="required"/><br></td>
            </tr>

            <tr>
                <td>An</td>
                <td>
                    <?php
                            $sql_year="SELECT * FROM an";
                            $rez_year = mysqli_query($link,$sql_year);
                            echo "<select name=\"year\" >";
                    while($year=mysqli_fetch_array($rez_year))
                    {
                    echo "
                    <option value=\"".$year['id_an'];
                            if ($year[
                    'id_an']==$an)
                    echo "\" selected=\"selected\">".$year['grupa']."</option>\n";
                    else
                    echo "\">".$year['grupa']."</option>\n";
                    }
                    echo "</select>";
                    ?><br>
                </td>
            </tr>

            <tr>
                <td>Materie</td>
                <td>
                    <?php
                            $sql_mat="SELECT * FROM materii";
                            $rez_mat = mysqli_query($link,$sql_mat);
                            echo "<select name=\"mat\" >";
                    while($mat=mysqli_fetch_array($rez_mat))
                    {
                    echo "
                    <option value=\"".$mat['id_mat'];
                            if ($mat[
                    'id_mat']==$materie)
                    echo "\" selected=\"selected\">".$mat['numemat']."</option>\n";
                    else
                    echo "\">".$mat['numemat']."</option>\n";
                    }
                    echo "</select>";
                    ?><br>
                </td>
            </tr>

            <tr>
                <td>Profesor</td>
                <td>
                    <?php
                            $sql_proff="SELECT * FROM profesor";
                            $rez_proff = mysqli_query($link,$sql_proff);

                            echo "<select name=\"proff\" >";
                    while($proff=mysqli_fetch_array($rez_proff))
                    {
                    echo "
                    <option value=\"".$proff['id_prof'] ;
                            if($proff[
                    'id_prof']==$profesor)
                    echo "\" selected=\"selected\">".$proff['numep']." ".$proff['prenumep']."</option>\n";
                    else
                    echo "\">".$proff['numep']." ".$proff['prenumep']."</option>\n";
                    }
                    echo "</select>";
                    ?><br>
                </td>
            </tr>

            <tr>
                <td>Asistent</td>
                <td>
                    <?php
                            $sql_profff="SELECT * FROM profesor";
                            $rez_profff = mysqli_query($link,$sql_profff);

                            echo "<select name=\"profff\" >";
                    while($profff=mysqli_fetch_array($rez_profff))
                    {
                    echo "
                    <option value=\"".$profff['id_prof'];
                            if($profff[
                    'id_prof']==$asistent)
                    echo "\" selected=\"selected\">".$profff['numep']." ".$profff['prenumep']."</option>\n";
                    else
                    echo "\">".$profff['numep']." ".$profff['prenumep']."</option>\n";
                    }
                    echo "</select>";
                    ?><br>
                </td>
            </tr>

            <tr>
                <td>Sala</td>
                <td>
                    <?php
                            $sql_sala="SELECT * FROM sala";
                            $rez_sala= mysqli_query($link,$sql_sala);

                            echo "<select name=\"sala\" >";
                    while($sala=mysqli_fetch_array($rez_sala))
                    {
                    echo "
                    <option value=\"".$sala['id_s'];
                            if ($sala[
                    'id_s']==$salaa)
                    echo "\" selected=\"selected\">".$sala['salaa']."</option>\n";
                    else
                    echo "\">".$sala['salaa']."</option>\n";
                    }
                    echo "</select>";
                    ?><br>
                </td>
            </tr>

            <tr>
                <td>Tip</td>
                <td>
                    <?php
                            $sql_type="SELECT * FROM examen";
                            $rez_type= mysqli_query($link,$sql_type);

                            echo "<select name=\"type\" >";
                    while($type=mysqli_fetch_array($rez_type))
                    {
                    echo "
                    <option value=\"".$type['id_tip'];
                            if ($type[
                    'id_tip']==$tip)
                    echo "\" selected=\"selected\">".$type['tip']."</option>\n";
                    else
                    echo "\">".$type['tip']."</option>\n";

                    }
                    echo "</select>";
                    ?><br>
                </td>
            </tr>

            <tr>
                <td><input name="submit" type="submit" value="Update"/></td>
                <td><input name="reset" type="reset" value="Reset"/></td>
            </tr>
        </table>

    </form>
</div>

这是更新:

<?php
    include ('conect.php'); 

    $idd=$_POST['idu'];
    $a1=$_POST['data'];
    $b1=$_POST['year'];
    $c1=$_POST['mat'];
    $d1=$_POST['proff'];
    $e1=$_POST['profff'];
    $f1=$_POST['sala'];
    $g1=$_POST['type'];

    $str = "UPDATE examen_programat
              SET data='$a1', 
                  id_ann='$b1',
                  id_mate='$c1',
                  id_prof1='$d1',
                  id_prof2='$e1',
                  id_sala='$f1',
                  id_tipp='$g1'
                  WHERE id='$idd'";


    $result=mysqli_query($link,$str); 

    // if successfully updated. 
    if($result){ 

    header("Location:tabelex.php");
    } 

    else { 
    echo "ERROR"; 
    } 
?>

我的 examen_programat 表看起来像这样:

id id_ann id_mate id_prof1 id_prof2 id_sala id_tipp

最佳答案

短的开放标签可能会导致这个问题,在你的最后两个td元素。添加php在你的 ? 之后

<td>
  <a href="editexamene.php?id=<?php echo $rows['id'];?>"> Edit </a> 
</td>
<td>
  <a href="deleteexamene.php?id=<?php echo $rows['id']; ?>"> Stergere </a>  
</td>

来自 PHP 文档: http://php.net/manual/en/language.basic-syntax.phptags.php

PHP also allows for short open tag <? (which is discouraged since it is only available if enabled using the short_open_tag php.ini configuration file directive, or if PHP was configured with the --enable-short-tags option).

关于php - 从表结果中获取 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30414098/

相关文章:

php - 显示与用户输入匹配的结果

php - PHP 和 MySQL 上的 INNER JOIN 和 foreach 循环

html固定位置IE问题

php - 更新表 mysql 的最后 360 行

javascript - 提交表单后,从数据库中将订单号加载到警报框中

php - 在codeigniter php的电子商务购物车系统中通过复选框搜索产品

php - 按条目字段将 mysql 获取的结果显示到按行组织的表中?

html - 非常基本 : How to inline social media logos on a header

sql - MySQL 中的 SELECT MAX() 函数

mysql - 显示组内第一名和第二名之间的最大差距