[英]rewrite php/sql code to make it more streamlined
我真的不喜欢看这段代码,它对我来说很脏,需要将其压缩为更严格的代码。 我觉得这可以在单个查询中完成,并使查询在while循环内而不是之前进行...
但是,每次我尝试将SELECT放入其中时都会失败。 我该如何浓缩呢? 这是输入表单的数据列表:
<datalist id="keys">
<?php
$tile1=$db->query("SELECT * FROM YearMakeModel GROUP BY Make1, Model1");
while($storeModel=mysqli_fetch_object($tile1))
{ echo '<option value="'.$storeModel->Model1.'">'; }
$tile2=$db->query("SELECT * FROM YearMakeModel GROUP BY Make1");
while($storeMake=mysqli_fetch_object($tile2))
{ echo '<option value="'.$storeMake->Make1.'">'; }
$tile3=$db->query("SELECT * FROM YearMakeModel GROUP BY Make1, Model1");
while($storeMakeModel=mysqli_fetch_object($tile3))
{ echo '<option value="'.$storeMakeModel->Make1.' '.$storeMakeModel->Model1.'">'; }
?>
</datalist>
通过执行以下操作可以获得所有结果:
可以按照以下步骤进行:
$everything=$db->query("SELECT * FROM YearMakeModel");
$formattedResults = [ "models" => [], "makes" => "makesAndModels" => [] ];
while ($row = mysqli_fetch_object($everything)) {
$formattedResults["makes"][$row->Make1] = "Make label here?";
$formattedResults["models"][$row->Model1] = "Model label here?";
$formattedResults["makesAndModels"][$row->Make1.' '.$row->Model1] = "Combined label here?";
}
<datalist id="keys">
<?php
foreach ($formattedResults as $array) {
foreach ($array as $value => $label) {
echo "<option value='$value'>";
}
} ?>
</datalist>
我希望这是您要寻找的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.