0

我做了这个代码:

  Acum, bifeaza materiile pe care le studiaza clasa aleasa:<br />
     <form name="servForm" action="<?php $PHP_SELF; ?>" method="post" >
    <table border="0">
  <?php  
$a = 0;
        $rezultat = "SELECT id, materie
        FROM  materii
        ORDER BY id";

        $rezultat1 = mysql_query($rezultat);
        while($plm = mysql_fetch_array($rezultat1))
            {
            if($a++ %5 == 0) echo "<tr>";
            ?>
 <td align="center"><input type="checkbox" name="checkbox2[]" value="<?php echo $plm['id']; ?>" /></td>
            <td style="text-align:left"><?php echo $plm["materie"]; ?>&nbsp;</td>
        <?php
        if($a %5 == 0) echo "</tr>";
            }
        ?>
    </table>
</div>
<br/>

    <input type="reset" value="Sterge" /> <input type="submit" value="Salveaza" name="savebtn" />
    </form>


    <?php
    if(isset($_POST['savebtn']))
    {
     foreach($_POST["checkbox2"] as $loc_id)
{
  $query = "INSERT INTO materii_pe_clase(id_scoala,id_clasa,id_materie) VALUES('$scoalalui','$clasalui','$loc_id')"; //aici cauta ! :)) 
  $result5 = mysql_query($query)
  or die('eroare');

}//sfarsit foreact
     }//sfarsit if isset

为什么最后一个查询不起作用?ps它是一个学校项目,所以mysql是可以的,不需要mysqli。pps 我在页面上方一点的地方定义了 $scoalalui 和 $clasalui。但它们不是问题,我尝试用值替换它们。查询根本不起作用。谢谢!

谢谢你们!

编辑

$clasalui 和 $scoalalui 的 VARDUMP :

string '1' (length=1)
string '1' (length=1)
4

1 回答 1

1

您的问题是,您关闭了错误工具,因为 PHP 应该说是这样的。 Notice: Undefined variable $PHP_SELF"

既然你没有看到它,我认为这是你“问题”的根源。

PHP_SELF不是变量,是常数。这里甚至不需要它,因为默认情况下 PHP 将数据发送到它的目标 URL。

我提高了代码的可读性,所以现在应该对你有用,

<?php

// You want to see all errors? Fine:
error_reporting(E_ALL);

$a = 0;
$rezultat = "SELECT id, materie FROM  materii ORDER BY id";
$rezultat1 = mysql_query($rezultat);


// If the form is submitted, this will be executed
if (isset($_POST['savebtn'])) {
    foreach($_POST["checkbox2"] as $loc_id) {

        $query = "INSERT INTO `materii_pe_clase` (`id_scoala`, `id_clasa`, `id_materie`) VALUES('$scoalalui', '$clasalui', '$loc_id')"; 

        $result = mysql_unbuffered_query($query);

        if (!$result){
            die(mysql_error());
        }
    }

    // And finally
    die('Saved. Thanks');
}
?>

 Acum, bifeaza materiile pe care le studiaza clasa aleasa: <br />

 <form name="servForm" method="POST">
    <table border="0">
        <?php while($plm = mysql_fetch_array($rezultat1)) : ?>

        <?php if ($a++ %5 == 0) :?>
        <tr>
        <?php endif; ?>

            <td align="center">
                <input type="checkbox" name="checkbox2[]" value="<?php echo $plm['id']; ?>" />
            </td>
            <td style="text-align:left"><?php echo $plm["materie"]; ?>&nbsp;</td>

        <?php if($a %5 == 0) : ?>
        </tr>
        <?php endif; ?>

        <?php endwhile; ?>

    </table>

    <br/>

    <input type="reset" value="Sterge" />
    <input type="submit" value="Salveaza" name="savebtn" />
 </form>
于 2013-10-06T13:16:13.603 回答