[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите пожалуйста найти ошибку
zikworld
Добрый вечер!
Обращаюсь к Вам за помощью, так как уже дня 3 не могу понять в чем дело...

у меня есть таблица "товары"
"id" "name"
и есть таблица "магазины" которые содержат эти товары
"magazin" "tovar_id"


создаю файл "tovaru.php" и "magazinu.php"

код tovaru.php
<?
$query = mysql_query("SELECT * FROM `товары` WHERE `id` = '{$tovar_id}'");
while($result = mysql_fetch_array($query)) {
$id = $result['id'];
$name = $result['name'];
}
?>



код magazinu.php
<?php
$query = mysql_query("SELECT * FROM `магазины`");
while($result = mysql_fetch_array($query)) {
$tovar_id = $result['tovar_id'];



include "tovaru.php";

echo "$name";

}


проблемма в том что выдает только 1 результат а не весь список...
помогите пожалуйста решить....заранее благодарен



Спустя 6 минут, 15 секунд (6.05.2011 - 19:58) kovaldm написал(а):
Вот на эту строку посмотри и подумай, что будет лежать в переменной, после выполнения цикла.
$name = $result['name'];

Спустя 6 минут, 39 секунд (6.05.2011 - 20:04) zikworld написал(а):
я конечно извиняюсь, но я новичек, и по сути не знаю что такое цикл и что там должно лежать?))

ну эта переменная должна содержать названия всех товаров при условии что в магазинах товар есть

Спустя 1 минута, 42 секунды (6.05.2011 - 20:06) kovaldm написал(а):
Цитата (zikworld @ 6.05.2011 - 20:04)
я конечно извиняюсь, но я новичек, и по сути не знаю что такое цикл и что там должно лежать?))

А как же ты работаешь с БД, не зная что такое цикл?

Вот так делай тогда
товару.пхп
<?
$query = mysql_query("SELECT * FROM `товары` WHERE `id` = '{$tovar_id}'");

while($result = mysql_fetch_array($query))
{
$id = $result['id'];
echo $name = $result['name'];
}
?>


магазину.пхп
<?php
$query = mysql_query("SELECT * FROM `магазины`");

while($result = mysql_fetch_array($query))
{
$tovar_id = $result['tovar_id'];
include "tovaru.php";
}

Спустя 2 минуты, 38 секунд (6.05.2011 - 20:09) zikworld написал(а):
вот так и работаю, методом тыка, обычно работает нормально, но есть такие загвоздки как эта...

я думаю ну эта переменная должна содержать названия всех товаров при условии что в магазинах товар есть

Спустя 1 минута, 48 секунд (6.05.2011 - 20:10) kovaldm написал(а):
Отредактировал предидущий пост.
Переменная содержит последнее наименование товара. Если как у тебя, то товары нужно собирать в массив или выводить в том цикле, где делаешь вывод из БД.

Спустя 4 минуты (6.05.2011 - 20:14) zikworld написал(а):
переменная содержит первый а не последний вид товара...
как вывести все?

Спустя 2 минуты, 24 секунды (6.05.2011 - 20:17) kovaldm написал(а):
Я написал.

Спустя 4 минуты, 23 секунды (6.05.2011 - 20:21) zikworld написал(а):
так я же и сделал вывод в том цикле, где делал вывод из БД.

Спустя 7 минут, 36 секунд (6.05.2011 - 20:29) kovaldm написал(а):
Выводие товары? Я правильно понял? Значит вывод нужно делать в том же цикле, где делается запрос к "товарам".

Спустя 28 минут, 22 секунды (6.05.2011 - 20:57) zikworld написал(а):
<?
$query = mysql_query("SELECT * FROM `товары` WHERE `id` = '{$tovar_id}'");

while($result = mysql_fetch_array($query))
{
$id = $result['id'];
echo $name = $result['name'];
}
?>


ну так вот же вывод чтото я не доганяю, скажите пожалуйста какую строчку исправить (((

Спустя 8 минут, 41 секунда (6.05.2011 - 21:06) denash написал(а):
Если ты хочешь, чтобы $name был массивом, содержащим название товара, то сделай так.

В tovaru.php замени строку $name = $result['name']; на $name[] = $result['name'];

В magazinu.php исправь строку echo "$name"; на
foreach ($name as $val)
{
echo $val;
}

Спустя 15 минут, 10 секунд (6.05.2011 - 21:21) zikworld написал(а):
блин не то, но я нашел причину
тупое дело но в товарах


$query = mysql_query("SELECT * FROM `товары` WHERE `id` = '{$tovar_id}'");
while($result = mysql_fetch_array($query))


и в магазинах то же

$query = mysql_query("SELECT * FROM `магазины`");
while($result = mysql_fetch_array($query))

заменил на

$query1 = mysql_query("SELECT * FROM `магазины`");
while($result1 = mysql_fetch_array($query1))

все работает, не попадайтесь)

Спустя 27 минут (6.05.2011 - 21:48) SerginhoLD написал(а):
да вроде сразу было понятно что переменные пересекаются, а вы тут тормозите
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.