来自while循环的不同值

时间:2017-04-01 19:45:43

标签: php mysql

我有一个名为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变量的不同值,每个部分名称只需要一次。

仅限控制臂。

1 个答案:

答案 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";
    }
}