我有一个名为part_name的数据库。 值:
Front Control Arm, Rear Control Arm
我只需回应一次只有控制臂。 到目前为止,我对while循环结果的了解是
Control Arm, Control Arm.
需要回显while循环结果中的不同值。我无法在SQL查询SELECT DISTINCT
上执行此操作,因为我正在尝试替换我在数据库上进行排队的行中的值。
while ($rowsparts = mysql_fetch_array($displayparts)) {
$part=''.$rowsparts['part_name'].'';
$part = preg_replace('/\bFront\b/u', '', $part);
$part = preg_replace('/\bRear\b/u', '', $part);
echo '<li>'.$part.'</li>';
}
我需要回显$ part变量的不同值,每个部分名称只需要一次。
仅限控制臂。
答案 0 :(得分:0)
如果您只想显示一次零件名称,这可能会有效:
$lastpart = '';
while ($rowsparts = mysql_fetch_array($displayparts)) {
$part = $rowsparts['part_name'];
$part = trim(str_replace('Rear','',str_replace('Front','',$part)));
if($lastpart != $part) {
$lastpart = $part;
echo "<li>".$part."</li>\n";
} else {
echo "<li>Part name duplicate: $part, lastpart: $lastpart</li>\n";
}
}
我添加了 else 进行调试。它将显示用于检测重复的两个变量。您将在测试后将其删除。
如果您只想在零件名称不符合时显示零件名称,这可能会有效。 它构建了一个零件名称列表,并根据列表检查每个零件名称 只列出清单中没有的。
$part_list = array();
while ($rowsparts = mysql_fetch_array($displayparts)) {
$part = $rowsparts['part_name'];
$part = trim(str_replace('Rear','',str_replace('Front','',$part)));
if(!isset($part_list[$part])) {
$part_list[$part] = 1;
echo "<li>".$part."</li>\n";
}
}