Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Поготе скрипт перписать
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Поготе скрипт перписать

Страниц (1): [1]
 

1. craz - 28 Апреля, 2008 - 10:57:38 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1. <?
  2.  
  3.         if (strlen($r_id)) { //показать товары выбранной категории
  4.        
  5.                 $res = mysql_query("SELECT Title FROM ".$db_prefix."_categories WHERE CatId = $r_id");
  6.                 if($res && mysql_num_rows($res)) {
  7.                         // Название категории
  8.                         echo "<tr>";
  9.                         echo "<td colspan=\"".(9+$chk_photo)."\" id=\"cat_header\">";
  10.                         echo "<img src=\"images/cart_bg2.gif\" width=\"10\" height=\"30\" border=\"0\" align=\"right\" hspace=\"0\">";
  11.                         echo "<h1>".mysql_result($res,0)."</h1>";
  12.                         echo "</td>";
  13.                         echo "</tr>\n";
  14.                        
  15.                         $arr_categories = array();
  16.                         $res = mysql_query("SELECT CatId,Title FROM ".$db_prefix."_categories WHERE CatId IN ($categories) ORDER BY Id");
  17.                         if($res) {
  18.                                 while ($row = mysql_fetch_row($res)) {
  19.                                         $arr_categories[$row[0]]['Title'] = $row[1];
  20.                                         $arr_categories[$row[0]]['Children'] = array();
  21.                                 }
  22.                         }
  23.                         $res = mysql_query("SELECT CatId,ParentId,Title FROM ".$db_prefix."_categories WHERE ParentId IN ($categories) ORDER BY Id");
  24.                         if($res) {
  25.                                 while ($row = mysql_fetch_row($res)) {
  26.                                         $arr_categories[$row[1]]['Children'][$row[0]] = $row[2];
  27.                                 }
  28.                         }
  29.          
  30.                         if (count($arr_categories)) {
  31.                                 echo "<tr id=\"cat_header2\">";
  32.                                 if ($chk_photo) {
  33.                                         echo "<td class=\"first\">Фото</td>";
  34.                                         echo "<td>Артикул</td>";
  35.                                 } else {
  36.                                         echo "<td class=\"first\">Артикул</td>";
  37.                                 }
  38.                                 echo "<td>Наименование товара</td>";
  39.                                 echo "<td>Кол-во в упаковке, шт.</td>";
  40.                                 echo "<td>Опт. цена, руб</td>";
  41.                                 echo "<td>Кол-во товара на складе, шт.</td>";
  42.                                 echo "<td>Кол-во плывущего товара, шт.</td>";
  43.                                 echo "<td>Дата поступ-ления</td>";
  44.                                 echo "<td>Примечание</td>";
  45.                                 echo "<td>Добавить в корзину (шт.)</td>";
  46.                                 echo "</tr>\n";
  47.                         }


to be continue...
(Добавление)
CODE (text):
скопировать код в буфер обмена
  1. foreach ($arr_categories as $row_id => $row) {
  2.          
  3.                                 // название типа
  4.                                 echo "<tr>";
  5.                                 echo "<td colspan=\"".(9+$chk_photo)."\" class=\"cat_header3\">";
  6.                                 echo "<h1>".$row['Title']."</h1>";
  7.                                 echo "</td>";
  8.                                 echo "</tr>\n";
  9.          
  10.                                 // показать товары этого типа
  11.                                 $goods_count = 0;
  12.                                 $res = mysql_query("SELECT * FROM ".$db_prefix."_catalog WHERE CatId = $row_id $chk_sql_add ORDER BY Id");
  13.                                 if ($res) {
  14.                                         while ($row_c = mysql_fetch_row($res)) {
  15.                                         showGood($row_c,$chk_photo);
  16.                                         $goods_count++;
  17.                                         }
  18.                                 }
  19.  
  20.                                 if (!$goods_count && !count($row['Children'])) {
  21.                                         echo "<tr><td colspan=\"".(9+$chk_photo)."\">Нет товаров</td></tr>";
  22.                                 }
  23.          
  24.                                 foreach ($row['Children'] as $cur_id => $cur_title) {
  25.          
  26.                                         // название типа
  27.                                         echo "<tr>";
  28.                                         echo "<td colspan=\"".(9+$chk_photo)."\" class=\"cat_header3\">";
  29.                                         echo "<h1>$cur_title</h1>";
  30.                                         echo "</td>";
  31.                                         echo "</tr>\n";
  32.          
  33.                                         // показать товары этого типа
  34.                                         $res = mysql_query("SELECT * FROM ".$db_prefix."_catalog WHERE CatId = $cur_id $chk_sql_add ORDER BY Id");
  35.                                         $result = array();
  36.                                         if ($res) {
  37.                                                 while ($row_c = mysql_fetch_row($res)) {
  38.                                                 $result[] = $row_c;
  39.                                                 }
  40.                                         }
  41.                                        
  42.                                         if (!count($result)) { //если кол-во товаров этого типа = 0
  43.                                                 echo "<tr><td colspan=\"".(9+$chk_photo)."\">Нет товаров</td></tr>";
  44.                                         } else { //$i != 0 -- показываем товары этого типа
  45.                                                 foreach ($result as $row_c) {
  46.                                                         showGood($row_c,$chk_photo);
  47.                                                 }
  48.                                         }
  49.                                 }
  50.                         }
  51.  
  52.                 }
  53.  
  54.         }
  55. ?>
  56. </table>

