2012-03-22 64 views
3

有没有办法在php中比较两个不同表中的字符串?例如:比较行mysql,php

 Clothing Item  Price tag 
    Scarf    £5 
    Scarf    £6 
    Scarf    £4 
    Cloth    £10 
    Shoe    £15 

我基本上想按他们的名字对不同的项目进行分组。对于每个不同的项目,我想在两种颜色之间交替。所以如果项目是一条围巾,我会着色它可能是蓝色的,因为下一个项目也是一条围巾,我也会把它染成蓝色。之后,因为我有一块布,它会变成黄色,因为下一个是鞋,它会变成蓝色。我想出了一些使用PHP:

$previous = ""; 
    while ($row = mysql_fetch_array($result)) 
    { 
    if ($row['firstName'] != $previous) { 
    echo "<tr bgcolor = 'blue'>"; 
    } 
    else { 
    echo "<tr bgcolor = 'yellow'>"; 
    } 
    blah blah 
    } 

当我这样做,我没有得到我想要的。我从中得到的第一条围巾是黄色的,而另外两条是蓝色的。然后,因为围巾!=布,我得到一个黄色,也因为布!=鞋,我变黄而不是蓝色。

我可以直接看到问题是什么,但我不知道如何解决它。请帮忙。当前颜色为循环外的独立变量开始,然后的感谢

+1

你没有更新的'$ previous' – hjpotter92 2012-03-22 15:50:09

+0

这样做的价值与mysql无关,真的,除了你从数据库中获取数据。这纯粹是“我如何在表格中交替排列颜色”。 – 2012-03-22 15:50:49

+0

@MarcB谢谢,对我有用-_- – Ester 2012-03-22 15:56:46

回答

2

跟踪更改时,该项目的第一个名字的变化:

$color = true; 
$previous = ''; 
while ($row = mysql_fetch_array($result)) 
{ 
if ($row['firstName'] != $previous) { 
    $color = !$color; 
    $previous = $row['firstName']; 
} 
echo "<tr bgcolor = '", ($color?'blue':'yellow'),"'>"; 


blah blah 
} 
+0

非常感谢。 :) – Ester 2012-03-22 15:59:46