从 sql server 获取选定的值到 php 中的下拉列表
Posted
技术标签:
【中文标题】从 sql server 获取选定的值到 php 中的下拉列表【英文标题】:Get selected value from sql server to dropdown in php 【发布时间】:2019-07-04 18:50:34 【问题描述】:我想从 sql server 中获取值到 php 中的下拉菜单作为选定选项。首先,我在 db 上有空值,当我在下拉列表中选择值时,单击提交按钮时它将在 db 上更新。现在,我想将存储自 db 的数据设置为每个下拉列表中的选定选项。如果我点击提交按钮,我可以选择再次更新它。我试图在选项标签中添加一个 if 条件,但出现错误。
<?php
foreach ($records as $key => $data)
$dates[] = $data[0];
$dates1[] = $data[3];
$dates2[] = $data[2];
$circuit[] = $data[1];
$circuitNo[] = $FeederData-> getCircuitNumber($data[1]);
$parsed = date_parse($key[2]);
$seconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60 + $parsed['second'];
$tripdate[] = date("m/d/Y", strtotime($data[0]) - $seconds);
$triptime[] = date("H:i:s", strtotime($data[3]) - strtotime($data[2]));
$selectedCause[] = $data[4];
$selectedWeather[] = $data[5];
$selectedDevice[] = $data[6];
$selectedEquipment[] = $data[7];
for ($i=0; $i < count($dates); $i++)
echo " <tr>
<form method='POST' name='forms1' class='form-inline'>
<input type='hidden' name='selectedMonth' value='$date1'>
<input type='hidden' name='selectedYear' value='$year'>
<td><input type='hidden' name='tripdate[]' value='$tripdate[$i]'/> $tripdate[$i] </td>
<td><input type='text' name='description1[]' class='form-control'/></td>
<td><input type='hidden' name='circuit[]' value='$circuit[$i]'>
<input type='hidden' name='tripdate1[]' value='$circuitNo[$i]'/> $circuitNo[$i] </td>
<td><input type='hidden' name='triptime[]' value='$triptime[$i]'/>$triptime[$i]</td>
<td><input type='hidden' name='dates[]' value='$dates[$i]'/>$dates[$i]</td>
<td><input type='hidden' name='dates1[]' value='$dates1[$i]'/>$dates1[$i]</td>
<td><input type='hidden' name='dates2[]' value='$dates2[$i]'/>$dates2[$i]</td>
<td><input type='text' name='description2[]' class='form-control'></td>
<td>
<div class='form-group'>
<select class='form-control' name='InterruptionCause[]'>
<option value='001'" if ($selectedCause[$i] == '1')
echo "selected";
"> 001 </option>
<option value='002'>002 </option>
<option value='003'>003 </option>
<option value='004'>004 </option>
</select>
</div>
</td>
?>
<input type='submit' class='btn btn-success' name='interruptionreport' value='Submit'>
</form>
</tbody>
</table>
【问题讨论】:
“但我得到一个错误” - 这是一个非常无益的陈述。逐字引用错误消息! 【参考方案1】:您的尝试会产生语法错误。您只需在没有 ;
的情况下结束您的 echo
语句。
echo "
<div class='form-group'>
<select class='form-control' name='InterruptionCause[]'>
<option value='001' " . $selectedCause[$i] == '1' ? "selected" : "" . "> 001 </option>
<option value='002' " . $selectedCause[$i] == '2' ? "selected" : "" . ">002 </option>
<option value='003' " . $selectedCause[$i] == '3' ? "selected" : "" . ">003 </option>
<option value='004' " . $selectedCause[$i] == '4' ? "selected" : "" . ">004 </option>
</select>
</div>";
这将为每个选项检查selectedCause[$i]
是否等于您的选项的值。如果是,则打印“selected”,否则不打印(空字符串)。
【讨论】:
嗨。它没有用。它重复打印“> 004”。所以不会有if条件? 这利用了三元运算符。$x == $y ? codeA : codeB
只是 if ($x == $y) codeA else codeB
的简写
我明白了。但它没有用。选择选项消失并重复打印“>004”:(以上是关于从 sql server 获取选定的值到 php 中的下拉列表的主要内容,如果未能解决你的问题,请参考以下文章