Вывожу из БД все имеющие группы :
<? 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
Пишит что mysql_fetch_assoc(): аргумент не действительный ресурс результата MySQL
:wacko:
<?
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 - группа - Масло, антифриз и т.п
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.