2012-03-22 93 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