PHP-使用数组值满足特定条件并执行操作
我的页面中有一段代码:PHP-使用数组值满足特定条件并执行操作,php,mysql,arrays,Php,Mysql,Arrays,我的页面中有一段代码: $options = array("Repairing", "In guarantee", "Ended", "On Hold", "Waiting for quote"); ?> <select name='estadoRep[]' id='estadoRep'> <?php foreach ($options as $option): ?> <option value="<?php echo
$options = array("Repairing", "In guarantee", "Ended", "On Hold", "Waiting for quote");
?>
<select name='estadoRep[]' id='estadoRep'>
<?php foreach ($options as $option): ?>
<option value="<?php echo $option; ?>"<?php if ($estadoR[$i] == $option): ?> selected="selected" <?php endif; ?>>
<?php echo $option; ?>
</option>
<?php endforeach; ?>
$options=array(“修复”、“保证”、“结束”、“暂停”、“等待报价”);
?>
您应该在“if($estadoEquip[$i]='end')处放置“==”而不是“=”
否则,该条件将始终为真,因为变量始终能够获得该值。简单的“=”不是比较。您的php代码中有一个synthax错误:
如果($estadoEquip[$i]=='END')
$status='已结束'
您忘记了双精度“==”,因此您的$estadoEquip都等于“Ended”。我可以看到一些基本错误:
1 estadoRep(名称)不需要是数组,除非您正在进行一些复杂的操作以使其成为多选
<select name='estadoRep' id='estadoRep'>
<?php foreach ($options as $option): ?>
<option value="<?php echo $option; ?>"<?php if ($estadoR[$i] == $option): ?> selected="selected" <?php endif; ?>>
<?php echo $option; ?>
</option>
<?php endforeach; ?>
也许有争议,但你可以简单地写为:
$status = ($_POST['estadoRep'] == 'Ended') ? 'Concluded' : 'Pending';
三元运算符示例
(未经测试)我试过了,但它不起作用设备XPTO1-结束设备XPTO2-结束设备XPTO3-未决工作罚款和变量$status='Pending',因为所有其他示例都不符合终止条件:设备XPTO1-未决设备XPTO2-维修设备XPTO3-结束不起作用:变量$status='contained'即使其他两个不满足以这种方式设置变量的条件。它也应该是$status='Pending',我需要的是$status='end',仅当设备XPTO1-end设备XPTO2-end设备XPTO3-Endedtry:$max=sizeof($estadoquip);对于($i=0;$iMains)相同:(我使用了一个数组,因为我需要从“头版”发送多个设备的多个状态)。我不是只有一个设备,因此只有一个状态。我可以拥有更多。谢谢。在这种情况下,所有的name=
值都必须不同。HTML表单每个选择只发送一个选项。尝试进行一些选择并使用var\u dump($\u POST)在处理程序中,您应该看到。我尝试了,但它不起作用设备XPTO1-结束设备XPTO2-结束设备XPTO3-挂起正常工作,变量$status='Pending'因为在所有其他示例中未满足结束条件:设备XPTO1-挂起设备XPTO2-修复设备XPTO3-结束正常工作:v变量$status='CONNECTED',即使其他两个变量不满足以这种方式设置变量的条件。它也应该是$status='Pending',我需要的是$status='END',仅当设备XPTO1结束设备XPTO2结束设备XPTO3结束时
$estadoEquip = $_POST['estadoRep'];
if ($estadoEquip == 'Ended'){
$status= 'Concluded';
} else {
$status= 'Pending';
}
$status = ($_POST['estadoRep'] == 'Ended') ? 'Concluded' : 'Pending';