[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод товара из БД по ссылки
RuslanMRP
Привет! Помогите!

Вывожу из БД все имеющие группы :

<? echo"<a href='2.php?group=$f[groop]' target='_self'><font valign=center>"; 
include "setup/options.php";
if(!mysql_connect($host,$USER,$PASSWD))
{
echo "<h1>Ошибка сервера MySql.</h1>";
exit;
}
mysql_select_db($DB);
echo "<table border=0 width=100%>";
$r=mysql_query("select DISTINCT groop from PRICELIST");
for ($i=0; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td align=left ><font color=red>$f[groop]</font></td></tr>";
}
echo "</table>";

?> </font></a>


Пытаюсь чтобы при нажатии на ссылку из списка групп - вывело весь товар этой группы:

2.php:
<? 
include "setup/options.php";
if(!mysql_connect($host,$USER,$PASSWD))
{
echo "<h1>Ошибка сервера MySql.</h1>";
exit;
}
mysql_select_db($DB);
echo "<table border=0 width=100%>";
$group=$_GET['group'];
$r=mysql_query('select nametov from PRICELIST where groop="$group"');
for ($i=0; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td align=left ><font color=red>$f[nametov]</font></td></tr>";
}
echo "</table>";
?>


Ошибка:

mysql_num_rows(): supplied argument is not a valid MySQL result resource in




Спустя 8 минут, 34 секунды (23.12.2010 - 12:47) linker написал(а):
Все намешано
mysql_query("...")
а
echo '...';
а
$f[nametov] должно быть $f['nametov']
$r = mysql_query("select nametov  from PRICELIST where groop='" . $group . "'"); 
if (!$r) die(mysql_error());
while($f = mysql_fetch_assoc($r))
{
...
}

Спустя 9 минут, 36 секунд (23.12.2010 - 12:56) RuslanMRP написал(а):
linker

<?
include "setup/options.php";
if(!mysql_connect($host,$USER,$PASSWD))
{
echo "<h1>Ошибка сервера MySql.</h1>";
exit;
}
mysql_select_db($DB);
echo "<table border=0 width=100%>";
$group=$_GET['group'];
$r=mysql_query("select nametov from PRICELIST where groop='" . $group . "'");
while($f = mysql_fetch_assoc($r))
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td align=left ><font color=red>$f['nametov']</font></td></tr>";
}
echo "</table>";
echo "$group";
?>



Ошибка:

syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

Спустя 19 минут, 45 секунд (23.12.2010 - 13:16) linker написал(а):
Это
$f=mysql_fetch_array($r);
вырезать из тела цикла. Это
echo "<td align=left ><font color=red>$f['nametov']</font></td></tr>";
заменить на
echo '<td align="left"><font color="red">' .$f['nametov'] . '</font></td></tr>';

Спустя 6 минут, 4 секунды (23.12.2010 - 13:22) RuslanMRP написал(а):
linker

<?
include "setup/options.php";
if(!mysql_connect($host,$USER,$PASSWD))
{
echo "<h1>Ошибка сервера MySql.</h1>";
exit;
}
mysql_select_db($DB);
echo "<table border=0 width=100%>";
$group=$_GET['group'];
$r=mysql_query("select nametov from PRICELIST where groop='". $group ."'");
while($f = mysql_fetch_assoc($r))
{
echo "<tr>";

echo '<td align="left"><font color=red>' .$f['nametov'] . '</font></td></tr>';
}
echo "</table>";
echo "$r";
?>


Пишит что mysql_fetch_assoc(): аргумент не действительный ресурс результата MySQL

:wacko:

Спустя 3 минуты, 5 секунд (23.12.2010 - 13:25) linker написал(а):
Почему не вставил проверку
if (!$r) die(mysql_error());
как я указывал вначале?

Спустя 3 минуты, 22 секунды (23.12.2010 - 13:29) RuslanMRP написал(а):
linker

извини! только заметил - исправил ошибку! Но нечего не выводит! Белый лист


Спустя 42 минуты, 49 секунд (23.12.2010 - 14:11) linker написал(а):
Где ты исправил? Если есть ошибки в SQL-запросе, то выскочит ошибка, иначе все отработает. Хотя бы так
<?php

include "setup/options.php";
$group = isset($_GET['group']) ? $_GET['group'] : '';
if (!mysql_connect($host,$USER,$PASSWD))
die("<h1>Ошибка сервера MySql.</h1>");
if (!mysql_select_db($DB)) die("Нельзя выбрать базу данных");
echo '<table border="0" width="100%">';
$r = mysql_query("SELECT `nametov` FROM `PRICELIST` WHERE `groop` = '". mysql_real_escape_string($group) ."'");
if (!$r) die(mysql_error());
while($f = mysql_fetch_assoc($r))
echo '<tr><td align="left"><font color=red>' .$f['nametov'] . '</font></td></tr>';
echo '</table>' . $group;

?>

Спустя 11 минут, 37 секунд (23.12.2010 - 14:23) RuslanMRP написал(а):
выводит выбранную группу! Нужно чтобы товар выводило!

Спустя 3 минуты, 24 секунды (23.12.2010 - 14:27) linker написал(а):
Сделай
echo "SELECT `nametov` FROM `PRICELIST` WHERE `groop` = '". mysql_real_escape_string($group) ."'";
и результат сюда, а также что за поле такое groop и что в нем храниться?

Спустя 2 минуты, 43 секунды (23.12.2010 - 14:29) RuslanMRP написал(а):
Щетки стеклоочистителяSELECT `nametov` FROM `PRICELIST` WHERE `groop` = 'Щетки стеклоочистителя'



groop - группа - Масло, антифриз и т.п

Спустя 3 минуты, 18 секунд (23.12.2010 - 14:33) linker написал(а):
Ну ошибок-то нет? Если без ошибок, то значит нет в таблице записей с такой группой. Пробуй так
..."SELECT `nametov` FROM `PRICELIST` WHERE `groop` = '%". mysql_real_escape_string($group) ."%'"
может там где пробел затесался.

Спустя 5 минут, 51 секунда (23.12.2010 - 14:38) RuslanMRP написал(а):
Вот правильное решение: Спасибо большое!

<?php

include "setup/options.php";
$group = isset($_GET['group']) ? $_GET['group'] : '';
if (!mysql_connect($host,$USER,$PASSWD))
die("<h1>Ошибка сервера MySql.</h1>");
if (!mysql_select_db($DB)) die("Нельзя выбрать базу данных");
echo '<table border="0" width="100%">';
$r = mysql_query("SELECT `nametovar` FROM `PRICELIST` WHERE `groop` LIKE '%".$group."%' ");
if (!$r) die(mysql_error());
while($f = mysql_fetch_assoc($r))
echo '<tr><td align="left"><font color=red>' .$f['nametovar'] . '</font></td></tr>';
echo '</table>' . $group;

?>

Спустя 1 минута, 49 секунд (23.12.2010 - 14:40) linker написал(а):
Ну да = я забыл заменить на LIKE.
Быстрый ответ:

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