【发布时间】:2011-11-12 11:09:53
【问题描述】:
我试图将 3 个 IF 语句放入查询中,而不是添加一些 php 代码。
显示的错误是FUNCTION admin_demo.in_array does not exist
if($pr_aantal[$i] > 0)
{
// voer query uit
$sql = "INSERT INTO planning_producten
(
planning_id,
product_id,
aantal,
datum_snijden,
datum_zetten,
datum_uitbesteed,
user_id
)
VALUES
(
'".$planning_id."',
'".$pr_id[$i]."',
'".$pr_aantal[$i]."',
IF(in_array('1', '".$pr_bewerking_id[$i]."'), STR_TO_DATE('".$datum_snijden."','%d-%m-%Y'), '0000-00-00'),
IF(in_array('2', '".$pr_bewerking_id[$i]."'), STR_TO_DATE('".$datum_zetten."','%d-%m-%Y'), '0000-00-00'),
IF(in_array('3', '".$pr_bewerking_id[$i]."'), STR_TO_DATE('".$datum_uitbesteden."','%d-%m-%Y'), '0000-00-00'),
'".$_SESSION['user_id']."'
)
";
// resultaat van query
if(!$res = mysql_query($sql,$con))
{
include('includes/errors/database_error.php');
}
}
$pr_bewerking_id[$i] 是通过以下方式创建的:
while ($row_i = mysql_fetch_array($res_i))
{
$i++;
// maak select name
$name_bewerking_id = 'name_bewerking_id'.$i;
?>
<tr valign="top">
<td>
<select name="<?php echo $name_bewerking_id ?>[]" multiple="multiple" size="2">
<?php
$sql_bew = "SELECT id, bewerking FROM bewerkingen ORDER BY orderby ASC";
$res_bew = mysql_query($sql_bew,$con);
while ($row_bew = mysql_fetch_assoc($res_bew))
{ ?>
<option value="<?php echo $row_bew['id']; ?>"><?php echo $row_bew['bewerking']; ?></option>
<?php } ?>
</select>
</td>
</tr>
<?php }
然后通过发送
$pr_bewerking_id[$i] = array();
for ($i = 0; $i <= $pr_aantal_regels; $i++)
{
$pr_bewerking_id[$i] = $_POST['name_bewerking_id'.$i];
}
有什么建议吗?
【问题讨论】:
-
你想用 if 做什么?因为它当然不会在那里工作。