我制作了这段代码:
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"]; ?> </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
为什么最后一个查询不起作用?附:它是一个学校项目,所以mysql没问题,不需要mysqli。 p.p.s我定义了$ scoalalui和$ clasalui somwhere在页面上的一点点。但他们不是问题,我试着用价值取代它们。查询根本不起作用。谢谢!
谢谢大家!
编辑
$ clasalui和$ scoalalui的VARDUMP :
string '1' (length=1)
string '1' (length=1)
答案 0 :(得分: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"]; ?> </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>