kRivoRURK
Новичок
Есть база из которой нужно вытащить и оформить информацию по продуктам Две главные таблицы по продуктам -
ns_preces
Хранящая ID продукта и его название. (К примеру название ноутбука и его ID)
ns_preces_inf
Там храниться ID продуктов из предыдущей таблицы, информация о продукте. Каждая отдельная запись хранить свой параметр продукта.
Вывод реализовал, если код говно пишите что посмотреть и что прочесть, спам ненужен (см. листинг) . Добавил коментарии - поправте если ход мыслей неправельный.
Из первой таблицы беру ID из второй по ID информацию о продукте.
Встретился с такой задачей: Информацию выводит только о первом продукте из второй таблицы. А не по каждому конкретному товару.
Где неправ?
ns_preces
Хранящая ID продукта и его название. (К примеру название ноутбука и его ID)
ns_preces_inf
Там храниться ID продуктов из предыдущей таблицы, информация о продукте. Каждая отдельная запись хранить свой параметр продукта.
Вывод реализовал, если код говно пишите что посмотреть и что прочесть, спам ненужен (см. листинг) . Добавил коментарии - поправте если ход мыслей неправельный.
PHP:
<?php
echo htmlspecialchars('<?xml version="1.0" encoding="UTF-8"?>');
echo "<br>";
echo htmlspecialchars('<PRODUCTS>');
echo "<br><br>";
mysql_connect("localhost","root","");
mysql_query('SET NAMES utf8');
mysql_select_db("database");
$db_parts = mysql_query("SELECT * FROM ns_preces");
// Присваиваем значения таблицы ns_preces в переменную db_parts - типа массив.
while($parts = mysql_fetch_row($db_parts)){
// Перебираем значения массива db_parts до конца.
$model = $parts[2]; // Присваиваем значения третьей колонки переменной model.
// $poisk = strpos($model,"MacBook");
$poisk = strpos($model,"MacBook");
// Сравниваем значения третьей колонки с нужным нам значением.
if($poisk===false){} else {
// Если поиск возвращает значение TRUE то в переменной $parts[0] храняться
// нужные нам ID.
// echo htmlspecialchars('<ID>');
// echo $parts[0];
// echo htmlspecialchars('</ID>')."<br>";
echo htmlspecialchars('<NAME>');
echo $parts[2];
echo htmlspecialchars('</NAME>')."<br>";
$db_parts_inf = mysql_query("SELECT * FROM ns_preces_inf WHERE precesid=".$parts[0]);
// Присваиваем значения таблицы ns_preces_inf в переменную db_parts_inf,
// c ID который берем в $parts[0].
// Присваиваем значение четвертой колонны массиву ProductInfo
while($parts_inf = mysql_fetch_row($db_parts_inf))
$ProductInfo[] = $parts_inf[3];
{
echo htmlspecialchars('<CPU>');
echo $ProductInfo[0];
echo htmlspecialchars('</CPU>')."<br>";
echo htmlspecialchars('<RAM>');
echo $ProductInfo[1];
echo htmlspecialchars('</RAM>')."<br>";
echo htmlspecialchars('<HDD>');
echo $ProductInfo[2];
echo htmlspecialchars('</HDD>')."<br>";
echo htmlspecialchars('<GPU>');
echo $ProductInfo[3];
echo htmlspecialchars('</GPU>')."<br>";
echo htmlspecialchars('<DVD>');
echo $ProductInfo[4];
echo htmlspecialchars('</DVD>')."<br>";
echo htmlspecialchars('<Monitor>');
echo $ProductInfo[5];
echo htmlspecialchars('</Monitor>')."<br>";
echo htmlspecialchars('<IO>');
echo $ProductInfo[6];
echo htmlspecialchars('</IO>')."<br>";
echo htmlspecialchars('<LAN>');
echo $ProductInfo[7];
echo htmlspecialchars('</LAN>')."<br>";
echo htmlspecialchars('<OS>');
echo $ProductInfo[8];
echo htmlspecialchars('</OS>')."<br>";
echo htmlspecialchars('<AKUMULATOR>');
echo $ProductInfo[9];
echo htmlspecialchars('</AKUMULATOR>')."<br>";
echo htmlspecialchars('<SIZE>');
echo $ProductInfo[10];
echo htmlspecialchars('</SIZE>')."<br>";
echo htmlspecialchars('<WEIGHT>');
echo $ProductInfo[11];
echo htmlspecialchars('</WEIGHT>')."<br>";
echo htmlspecialchars('<WARRANTY>');
echo $ProductInfo[12];
echo htmlspecialchars('</WARRANTY>')."<br><br>";
}
}
};
echo htmlspecialchars('</PRODUCTS>');
?>
Встретился с такой задачей: Информацию выводит только о первом продукте из второй таблицы. А не по каждому конкретному товару.
Где неправ?