вот тут я наверное чето не то делаю. Суть вопроса у меня в таблице есть записи с полем такого вида comment='3'. вот я хочу выгрузить только этот товар и чтоб он был в своей группе.
(Добавление)
// название типа
echo "<tr>";
echo "<td colspan=\"".(9+$chk_photo)."\" class=\"cat_header3\">";
echo "<h1>".$row['Title']."</h1>";
echo "</td>";
echo "</tr>\n";

// показать товары этого типа
$goods_count = 0;
$res = mysql_query("SELECT * FROM ".$db_prefix."_catalog WHERE CatId = $row_id $chk_sql_add and comment='3' ORDER BY Id");
if ($res) {
while ($row_c = mysql_fetch_row($res)) {
showGood($row_c,$chk_photo);
$goods_count++;
}
}

if (!$goods_count && !count($row['Children'])) {
echo "<tr><td colspan=\"".(9+$chk_photo)."\">Нет товаров</td></tr>";
}

foreach ($row['Children'] as $cur_id => $cur_title) {

// название типа
echo "<tr>";
echo "<td colspan=\"".(9+$chk_photo)."\" class=\"cat_header3\">";
echo "<h1>$cur_title</h1>";
echo "</td>";
echo "</tr>\n";

// показать товары этого типа
$res = mysql_query("SELECT * FROM ".$db_prefix."_catalog WHERE CatId = $cur_id and comment='3' ORDER BY Id");
$result = array();
if ($res) {
while ($row_c = mysql_fetch_row($res)) {
$result[] = $row_c;
}
}

if (!count($result)) { //если кол-во товаров этого типа = 0
echo "<tr><td colspan=\"".(9+$chk_photo)."\">Нет товаров</td></tr>";
} else { //$i != 0 -- показываем товары этого типа
foreach ($result as $row_c) {
showGood($row_c,$chk_photo);
}
}
}
}

}

вот так пишу, у меня кроме спецпредложений еще отображаються пустые группы этой ветки.
типа вот этого
Цитата:
110. ИГРУШКИ ДЛЯ САМЫХ МАЛЕНЬКИХ

ВР170
ГРАБЛИ 0 2,48 20 0 СПЕЦПРЕДЛОЖЕНИЕ!


ПБ2167
ПЕСОЧНЫЙ НАБОР № - 24 2167 52 23,70 20 0 СПЕЦПРЕДЛОЖЕНИЕ!


