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';