Пожалуйста, со мной, пока я пытаюсь объяснить свой вопрос. У меня есть база данных Sqlite, в которой есть таблица, состоящая из информации о компании (компании) и таблицы, содержащей информацию о продукте (Продукты). Идентификатор таблицы компаний - Company_Name. Он объединяется с таблицей Products by Company_Name. Например, компания «А» может иметь много продуктов, связанных с ней, через внутреннее объединение компаний на Company_Name = ProductID (ProductID состоит из названий компаний).Получение и представление SQL записей в таблице записей с помощью PHP, Sqlite (или MySql) и HTML
Я пытаюсь отобразить эту информацию, используя цикл php while, чтобы был список компаний с их соответствующими продуктами. Я не могу понять, как это сделать. Я могу создавать одиночные записи, например, одну компанию с одним продуктом, но я не могу перечислить одну компанию с несколькими продуктами. Вот, что я пытаюсь достичь:
Компания "А" - место CA продукт 1, продукт 2, продукт 3
Компания "C" - место CA продукт 3, продукт 4, продукт 6
Компания "F" - место CA продукт 1, продукт 8
в этом примере запрос будет тянуть все компании в Калифорнии (CA).
Мой код выглядит следующим образом, но это не работает:
//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>";
}
}
В принципе, мой код дает мне одну компанию в Калифорнии и перечисляются все продукты, связанные со всеми компаниями в Калифорнии:
компании «A» - местонахождение CA продукт 1, продукт 2, продукт 3, продукт 3, продукт 4, продукт 6, продукт 1, продукт 8
Я попытался вынуть второй php «while loop», однако я бы получил следующие:
Компания "А" - место CA Продукт 1
Компания "А" - место CA Продукт 2
Компания "А" - место CA Продукт 3 ...
Хотя Я использую Sqlite, если у кого-то есть пример в MySql или любом другом sql Db, это действительно помогло бы. Я думаю, что моя проблема связана с запросом и php «while loop».
Я очень ценю вашу помощь.
Спасибо,
DFM
Здравствуйте Sigersted - Спасибо за помощь. Мне еще не удалось заставить код работать, но вы указали мне в правильном направлении. – user175328