2012-03-22 29 views
3

phpの2つの異なるテーブルの文字列を比較する方法はありますか?例:行を比較するmysql、php

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

基本的には、それぞれの項目を名前でグループ化する必要があります。それぞれのアイテムについて、2つの色を交互に入れたいと思います。アイテムがスカーフの場合は、次のアイテムもスカーフなので、私はそれを青色にします。私はそれも青色にします。その後、私は布を持っているので、それは黄色に着色され、次のものは靴であるため、青色に着色されます。私はPHPを使って何かを思いついた:

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

私がこれをすると、私は欲しいものが得られません。私がこれから得ようとしているのは、最初のスカーフは黄色で、他の2つは青です。それでスカーフ!=布のために、私は黄色をもらっていますし、布も=靴のために、私は青色の代わりに黄色くなります。

私は問題が何であるかをすぐに見ることができますが、それを修正する方法はわかりません。助けてください。おかげ

+1

あなたはこれを持っている '$ previous' – hjpotter92

+0

の値を更新していませんmysqlとはまったく関係がありません。実際には、データベースからデータを取得する以外はありません。これは純粋に「テーブル内で行を交互に色づける方法」です。 –

+0

@MarcBありがとうございました。-_- – Ester

答えて

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