Alınıyor ve sunulması SQL Tablo PHP, SQLite (veya MySQL) ile kayıtları ve HTML Katılım

1 Cevap php

Ben sorumu anlatmaya çalışırken benimle çıplak. Ben şirket bilgileri (Şirketler) ve ürün bilgileri (Ürünler) oluşan bir tablo içeren bir tablo vardır bir SQLite veritabanı var. Şirketler tablo id COMPANY_NAME olduğunu. Bu COMPANY_NAME tarafından Products tablosu ile birleştirilir. Örneğin, "A" firması iç COMPANY_NAME = Productıd (ProductID şirket isimlerden oluşuyor) üzerine şirketler katılmak yoluyla, kendisiyle ilişkili birçok ürün olabilir.

Ben kendi ürünleri ile firmaların bir listesi var olacak, böylece döngü sırasında bir php kullanarak bu bilgileri görüntülemek çalışıyorum. Ben bunu nasıl anlamaya olamaz. Ben döngü böyle bir ürün ile bir şirket olarak tek kayıtlarını can, ama ben birden fazla ürün ile bir şirket listesinde olamaz. Aşağıdaki Ben başarmak için çalışıyorum budur:

Company "A" - location CA product 1, product 2, product 3

Company "C" - location CA product 3, product 4, product 6

Company "F" - location CA product 1, product 8

Bu örnekte sorgu California (CA) tüm şirketleri çekmek istiyorum.

Benim kod aşağıdaki gibidir, ama çalışmıyor:

//srchtext is the value in a HTML text box//
$txt = $_GET["srchtext"];
$dbstate = @$db->query("SELECT Company.Company_Name, Company.Company_City, Company.Company_State, Company.Company_Website, Company.Company_Service, Categories.Category_Name, Products.Product_Name FROM Company INNER JOIN Products On Company_Name = ProductID WHERE Company_State = '$txt'");
 while ($hmstate = $dbstate->fetchArray()){
echo "<ul>";
echo "<font id='srchclr'; color='#666666';>";
echo '<strong>'.$hmstate['Company_Name'].'</strong>'.'<br>'.$hmstate['Company_City'].','.$hmstate['Company_State'].'<br>'.
'<a href='.$hmstate['Company_Website'].'>'.$hmstate['Company_Website'].'</a>'.'<br>'.'<ul>'.
'<br>'.'<strong>Products or Services Provided by this Company:</strong>'.'<br>'.'<br>'.'<ul>'.$hmstate['Company_Service'].'</ul>';
echo "<br>";
echo "<strong>Company Product Category:</strong>";
echo "<br>";
echo "<br>";
  //Product loop//
  While ($hmstate = $dbstate->fetchArray()) {
  echo "<ul>";
  echo $hmstate['Product_Name'];
  echo "</ul>";
  }
}

Temelde, benim kod bana Kaliforniya'da bir şirket verir ve california tüm şirketler ile ilişkili tüm ürünleri listeler:

Company "A" - location CA product 1, product 2, product 3, product 3, product 4, product 6, product 1, product 8

Ben "döngü iken", ancak ben şu alacağı ikinci php yaptırmayı denedi:

Company "A" - location CA Product 1

Company "A" - location CA Product 2

Company "A" - location CA Product 3...

Ben SQLite kullanıyorum rağmen birisi MySQL veya başka bir DB SQL bir örneği varsa, bu gerçekten de yardımcı olacaktır. "While döngüsü" Ben sorunu sorgu ve php ile olduğunu düşünüyorum.

Ben gerçekten yardım ederiz.

Teşekkür ederim,

DFM

1 Cevap

Ürün'ünüzün COMPANY_NAME değişiklikleri zaman "kırmak" çünkü döngü ise-tüm ürünleri getiriliyor.

Benim PHP iyi ama bu böyle belki bir şey değildir:

.
.
(Your company PHP code here)
.
.

//Product loop//
if ($hmstate = $dbstate->fetchArray()) {
$fetch_okay = true;
$Current_Company_name = $hmstate['Company_Name'];
$same_Company = true;
}

While (fetch_okay && same_Company) {
  echo "<ul>";
  echo $hmstate['Product_Name'];
  echo "</ul>";

  $fetch_okay = false;
  $same_Company_Name = false;
  if ($hmstate = $dbstate->fetchArray()) {
    $fetch_okay = true;
    if ($hmstate['Company_Name'] = $current_Company_name) {
      $same_Company_Name = true;
    }
  }
}