2017-01-20 7 views
1

私はカテゴリを持つベンダー連絡先データベースを構築しようとしています。さまざまなベンダーが複数のカテゴリに分類されています。私はテーブルを次のように構成しました:すべてのCatorgoriesで連絡先データベースを表示します。 PHP SQL

名前_ベンダー|カテゴリ1 |カテゴリ2 |カテゴリ3 |

John Smith | 1 | 0 | 1 |

配管ジム| 0 | 0 | 1 |

私の現在のコード

 

     $category_Title_1 = "Appliance Repair"; 
     $category_1 = "Category_1"; 
     $category_Title_2 = "Handyman"; 
     $category_2 = "Category_2"; 
     $category_Title_3 = "Plumber"; 
     $category_3 = "Category_3"; 

     $result = mysqli_query($conn,"SELECT * FROM `vendors` WHERE ".$category_1 ."='1'ORDER BY Name_Vendor ASC"); 
     $row_cnt = $result->num_rows; 
     if ($row_cnt == 0){echo "";} 
     else 
     { echo "".$category_Title_1.""; 
      while($row = mysqli_fetch_array($result)) 
      { echo $row['Name_Vendor']; 
      echo "";} 

     $result = mysqli_query($conn,"SELECT * FROM `vendors` WHERE ".$category_2 ."='1'ORDER BY Name_Vendor ASC"); 
     $row_cnt = $result->num_rows; 
     if ($row_cnt == 0){echo "";} 
     else 
     { echo "".$category_Title_2.""; 
      while($row = mysqli_fetch_array($result)) 
      { echo $row['Name_Vendor']; 
      echo "";} 

     $result = mysqli_query($conn,"SELECT * FROM `vendors` WHERE ".$category_3 ."='1'ORDER BY Name_Vendor ASC"); 
     $row_cnt = $result->num_rows; 
     if ($row_cnt == 0){echo "";} 
     else 
     { echo "".$category_Title_3.""; 
      while($row = mysqli_fetch_array($result)) 
      { echo $row['Name_Vendor']; 
      echo "";} 


これは単なる基本的な考え方です。私の連絡先データベースには電話番号、電子メールなどのフィールドがあります

カテゴリ番号が大きくなってきたのを見て、私は同じページ内で同じコードを何度もコピーする必要がない方法を探していますすべてのカテゴリを表示するには

+0

あなたが探していることはアレイまたは2に連動してループであるような音。 – Newd

+0

カテゴリを配列に配置し、上の冗長なコーディングの問題を解決するforeachループを使用して、これらのカテゴリをループします。すべての結果をキー、値のペア配列に格納することができます。ここで、キーはカテゴリです。&valueは実行されたクエリの結果です – mcv

+0

データを正規化するとコードが簡単になります。 –

答えて

0
$keyValuePairArray = { 
    'key1' => 'value1', 
    'key2' => 'value2', 
    ... 
}; 

foreach($keyValuePairArray as $key=>$value){ 
    //do whatever it is that you're doing 
    //repetitively in your code above 
    //if you don't understand this try using var_dump on your array 
    //and echo out the $key and $value so that you might better understand 
    //or research about all the items I have mentioned previously 
} 
+0

それはそれを働かせました。ありがとう!あなたは私に多くの時間と頭痛を救った! – themurphyteammarketing

関連する問題