ПБ3287
СЕРИЯ "ПЕСОЧНИЦА", ВЕДРО-КРЕПОСТЬ МАЛОЕ 240 9,65 236 0 СПЕЦПРЕДЛОЖЕНИЕ!


ПБ3577
СЕРИЯ "ПЕСОЧНИЦА", ПЕС. НАБОР № 64(ведро крепость , лопатка, грабельки. ) 3577 80 17,20 25 0 СПЕЦПРЕДЛОЖЕНИЕ!


ПБ4474
ПЕСОЧНЫЙ НАБОР " 237 35 38,95 15 0 СПЕЦПРЕДЛОЖЕНИЕ!

110.1. КАРУСЕЛИ МУЗЫКАЛЬНЫЕ
Нет товаров
110.2. ПОГРЕМУШКИ
Нет товаров
110.3. ЗАВОДНЫЕ ИГРУШКИ
Нет товаров
110.4. КАТАЛКИ
Нет товаров
110.6. ПЕСОЧНЫЕ НАБОРЫ
Нет товаров
110.7. ЮЛА, ПИРАМИДКА, НЕВАЛЯШКИ
Нет товаров
110.8. ВЕРТУШКИ, КВАКАЮЩИЕ МОЛОТКИ
Нет товаров
110.9. ИГРУШКИ ДЛЯ МАЛЕНЬКИХ "РАЗНОЕ"
Нет товаров

а мне это нафиг не надо.
(Добавление)
Извините пожалуйста в названии темы чето вообще ошибся)
foreach ($arr_categories as $row_id => $row) {

// название типа
echo "<tr>";
echo "<td colspan=\"".(9+$chk_photo)."\" class=\"cat_header3\">";
echo "<h1>".$row['Title']."</h1>";
echo "</td>";
echo "</tr>\n";

// показать товары этого типа
$goods_count = 0;
$res = mysql_query("SELECT * FROM ".$db_prefix."_catalog WHERE CatId = $row_id $chk_sql_add and deliverydate='31.05.08' ORDER BY Id");
if ($res) {
while ($row_c = mysql_fetch_row($res)) {
showGood($row_c,$chk_photo);
$goods_count++;
}
}

if (!$goods_count && !count($row['Children'])) {
echo "<tr><td colspan=\"".(9+$chk_photo)."\">Нет товаров</td></tr>";
}

foreach ($row['Children'] as $cur_id => $cur_title) {

// название типа
echo "<tr>";
echo "<td colspan=\"".(9+$chk_photo)."\" class=\"cat_header3\">";
echo "<h1>$cur_title</h1>";
echo "</td>";
echo "</tr>\n";

// показать товары этого типа
$res = mysql_query("SELECT * FROM ".$db_prefix."_catalog WHERE CatId = $cur_id and deliverydate='31.05.08' ORDER BY Id");
$result = array();
if ($res) {
while ($row_c = mysql_fetch_row($res)) {
$result[] = $row_c;
}
}

if (!count($result)) { //если кол-во товаров этого типа = 0
echo "<tr><td colspan=\"".(9+$chk_photo)."\">Нет товаров</td></tr>";
} else { //$i != 0 -- показываем товары этого типа
foreach ($result as $row_c) {
showGood($row_c,$chk_photo);


а когда пишу вот так вообще не выдает весь товар который у меня должен приплыть 31.05.08((((



очень прошу помощи и совета. заранее спасибо
2. EuGen - 28 Апреля, 2008 - 11:24:34 - перейти к сообщению
http://forum.php.su/topic.php?fo...=1&topic=234
3. craz - 28 Апреля, 2008 - 11:30:28 - перейти к сообщению
EuGen пишет:
http://forum.php.su/topic.php?fo...=1&topic=234

беда(((( мне просто срочно надо поэтому и обратился, а ветка как раз вроде такая где такие темы обсуждают(( ну что ж и на этом спасибо(

 

Powered by ExBB FM 1.0 RC1