Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/34: Рейтинг темы: голосов - 34, средняя оценка - 4.65
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 166

Выбрать сразу несколько значений из select-а

15.04.2017, 12:51. Показов 7066. Ответов 18

Студворк — интернет-сервис помощи студентам
Добрый день! Нужно выбрать сразу несколько значений из select, и отправить запрос.

Нужно как то изменить этот код select-а (запроса), чтобы была возможность выбрать 2 значения. А сейчас я могу выбирать только одно значение. Этот код предназначен для категорий, хочу чтобы один товар добавлялся сразу на 2 категорию.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<li>
<label>Тип товара</label>
<select name="form_type" id="type" size="1" >
 
<option value="mobile" >Мобильные телефоны</option>
<option value="notebook" >Ноутбуки</option>
<option value="notepad" >Планшеты</option>
 
</select>
</li>
 
<li>
<label>Категория</label>
<select name="form_category" size="10" >
 
<?php
$category = mysql_query("SELECT * FROM category",$link);
 
If (mysql_num_rows($category) > 0)
{
$result_category = mysql_fetch_array($category);
do
{
 
  echo '
 
  <option value="'.$result_category["id"].'" >'.$result_category["brand"].'</option>
 
  ';
 
}
 while ($result_category = mysql_fetch_array($category));
}
?>
 
</select>
</ul>
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.04.2017, 12:51
Ответы с готовыми решениями:

Как в GetOpenFileName выбрать сразу несколько файлов?
Подскажите, пожалуйста! Что отвечает за выбор сразу нескольких файлов?:( Public Declare Function GetOpenFileName Lib _ ...

Передать в запрос сразу несколько значений
Здравствуйте. Помогите мне с такой задачей: Есть простейшая таблица, которая хранит только числа. Мне из этой таблицы, с помощью...

Можно ли вставить разом сразу несколько значений в массив ?
Здравствуйте, вот такая проблема, можно ли вставить сразу несколько значений в массив, т.е Пример ряда, как выглядит в excel 12 23 ...

18
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
15.04.2017, 12:55
Jedi01, атрибут multiple

HTML5
1
2
3
4
5
6
<li>
<label>Тип товара</label>
<select name="form_type" id="type" size="1" multiple>
 
<option value="mobile" >Мобильные телефоны</option>
...
1
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 166
15.04.2017, 13:48  [ТС]
N3stY, Мне в этот select нужно:
HTML5
1
2
<label>Категория</label>
<select name="form_category" size="10" multiple>
Попробывал с multiple, но все еще товар добавляеться только в одну категорию

Это код категорий с товарами, может тут нужно что то изменить?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<div id="block-content">
<?php
 
 if (!empty($cat) && !empty($type)) 
 {
  
     $querycat = "AND brand='$cat' AND type_tovara='$type'";
     $catlink = "cat=$cat&"; 
    
 }else
 {
    
    if (!empty($type))
    {
       $querycat = "AND type_tovara='$type'"; 
    }else
    {
       $querycat = ""; 
    }
   
       if (!empty($cat))
    {
       $catlink = "cat=$cat&"; 
    }else
    {
       $catlink = ""; 
    } 
    
      
 }  
 
    $num = 6; // Здесь указываем сколько хотим выводить товаров.
    $page = (int)$_GET['page'];              
    
    $count = mysql_query("SELECT COUNT(*) FROM table_products WHERE visible = '1' $querycat",$link);
    $temp = mysql_fetch_array($count);
 
    If ($temp[0] > 0)
    {  
    $tempcount = $temp[0];
 
    // Находим общее число страниц
    $total = (($tempcount - 1) / $num) + 1;
    $total =  intval($total);
 
    $page = intval($page);
 
    if(empty($page) or $page < 0) $page = 1;  
       
    if($page > $total) $page = $total;
     
    // Вычисляем начиная с какого номера
    // следует выводить товары 
    $start = $page * $num - $num;
 
    $qury_start_num = " LIMIT $start, $num"; 
    }    
    
    
  $result = mysql_query("SELECT * FROM table_products WHERE visible='1' $querycat ORDER BY $sorting $qury_start_num",$link);  
 
if (mysql_num_rows($result) > 0)
{
 $row = mysql_fetch_array($result);
0
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
15.04.2017, 14:59
Jedi01, 1. расширение mysql устарело и его лучше не использовать, аналог ему mysqli
2. Приведите код где идет запись в бд (т.е. добавление товара в бд), там нужно править, тк. значение $_POST['form_type'] более не строка, а массив
0
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 166
15.04.2017, 15:10  [ТС]
N3stY, Через эту страницу (файл) добавляю товар Add.product.php
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
<?php
session_start();
if ($_SESSION['auth_admin'] == "yes_auth")
{
    define('myeshop', true);
       
       if (isset($_GET["logout"]))
    {
        unset($_SESSION['auth_admin']);
        header("Location: login.php");
    }
 
  $_SESSION['urlpage'] = "<a href='index.php' >Главная</a> \ <a href='tovar.php' >Товары</a> \ <a>Добавление товара</a>";
  
  include("include/db_connect.php");
  include("include/functions.php"); 
 
    if ($_POST["submit_add"])
    {
 if ($_SESSION['add_tovar'] == '1')
 {
 
      $error = array();
    
    // Проверка полей
        
       if (!$_POST["form_title"])
      {
         $error[] = "Укажите название товара";
      }
      
       if (!$_POST["form_price"])
      {
         $error[] = "Укажите цену";
      }
          
       if (!$_POST["form_category"])
      {
         $error[] = "Укажите категорию";         
      }else
      {
        $result = mysql_query("SELECT * FROM category WHERE id='{$_POST["form_category"]}'",$link);
        $row = mysql_fetch_array($result);
        $selectbrand = $row["brand"];
 
      }
      
 // Проверка чекбоксов
      
       if ($_POST["chk_visible"])
       {
          $chk_visible = "1";
       }else { $chk_visible = "0"; }
      
       if ($_POST["chk_new"])
       {
          $chk_new = "1";
       }else { $chk_new = "0"; }
      
       if ($_POST["chk_leader"])
       {
          $chk_leader= "1";
       }else { $chk_leader = "0"; }
      
       if ($_POST["chk_sale"])
       {
          $chk_sale = "1";
       }else { $chk_sale = "0"; }                   
      
                                      
       if (count($error))
       {           
            $_SESSION['message'] = "<p id='form-error'>".implode('<br />',$error)."</p>";
            
       }else
       {
                           
                    mysql_query("INSERT INTO table_products(title,price,brand,seo_words,seo_description,mini_description,description,mini_features,features,new,leader,sale,visible,type_tovara,brand_id)
                        VALUES(                     
                            '".$_POST["form_title"]."',
                            '".$_POST["form_price"]."',
                            '".$selectbrand."',
                            '".$_POST["form_seo_words"]."',
                            '".$_POST["form_seo_description"]."',
                            '".$_POST["txt1"]."',
                            '".$_POST["txt2"]."',
                            '".$_POST["txt3"]."',
                            '".$_POST["txt4"]."',
                            '".$chk_new."',
                            '".$chk_leader."',
                            '".$chk_sale."',
                            '".$chk_visible."',
                            '".$_POST["form_type"]."',
                            '".$_POST["form_category"]."'                               
                        )",$link);
                   
      $_SESSION['message'] = "<p id='form-success'>Товар успешно добавлен!</p>";
      $id = mysql_insert_id();
                 
       if (empty($_POST["upload_image"]))
      {        
      include("actions/upload-image.php");
      unset($_POST["upload_image"]);           
      } 
      
       if (empty($_POST["galleryimg"]))
      {        
      include("actions/upload-gallery.php"); 
      unset($_POST["galleryimg"]);                 
      }
}
 
    
 }else
 {
   $msgerror = 'У вас нет прав на добавление товаров!'; 
 }            
}   
 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <link href="css/reset.css" rel="stylesheet" type="text/css" />
    <link href="css/style.css" rel="stylesheet" type="text/css" />
    <link href="jquery_confirm/jquery_confirm.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/jquery-1.8.2.min.js"></script> 
    <script type="text/javascript" src="js/script.js"></script>   
    <script type="text/javascript" src="./ckeditor/ckeditor.js"></script>  
    <title>Панель Управления</title>
</head>
<body>
<div id="block-body">
<?php
    include("include/block-header.php");
?>
<div id="block-content">
<div id="block-parameters">
<p id="title-page" >Добавление товара</p>
</div>
<?php
if (isset($msgerror)) echo '<p id="form-error" align="center">'.$msgerror.'</p>';
 
         if(isset($_SESSION['message']))
        {
        echo $_SESSION['message'];
        unset($_SESSION['message']);
        }
        
     if(isset($_SESSION['answer']))
        {
        echo $_SESSION['answer'];
        unset($_SESSION['answer']);
        } 
?>
 
<form enctype="multipart/form-data" method="post">
<ul id="edit-tovar">
 
<li>
<label>Название товара</label>
<input type="text" name="form_title" />
</li>
 
<li>
<label>Цена</label>
<input type="text" name="form_price"  />
</li>
 
<li>
<label>Ключевые слова</label>
<input type="text" name="form_seo_words"  />
</li>
 
<li>
<label>Краткое описание</label>
<textarea name="form_seo_description"></textarea>
</li>
<li>
<label>Тип товара</label>
<select name="form_type" id="type" size="1" >
 
<option value="mobile" >Мобильные телефоны</option>
<option value="notebook" >Ноутбуки</option>
<option value="notepad" >Планшеты</option>
 
</select>
</li>
 
<li>
<label>Категория</label>
<select name="form_category" size="10" >
 
<?php
$category = mysql_query("SELECT * FROM category",$link);
    
If (mysql_num_rows($category) > 0)
{
$result_category = mysql_fetch_array($category);
do
{
  
  echo '
  
  <option value="'.$result_category["id"].'" >'.$result_category["brand"].'</option>
  
  ';
    
}
 while ($result_category = mysql_fetch_array($category));
}
?> 
 
</select>
</ul> 
<label class="stylelabel" >Основная картинка</label>
 
<div id="baseimg-upload">
<input type="hidden" name="MAX_FILE_SIZE" value="5000000"/>
<input type="file" name="upload_image" />
 
</div>
 
<h3 class="h3click" >Краткое описание товара</h3>
<div class="div-editor1" >
<textarea id="editor1" name="txt1" cols="100" rows="20"></textarea>
        <script type="text/javascript">
            var ckeditor1 = CKEDITOR.replace( "editor1" );
            AjexFileManager.init({
                returnTo: "ckeditor",
                editor: ckeditor1
            });
        </script>
 </div>       
 
<h3 class="h3click" >Описание товара</h3>
<div class="div-editor2" >
<textarea id="editor2" name="txt2" cols="100" rows="20"></textarea>
        <script type="text/javascript">
            var ckeditor1 = CKEDITOR.replace( "editor2" );
            AjexFileManager.init({
                returnTo: "ckeditor",
                editor: ckeditor1
            });
        </script>
 </div>          
 
<h3 class="h3click" >Краткие характеристики</h3>
<div class="div-editor3" >
<textarea id="editor3" name="txt3" cols="100" rows="20"></textarea>
        <script type="text/javascript">
            var ckeditor1 = CKEDITOR.replace( "editor3" );
            AjexFileManager.init({
                returnTo: "ckeditor",
                editor: ckeditor1
            });
        </script>
 </div>        
 
<h3 class="h3click" >Характеристики</h3>
<div class="div-editor4" >
<textarea id="editor4" name="txt4" cols="100" rows="20"></textarea>
        <script type="text/javascript">
            var ckeditor1 = CKEDITOR.replace( "editor4" );
            AjexFileManager.init({
                returnTo: "ckeditor",
                editor: ckeditor1
            });
        </script>
  </div> 
 
<label class="stylelabel" >Галлерея картинок</label>
 
<div id="objects" >
 
<div id="addimage1" class="addimage">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>
<input type="file" name="galleryimg[]" />
</div>
 
</div>
 
<p id="add-input" >Добавить</p>
     
<h3 class="h3title" >Настройки товара</h3>   
<ul id="chkbox">
<li><input type="checkbox" name="chk_visible" id="chk_visible" /><label for="chk_visible" >Показывать товар</label></li>
<li><input type="checkbox" name="chk_new" id="chk_new"  /><label for="chk_new" >Новый товар</label></li>
<li><input type="checkbox" name="chk_leader" id="chk_leader"  /><label for="chk_leader" >Популярный товар</label></li>
<li><input type="checkbox" name="chk_sale" id="chk_sale"  /><label for="chk_sale" >Товар со скидкой</label></li>
</ul> 
 
 
    <p align="right" ><input type="submit" id="submit_form" name="submit_add" value="Добавить товар"/></p>     
</form>
 
 
</div>
</div>
</body>
</html>
<?php
}else
{
    header("Location: login.php");
}
?>
0
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
15.04.2017, 15:46
Jedi01, это
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mysql_query("INSERT INTO table_products(title,price,brand,seo_words,seo_description,mini_description,description,mini_features,features,new,leader,sale,visible,type_tovara,brand_id)
VALUES(
  '".$_POST["form_title"]."',
  '".$_POST["form_price"]."',
  '".$selectbrand."',
  '".$_POST["form_seo_words"]."',
  '".$_POST["form_seo_description"]."',
  '".$_POST["txt1"]."',
  '".$_POST["txt2"]."',
  '".$_POST["txt3"]."',
  '".$_POST["txt4"]."',
  '".$chk_new."',
  '".$chk_leader."',
  '".$chk_sale."',
  '".$chk_visible."',
  '".$_POST["form_type"]."',
  '".$_POST["form_category"]."'
)",$link);
Замените на это
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mysql_query("INSERT INTO table_products (title,price,brand,seo_words,seo_description,mini_description,description,mini_features,features,new,leader,sale,visible,type_tovara,brand_id)
VALUES(
  '".$_POST["form_title"]."',
  '".$_POST["form_price"]."',
  '".$selectbrand."',
  '".$_POST["form_seo_words"]."',
  '".$_POST["form_seo_description"]."',
  '".$_POST["txt1"]."',
  '".$_POST["txt2"]."',
  '".$_POST["txt3"]."',
  '".$_POST["txt4"]."',
  '".$chk_new."',
  '".$chk_leader."',
  '".$chk_sale."',
  '".$chk_visible."',
  '".$_POST["form_type"]."',
  '".implode(',', $_POST["form_category"])."'
)");
Это не совсем верная конструкция в данном коде
PHP
1
2
3
4
5
6
7
8
9
If (mysql_num_rows($category) > 0)
{
  $result_category = mysql_fetch_array($category);
  do
  {
    echo '<option value="'.$result_category["id"].'" >'.$result_category["brand"].'</option>';
  }
   while ($result_category = mysql_fetch_array($category));
}
Замените на эту
PHP
1
2
3
4
5
6
7
if (mysql_num_rows($category) > 0)
{
  while ($result_category = mysql_fetch_array($category))
  {
    echo '<option value="'.$result_category["id"].'" >'.$result_category["brand"].'</option>';
  }
}
А для страницы редактирования товара можно сделать таким образом (подстройте под свой код)
PHP
1
2
3
4
5
6
7
8
9
10
$row = "Данные товара из БД";
 
$category = mysql_query("SELECT * FROM category");
while($c = mysql_fetch_array($category))
{
  $cats = explode(',', $row['brand_id']);
  $selected = "";
  if(in_array($c['id'], $cats)) $selected = ' selected';
  echo '<option value="'.$c["id"].'"'.$selected.'>'.$c["brand"].'</option>';
}
1
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 166
15.04.2017, 16:19  [ТС]
N3stY, Ошибку выводить
HTML5
1
'".implode(',', $_POST["form_category"])."'
0
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 166
15.04.2017, 17:25  [ТС]
N3stY, Кажется вы меня не правильно поняли, посмотрите скриншот

Нужно отправить запрос к БД, что у товара есть 2 бренда!
А вашем коде у меня на сайт два одинаковых товара добавляются в один раздел.
0
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
15.04.2017, 19:23
Jedi01,
Цитата Сообщение от Jedi01 Посмотреть сообщение
Ошибку выводит
Моя вина, замените ваш select на этот
HTML5
1
<select name="form_type[]" id="type" size="1" multiple>
вы точно заменили ваш код, а не добавили тот, что я дал?
Цитата Сообщение от Jedi01 Посмотреть сообщение
А вашем коде у меня на сайт два одинаковых товара добавляются в один раздел.
именно это код и делает
Цитата Сообщение от Jedi01 Посмотреть сообщение
Нужно отправить запрос к БД, что у товара есть 2 бренда!
0
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 166
15.04.2017, 19:42  [ТС]
N3stY, Разве не так?
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<li>
<label>Категория</label>
<select name="form_category" size="10" multiple>
 
<?php
$row = "Данные товара из БД";
 
$category = mysql_query("SELECT * FROM category");
while($cat = mysql_fetch_array($category))
{
  $cats = explode(',', $row['brand_id']);
  $selected = "";
  if(in_array($cat['id'], $cats)) $selected = ' selected';
  echo '<option value="'.$cat["id"].'"'.$selected.'>'.$cat["brand"].'</option>';
}
0
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
16.04.2017, 15:51
Jedi01, Вы выводите данные из $cat, и вдруг ссылаетесь на $row. Вероятно, $row['brand_id'] надо заменить на $cat['brand_id'].
0
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
16.04.2017, 16:41
Лучший ответ Сообщение было отмечено Jedi01 как решение

Решение

Jedi01, что именно? этот код отвечает за маркировку указанных
категорий товара

и имя select'a я уже писал выше
Цитата Сообщение от Jedi01 Посмотреть сообщение
<select name="form_category" size="10" multiple>
HTML5
1
<select name="form_category[]" size="10" multiple>
в общем, я переписал полностью ваш код тк. было сложно в нём разобраться. И внёс правки для добавления нескольких категорий к одному товару
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
<?php
session_start();
if ($_SESSION['auth_admin'] == "yes_auth")
{
  define('myeshop', true);
  if (isset($_GET["logout"]))
  {
     unset($_SESSION['auth_admin']);
     header("Location: login.php");
  }
  $_SESSION['urlpage'] = "<a href='index.php' >Главная</a> \ <a href='tovar.php' >Товары</a> \ <a>Добавление товара</a>"; // А это зачем?
  include("include/db_connect.php");
  include("include/functions.php");
 
  /* Добавление товара в БД */
  if ($_POST["submit_add"])
  {
    $error = array();
    if (!isset($_POST["form_title"]) || empty($_POST["form_title"])) $error[] = "Укажите название товара"; // Проверка на пустоту названия
    if (!isset($_POST["form_price"]) || empty($_POST["form_price"])) $error[] = "Укажите цену"; // Проверка на пустоту названия цены
    if (!isset($_POST["form_category"]) || empty($_POST["form_category"])) $error[] = "Укажите категорию"; // Проверка на пустоту названия категоии
    else
    {
      $cats = array();
      foreach ($_POST["form_category"] as $categ)
      {
        $result = mysql_query("SELECT * FROM category WHERE id='$categ'");
        $selectbrand[] = mysql_fetch_array($result)['brand'];
      }
      $selectbrand = implode(',', $selectbrand);
    }
    // Проверка чекбоксов
    $chk_visible = "0";
    $chk_new     = "0";
    $chk_leader  = "0";
    $chk_sale    = "0";
    if (!empty($_POST["chk_visible"])) $chk_visible = "1";
    if (!empty($_POST["chk_new"]))     $chk_new     = "1";
    if (!empty($_POST["chk_leader"]))  $chk_leader  = "1";
    if (!empty($_POST["chk_sale"]))    $chk_sale    = "1";
 
    if (count($error)) $_SESSION['message'] = "<p id='form-error'>" . implode('<br />', $error) . "</p>";
    else
    {
      mysql_query("INSERT INTO table_products(title,price,brand,seo_words,seo_description,mini_description,description,mini_features,features,new,leader,sale,visible,type_tovara,brand_id)
        VALUES(
          '" . $_POST["form_title"] . "',
          '" . $_POST["form_price"] . "',
          '" . $selectbrand . "',
          '" . $_POST["form_seo_words"] . "',
          '" . $_POST["form_seo_description"] . "',
          '" . $_POST["txt1"] . "',
          '" . $_POST["txt2"] . "',
          '" . $_POST["txt3"] . "',
          '" . $_POST["txt4"] . "',
          '" . $chk_new . "',
          '" . $chk_leader . "',
          '" . $chk_sale . "',
          '" . $chk_visible . "',
          '" . $_POST["form_type"] . "',
          '" . implode(',', $_POST["form_category"]) . "'
        )");
      $_SESSION['message'] = "<p id='form-success'>Товар успешно добавлен!</p>";
      $id = mysql_insert_id();
 
      if (empty($_POST["upload_image"]))
      {
        include ("actions/upload-image.php");
        unset($_POST["upload_image"]);
      }
      if (empty($_POST["galleryimg"]))
      {
        include ("actions/upload-gallery.php");
        unset($_POST["galleryimg"]);
      }
    }
  }
  else $msgerror = 'У вас нет прав на добавление товаров!';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <link href="css/reset.css" rel="stylesheet" type="text/css" />
    <link href="css/style.css" rel="stylesheet" type="text/css" />
    <link href="jquery_confirm/jquery_confirm.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
    <script type="text/javascript" src="js/script.js"></script>
    <script type="text/javascript" src="./ckeditor/ckeditor.js"></script>
    <title>Панель Управления</title>
</head>
<body>
  <div id="block-body">
    <?php include("include/block-header.php"); ?>
    <div id="block-content">
      <div id="block-parameters">
        <p id="title-page">Добавление товара</p>
      </div>
      <?php
        if (isset($msgerror)) echo '<p id="form-error" align="center">'.$msgerror.'</p>';
        if(isset($_SESSION['message']))
        {
          echo $_SESSION['message'];
          unset($_SESSION['message']);
        }
 
        if(isset($_SESSION['answer']))
        {
          echo $_SESSION['answer'];
          unset($_SESSION['answer']);
        }
      ?>
      <form enctype="multipart/form-data" method="post">
      <ul id="edit-tovar">
        <li>
          <label>Название товара</label>
          <input type="text" name="form_title" />
        </li>
        <li>
          <label>Цена</label>
          <input type="text" name="form_price"  />
        </li>
        <li>
          <label>Ключевые слова</label>
          <input type="text" name="form_seo_words"  />
        </li>
        <li>
          <label>Краткое описание</label>
          <textarea name="form_seo_description"></textarea>
        </li>
        <li>
          <label>Тип товара</label>
          <select name="form_type" id="type" size="1">
            <option value="mobile">Мобильные телефоны</option>
            <option value="notebook">Ноутбуки</option>
            <option value="notepad">Планшеты</option>
          </select>
        </li>
        <li>
          <label>Категория</label>
          <select name="form_category[]" size="10">
          <?php
            $category = mysql_query("SELECT * FROM category");
            if (mysql_num_rows($category) > 0)
            {
              while ($result_category = mysql_fetch_array($category))
              {
                echo '<option value="'.$result_category["id"].'">'.$result_category["brand"].'</option>';
              }
            }
          ?>
          </select>
        </li>
      </ul>
      <label class="stylelabel">Основная картинка</label>
 
      <div id="baseimg-upload">
        <input type="hidden" name="MAX_FILE_SIZE" value="5000000"/>
        <input type="file" name="upload_image" />
      </div>
 
      <h3 class="h3click">Краткое описание товара</h3>
      <div class="div-editor1">
        <textarea id="editor1" name="txt1" cols="100" rows="20"></textarea>
        <script type="text/javascript">
          var ckeditor1 = CKEDITOR.replace( "editor1" );
          AjexFileManager.init({
            returnTo: "ckeditor",
            editor: ckeditor1
          });
        </script>
      </div>
 
      <h3 class="h3click">Описание товара</h3>
      <div class="div-editor2">
        <textarea id="editor2" name="txt2" cols="100" rows="20"></textarea>
        <script type="text/javascript">
          var ckeditor1 = CKEDITOR.replace( "editor2" );
          AjexFileManager.init({
            returnTo: "ckeditor",
            editor: ckeditor1
          });
        </script>
      </div>
 
      <h3 class="h3click">Краткие характеристики</h3>
      <div class="div-editor3">
        <textarea id="editor3" name="txt3" cols="100" rows="20"></textarea>
        <script type="text/javascript">
          var ckeditor1 = CKEDITOR.replace( "editor3" );
          AjexFileManager.init({
            returnTo: "ckeditor",
            editor: ckeditor1
          });
        </script>
      </div>
 
      <h3 class="h3click">Характеристики</h3>
      <div class="div-editor4">
        <textarea id="editor4" name="txt4" cols="100" rows="20"></textarea>
        <script type="text/javascript">
          var ckeditor1 = CKEDITOR.replace( "editor4" );
          AjexFileManager.init({
            returnTo: "ckeditor",
            editor: ckeditor1
          });
        </script>
      </div>
 
      <label class="stylelabel">Галлерея картинок</label>
 
      <div id="objects">
 
        <div id="addimage1" class="addimage">
          <input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>
          <input type="file" name="galleryimg[]" />
        </div>
 
      </div>
 
      <p id="add-input">Добавить</p>
 
      <h3 class="h3title">Настройки товара</h3>
      <ul id="chkbox">
        <li><input type="checkbox" name="chk_visible" id="chk_visible" /><label for="chk_visible">Показывать товар</label></li>
        <li><input type="checkbox" name="chk_new" id="chk_new"  /><label for="chk_new">Новый товар</label></li>
        <li><input type="checkbox" name="chk_leader" id="chk_leader"  /><label for="chk_leader">Популярный товар</label></li>
        <li><input type="checkbox" name="chk_sale" id="chk_sale"  /><label for="chk_sale">Товар со скидкой</label></li>
      </ul>
      <p align="right"><input type="submit" id="submit_form" name="submit_add" value="Добавить товар"/></p>
      </form>
    </div>
  </div>
</body>
</html>
<?php } else header("Location: login.php"); ?>
Добавлено через 8 минут
Пифагор, эта переменная там по сути лишняя
1
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 166
16.04.2017, 17:57  [ТС]
Спасибо!
Последний вопрос, если выбрать категорию в блоке категории, то товары с двумя категорями не выводятся (просто исчезают), а если нажать Все товары там есть эти товары. Тут тоже нужны коректировки?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
    defined('myeshop') or die('Доступ запрещён!');
?>
<div id="block-category">
<p class="header-title" >Категории товаров</p>
 
<ul>
 
<li><a id="index1" ><img src="/images/mobile-icon.gif" id="mobile-images" />Мобильные телефоны</a>
<ul class="category-section">
<li><a href="view_cat.php?type=mobile"><strong>Все модели</strong> </a></li>
 
<?php
 
  $result = mysql_query("SELECT * FROM category WHERE type='mobile'",$link);
  
 If (mysql_num_rows($result) > 0)
{
$row = mysql_fetch_array($result);
do
{
    echo '
    
  <li><a href="view_cat.php?cat='.strtolower($row["brand"]).'&type='.$row["type"].'">'.$row["brand"].'</a></li>
    
    ';
}
 while ($row = mysql_fetch_array($result));
} 
    
?>
0
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
16.04.2017, 19:12
Jedi01, у вас бардак с тегами html

Вы два раза открываете тег <ul> и не закрываете ни один, это же относится к <li> в первом <ul> и к <div>. Не знаю, может это не весь код, но править тут ничего не нужно (я про несколько категорий)
HTML5
1
2
3
4
5
<ul>
 
<li><a id="index1" ><img src="/images/mobile-icon.gif" id="mobile-images" />Мобильные телефоны</a>
<ul class="category-section">
<li><a href="view_cat.php?type=mobile"><strong>Все модели</strong> </a></li>
В общем посмотрите внимательно все пары тегов в коде, есть ошибки. И еще не используйте
PHP
1
do {} while();
вместо него можно обойтись простым
PHP
1
while(){}
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
  defined('myeshop') or die('Доступ запрещён!');
?>
<div id="block-category">
  <p class="header-title" >Категории товаров</p>
  <ul>
    <li>
      <a id="index1" ><img src="/images/mobile-icon.gif" id="mobile-images" />Мобильные телефоны</a>
    </li>
  </ul>
      
  <ul class="category-section">
    <li>
      <a href="view_cat.php?type=mobile"><strong>Все модели</strong> </a>
    </li>
    <?php
      $result = mysql_query("SELECT * FROM category WHERE type='mobile'");
      
      if (mysql_num_rows($result) > 0)
      {
        while ($row = mysql_fetch_array($result)) echo '<li><a href="view_cat.php?cat='.strtolower($row["brand"]).'&type='.$row["type"].'">'.$row["brand"].'</a></li>';
      } 
    ?>
  </ul>
</div>
Насчет вида кода, старайтесь делать его более компактным и читабельным
Где можно исключить скобки, лучше их исключать
например
PHP
1
2
3
4
while ($row = mysql_fetch_array($result))
{
  echo '<li><a href="view_cat.php?cat='.strtolower($row["brand"]).'&type='.$row["type"].'">'.$row["brand"].'</a></li>';
}
Можно написать так

PHP
1
while ($row = mysql_fetch_array($result)) echo '<li><a href="view_cat.php?cat='.strtolower($row["brand"]).'&type='.$row["type"].'">'.$row["brand"].'</a></li>';
Так же, в этом случае можно избежать использования else
PHP
1
2
3
4
5
6
7
8
if ($_POST["chk_leader"])
{
  $chk_leader= "1";
}
else
{
  $chk_leader = "0";
}
Корректнее будет так
PHP
1
2
$chk_leader = "0";
if ($_POST["chk_leader"]) $chk_leader= "1";
1
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 166
16.04.2017, 21:08  [ТС]
N3stY, Да это не весь код. Просто код повторяется ещё на два категорию ноутбуки и планшеты.
Всё изменил на while и echo, убрав do.
Всё ещё не выводятся, странно!

Добавлено через 1 час 10 минут
N3stY, Последний раз можете посмотреть? Потом закрою тему!

Это код контента может тут нужно что то править?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
<?php   
   define('myeshop', true);
   include("include/db_connect.php");
   include("functions/functions.php");
   session_start();
   include("include/auth_cookie.php");
  
   $id = clear_string($_GET["id"]); 
 
     $seoquery = mysql_query("SELECT seo_words,seo_description FROM table_products WHERE products_id='$id' AND visible='1'",$link);
     
     If (mysql_num_rows($seoquery) > 0)
     {
        $resquery = mysql_fetch_array($seoquery);
     }   
   
  If ($id != $_SESSION['countid'])
{
$querycount = mysql_query("SELECT count FROM table_products WHERE products_id='$id'",$link);
$resultcount = mysql_fetch_array($querycount); 
 
$newcount = $resultcount["count"] + 1;
 
$update = mysql_query ("UPDATE table_products SET count='$newcount' WHERE products_id='$id'",$link);  
}
 
$_SESSION['countid'] = $id; 
      
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
<head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    
    <meta name="Description" content="<? echo $resquery["seo_description"]; ?>"/>
    <meta name="keywords" content="<? echo $resquery["seo_words"]; ?>" /> 
    
    <link href="http://shop//css/reset.css" rel="stylesheet" type="text/css" />
    <link href="http://shop//css/style.css" rel="stylesheet" type="text/css" />
    <link href="http://shop//trackbar/trackbar.css" rel="stylesheet" type="text/css" />
    
    <script type="text/javascript" src="http://shop//js/jquery-1.8.2.min.js"></script> 
    <script type="text/javascript" src="http://shop//js/jcarousellite_1.0.1.js"></script> 
    <script type="text/javascript" src="http://shop//js/shop-script.js"></script>
    <script type="text/javascript" src="http://shop//js/jquery.cookie.min.js"></script>
    <script type="text/javascript" src="http://shop//trackbar/jquery.trackbar.js"></script>
    <script type="text/javascript" src="http://shop//js/TextChange.js"></script>
    
    <link rel="stylesheet" type="text/css" href="http://shop//fancybox/jquery.fancybox.css" />
    <script type="text/javascript" src="http://shop//fancybox/jquery.fancybox.js"></script>
    <script type="text/javascript" src="http://shop//js/jTabs.js"></script>
    
    <title>Интернет-Магазин Цифровой Техники</title>
 
 
<script type="text/javascript">
$(document).ready(function(){
 
    $("ul.tabs").jTabs({content: ".tabs_content", animate: true, effect:"fade"}); 
    $(".image-modal").fancybox(); 
    $(".send-review").fancybox();
    
}); 
</script> 
</head>
<body>
<div id="block-body">
<?php   
    include("include/block-header.php");    
?>
<div id="block-right">
<?php   
    include("include/block-category.php");  
    include("include/block-parameter.php");  
    include("include/block-news.php"); 
?>
</div>
<div id="block-content">
<?php
$result1 = mysql_query("SELECT * FROM table_products WHERE products_id='$id' AND visible='1'",$link);
If (mysql_num_rows($result1) > 0)
{
$row1 = mysql_fetch_array($result1);
do
{   
if  (strlen($row1["image"]) > 0 && file_exists("./uploads_images/".$row1["image"]))
{
$img_path = './uploads_images/'.$row1["image"];
$max_width = 100; 
$max_height = 120; 
 list($width, $height) = getimagesize($img_path); 
$ratioh = $max_height/$height; 
$ratiow = $max_width/$width; 
$ratio = min($ratioh, $ratiow); 
 
$width = intval($ratio*$width); 
$height = intval($ratio*$height);    
}else
{
$img_path = "/images/no-image.png";
$width = 110;
$height = 200;
}     
 
// Количество отзывов 
$query_reviews = mysql_query("SELECT * FROM table_reviews WHERE products_id = '$id' AND moderat='1'",$link);  
$count_reviews = mysql_num_rows($query_reviews);
 
 
echo  '
 
<div id="block-breadcrumbs-and-rating">
<p id="nav-breadcrumbs2"><a href="view_cat.php?type=mobile">Мобильные телефоны</a> \ <span>'.$row1["brand"].'</span></p>
<div id="block-like">
<p id="likegood" tid="'.$id.'" >Нравится</p><p id="likegoodcount" >'.$row1["yes_like"].'</p>
</div>
</div>
 
<div id="block-content-info">
 
<img src="'.$img_path.'" width="'.$width.'" height="'.$height.'" />
 
<div id="block-mini-description">
 
<p id="content-title">'.$row1["title"].'</p>
 
<ul class="reviews-and-counts-content">
<li><img src="/images/eye-icon.png" /><p>'.$row1["count"].'</p></li>
<li><img src="/images/comment-icon.png" /><p>'.$count_reviews.'</p></li>
</ul>
 
 
<p id="style-price" >'.group_numerals($row1["price"]).' руб</p>
 
<a class="add-cart" id="add-cart-view" tid="'.$row1["products_id"].'" ></a>
 
<p id="content-text">'.$row1["mini_description"].'</p>
 
</div>
 
</div>
 
';
 
   
}
 while ($row1 = mysql_fetch_array($result1));
 
 
 $result = mysql_query("SELECT * FROM uploads_images WHERE products_id='$id'",$link);
If (mysql_num_rows($result) > 0)
{
$row = mysql_fetch_array($result);
echo '<div id="block-img-slide">
      <ul>';
do
{
    
$img_path = './uploads_images/'.$row["image"];
$max_width = 70; 
$max_height = 70; 
 list($width, $height) = getimagesize($img_path); 
$ratioh = $max_height/$height; 
$ratiow = $max_width/$width; 
$ratio = min($ratioh, $ratiow); 
 
$width = intval($ratio*$width); 
$height = intval($ratio*$height);    
    
    
echo '
<li>
<a class="image-modal" href="#image'.$row["id"].'"><img src="'.$img_path.'" width="'.$width.'" height="'.$height.'" /></a>
</li>
<a style="display:none;" class="image-modal" rel="group" id="image'.$row["id"].'" ><img  src="./uploads_images/'.$row["image"].'" /></a>
';
}
 while ($row = mysql_fetch_array($result));
 echo '
 </ul>
 </div>    
        ';
}
 
$result = mysql_query("SELECT * FROM table_products WHERE products_id='$id' AND visible='1'",$link);
$row = mysql_fetch_array($result);
 
echo '
 
<ul class="tabs">
    <li><a class="active" href="#" >Описание</a></li>
    <li><a href="#" >Характеристики</a></li>
    <li><a href="#" >Отзывы</a></li>   
</ul>
 
<div class="tabs_content">
 
<div>'.$row["description"].'</div>
<div>'.$row["features"].'</div>
<div>
<p id="link-send-review" ><a class="send-review" href="#send-review" >Написать отзыв</a></p>
';
 
$query_reviews = mysql_query("SELECT * FROM table_reviews WHERE products_id='$id' AND moderat='1' ORDER BY reviews_id DESC",$link);
 
If (mysql_num_rows($query_reviews) > 0)
{
$row_reviews = mysql_fetch_array($query_reviews);
do
{
 
echo '
<div class="block-reviews" >
<p class="author-date" ><strong>'.$row_reviews["name"].'</strong>, '.$row_reviews["date"].'</p>
<img src="/images/plus-reviews.png" />
<p class="textrev" >'.$row_reviews["good_reviews"].'</p>
<img src="/images/minus-reviews.png" />
<p class="textrev" >'.$row_reviews["bad_reviews"].'</p>
 
<p class="text-comment">'.$row_reviews["comment"].'</p>
</div>
 
';
        
}
 while ($row_reviews = mysql_fetch_array($query_reviews));
}
else
{
    echo '<p class="title-no-info" >Отзывов нет</p>';
} 
 
 
 
echo '
</div>
 
</div>
 
 
    <div id="send-review" >
    
    <p align="right" id="title-review">Публикация отзыва производится после предварительной модерации.</p>
    
    <ul>
    <li><p align="right"><label id="label-name" >Имя<span>*</span></label><input maxlength="15" type="text"  id="name_review" /></p></li>
    <li><p align="right"><label id="label-good" >Достоинства<span>*</span></label><textarea id="good_review" ></textarea></p></li>    
    <li><p align="right"><label id="label-bad" >Недостатки<span>*</span></label><textarea id="bad_review" ></textarea></p></li>     
    <li><p align="right"><label id="label-comment" >Комментарий</label><textarea id="comment_review" ></textarea></p></li>     
    </ul>
    <p id="reload-img"><img src="/images/loading.gif"/></p> <p id="button-send-review" iid="'.$id.'" ></p>
    </div>
 
 
 
';
 
}
    
?>
</div>
 
<?php   
    include("include/block-footer.php");    
?>
</div>
 
</body>
</html>
0
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
17.04.2017, 13:23
Jedi01, в части кода где идет выборка и вывод списка продуктов (которые как вы сказали "исчезают") посмотрите результат запроса к бд
PHP
1
2
$result = mysql_query("..."); // Запрос к БД
var_dump(mysql_fetch_array($result));
И что это за $link, что в каждом запросе к БД присутствует?
PHP
1
mysql_query(...,$link); //?!
1
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 166
17.04.2017, 14:51  [ТС]
N3stY, Ошибся я должен был отправить код вывода списка продуктов, а в итоге отправил код контента внутренней части выбранного товара, извините!

Это код вывода списка продуктов, если есть ошибка то тут! Посмотрите!
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
<?php   
   define('myeshop', true);
   include("include/db_connect.php"); 
   include("functions/functions.php");
   session_start(); 
   include("include/auth_cookie.php");
   $cat = clear_string($_GET["cat"]);
   $type = clear_string($_GET["type"]);
   
   $sorting = $_GET["sort"];   
 
switch ($sorting)
{
    case 'price-asc';
    $sorting = 'price ASC';
    $sort_name = 'От дешевых к дорогим';
    break;
 
    case 'price-desc';
    $sorting = 'price DESC';
    $sort_name = 'От дорогих к дешевым';
    break;
    
    case 'popular';
    $sorting = 'count DESC';
    $sort_name = 'Популярное';
    break;
    
    case 'news';
    $sorting = 'datetime DESC';
    $sort_name = 'Новинки';
    break;
    
    case 'brand';
    $sorting = 'brand';
    $sort_name = 'Новинки';
    break;
    
    default:
    $sorting = 'products_id DESC';
    $sort_name = 'Нет сортировки';
    break;                           
} 
   
    
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 
<head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    <link href="css/reset.css" rel="stylesheet" type="text/css" />
    <link href="css/style.css" rel="stylesheet" type="text/css" />
    <link href="trackbar/trackbar.css" rel="stylesheet" type="text/css" />
    
    <script type="text/javascript" src="/js/jquery-1.8.2.min.js"></script> 
    <script type="text/javascript" src="/js/jcarousellite_1.0.1.js"></script> 
    <script type="text/javascript" src="/js/shop-script.js"></script>
    <script type="text/javascript" src="/js/jquery.cookie.min.js"></script>
    <script type="text/javascript" src="/trackbar/jquery.trackbar.js"></script>
    <script type="text/javascript" src="/js/TextChange.js"></script>
    
    <title>Интернет-Магазин Цифровой Техники</title>
</head>
<body>
 
<div id="block-body">
<?php   
    include("include/block-header.php");    
?>
<div id="block-right">
<?php   
    include("include/block-category.php");  
    include("include/block-parameter.php");  
    include("include/block-news.php"); 
?>
</div>
<div id="block-content">
 
 
 
<?php
 
    
 if (!empty($cat) && !empty($type)) 
 {
  
     $querycat = "AND brand='$cat' AND type_tovara='$type'";
     $catlink = "cat=$cat&"; 
    
 }else
 {
    
    if (!empty($type))
    {
       $querycat = "AND type_tovara='$type'"; 
    }else
    {
       $querycat = ""; 
    }
   
       if (!empty($cat))
    {
       $catlink = "cat=$cat&"; 
    }else
    {
       $catlink = ""; 
    } 
    
      
 }  
 
    $num = 6; // Здесь указываем сколько хотим выводить товаров.
    $page = (int)$_GET['page'];              
    
    $count = mysql_query("SELECT COUNT(*) FROM table_products WHERE visible = '1' $querycat",$link);
    $temp = mysql_fetch_array($count);
 
    If ($temp[0] > 0)
    {  
    $tempcount = $temp[0];
 
    // Находим общее число страниц
    $total = (($tempcount - 1) / $num) + 1;
    $total =  intval($total);
 
    $page = intval($page);
 
    if(empty($page) or $page < 0) $page = 1;  
       
    if($page > $total) $page = $total;
     
    // Вычисляем начиная с какого номера
    // следует выводить товары 
    $start = $page * $num - $num;
 
    $qury_start_num = " LIMIT $start, $num"; 
    }    
    
    
  $result = mysql_query("SELECT * FROM table_products WHERE visible='1' $querycat ORDER BY $sorting $qury_start_num",$link);  
 
if (mysql_num_rows($result) > 0)
{
 $row = mysql_fetch_array($result); 
 
 echo '
 <div id="block-sorting">
<p id="nav-breadcrumbs"><a href="index.php" >Главная страница</a> \ <span>Все товары</span></p>
<ul id="options-list">
<li>Вид: </li>
<li><img id="style-grid" src="/images/icon-grid.png" /></li>
<li><img id="style-list" src="/images/icon-list.png" /></li>
<li>Сортировать:</li>
<li><a id="select-sort">'.$sort_name.'</a>
<ul id="sorting-list">
<li><a href="view_cat.php?'.$catlink.'type='.$type.'&sort=price-asc" >От дешевых к дорогим</a></li>
<li><a href="view_cat.php?'.$catlink.'type='.$type.'&sort=price-desc" >От дорогих к дешевым</a></li>
<li><a href="view_cat.php?'.$catlink.'type='.$type.'&sort=popular" >Популярное</a></li>
<li><a href="view_cat.php?'.$catlink.'type='.$type.'&sort=news" >Новинки</a></li>
<li><a href="view_cat.php?'.$catlink.'type='.$type.'&sort=brand" >От А до Я</a></li>
</ul>
</li>
</ul>
</div>
 
 <ul id="block-tovar-grid" >
 
 ';
 
 
 do
 {
 
if  ($row["image"] != "" && file_exists("./uploads_images/".$row["image"]))
{
$img_path = './uploads_images/'.$row["image"];
$max_width = 200; 
$max_height = 200; 
 list($width, $height) = getimagesize($img_path); 
$ratioh = $max_height/$height; 
$ratiow = $max_width/$width; 
$ratio = min($ratioh, $ratiow); 
$width = intval($ratio*$width); 
$height = intval($ratio*$height);    
}else
{
$img_path = "/images/no-image.png";
$width = 110;
$height = 200;
} 
  
  echo '
  
  <li>
  <div class="block-images-grid" >
  <img src="'.$img_path.'" width="'.$width.'" height="'.$height.'" />
  </div>
  <p class="style-title-grid" ><a href="" >'.$row["title"].'</a></p>
  <ul class="reviews-and-counts-grid">
  <li><img src="/images/eye-icon.png" /><p>0</p></li>
  <li><img src="/images/comment-icon.png" /><p>0</p></li>
  </ul>
  <a class="add-cart-style-grid" ></a>
  <p class="style-price-grid" ><strong>'.$row["price"].'</strong> руб.</p>
  <div class="mini-features" >
  '.$row["mini_features"].'
  </div>
  </li>
  
  ';
  
    
 }
    while ($row = mysql_fetch_array($result));
    
 
 
?>
</ul>
 
 
<ul id="block-tovar-list" >
 
<?php
    
  $result = mysql_query("SELECT * FROM table_products WHERE visible='1' $querycat ORDER BY $sorting $qury_start_num",$link);  
 
if (mysql_num_rows($result) > 0)
{
 $row = mysql_fetch_array($result); 
 
 do
 {
 
if  ($row["image"] != "" && file_exists("./uploads_images/".$row["image"]))
{
$img_path = './uploads_images/'.$row["image"];
$max_width = 150; 
$max_height = 150; 
 list($width, $height) = getimagesize($img_path); 
$ratioh = $max_height/$height; 
$ratiow = $max_width/$width; 
$ratio = min($ratioh, $ratiow); 
$width = intval($ratio*$width); 
$height = intval($ratio*$height);    
}else
{
$img_path = "/images/noimages80x70.png";
$width = 80;
$height = 70;
} 
  
  echo '
  
  <li>
  <div class="block-images-list" >
  <img src="'.$img_path.'" width="'.$width.'" height="'.$height.'" />
  </div>
 
  <ul class="reviews-and-counts-list">
  <li><img src="/images/eye-icon.png" /><p>0</p></li>
  <li><img src="/images/comment-icon.png" /><p>0</p></li>
  </ul>
  
  <p class="style-title-list" ><a href="" >'.$row["title"].'</a></p>
  
  <a class="add-cart-style-list" ></a>
  <p class="style-price-list" ><strong>'.$row["price"].'</strong> руб.</p>
  <div class="style-text-list" >
  '.$row["mini_description"].'
  </div>
  </li>
  
  ';
  
    
 }
    while ($row = mysql_fetch_array($result));
}
}else
{
    echo '<h3>Категория не доступна или не создана!</3>';
}    
 
echo '</ul>';
 
if ($page != 1){ $pstr_prev = '<li><a class="pstr-prev" href="view_cat.php?page='.($page - 1).'">&lt;</a></li>';}
if ($page != $total) $pstr_next = '<li><a class="pstr-next" href="view_cat.php?page='.($page + 1).'">&gt;</a></li>';
 
 
// Формируем ссылки со страницами
if($page - 5 > 0) $page5left = '<li><a href="view_cat.php?page='.($page - 5).'">'.($page - 5).'</a></li>';
if($page - 4 > 0) $page4left = '<li><a href="view_cat.php?page='.($page - 4).'">'.($page - 4).'</a></li>';
if($page - 3 > 0) $page3left = '<li><a href="view_cat.php?page='.($page - 3).'">'.($page - 3).'</a></li>';
if($page - 2 > 0) $page2left = '<li><a href="view_cat.php?page='.($page - 2).'">'.($page - 2).'</a></li>';
if($page - 1 > 0) $page1left = '<li><a href="view_cat.php?page='.($page - 1).'">'.($page - 1).'</a></li>';
 
if($page + 5 <= $total) $page5right = '<li><a href="view_cat.php?page='.($page + 5).'">'.($page + 5).'</a></li>';
if($page + 4 <= $total) $page4right = '<li><a href="view_cat.php?page='.($page + 4).'">'.($page + 4).'</a></li>';
if($page + 3 <= $total) $page3right = '<li><a href="view_cat.php?page='.($page + 3).'">'.($page + 3).'</a></li>';
if($page + 2 <= $total) $page2right = '<li><a href="view_cat.php?page='.($page + 2).'">'.($page + 2).'</a></li>';
if($page + 1 <= $total) $page1right = '<li><a href="view_cat.php?page='.($page + 1).'">'.($page + 1).'</a></li>';
 
 
if ($page+5 < $total)
{
    $strtotal = '<li><p class="nav-point">...</p></li><li><a href="view_cat.php?page='.$total.'">'.$total.'</a></li>';
}else
{
    $strtotal = ""; 
}
 
if ($total > 1)
{
    echo '
    <div class="pstrnav">
    <ul>
    ';
    echo $pstr_prev.$page5left.$page4left.$page3left.$page2left.$page1left."<li><a class='pstr-active' href='view_cat.php?page=".$page."'>".$page."</a></li>".$page1right.$page2right.$page3right.$page4right.$page5right.$strtotal.$pstr_next;
    echo '
    </ul>
    </div>
    ';
}
?>
 
 
 
</div>
 
<?php   
    include("include/block-footer.php");    
?>
</div>
 
</body>
</html>
0
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
17.04.2017, 20:19
Jedi01, Ошибок на глаз тут нет, единственное, что я забыл добавить это, что на странице категории выборку продуктов нужно будет делать через к примеру для смартов
SQL
1
WHERE type_tovara RLIKE 'mobile'
1
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 166
18.04.2017, 19:03  [ТС]
N3stY, Можете посмотреть эту тему Фоновая картинка Background. Так как ваше ЛС закрыто сюда пишу!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.04.2017, 19:03
Помогаю со студенческими работами здесь

Описать функцию, которая возвращала бы несколько значений сразу
Требуется описать функцию, которая возвращала бы несколько значений сразу. Ну т.е. получила пару параметров и вернула сумму и произведение...

передать в select несколько значений, выбранных в ListBox
есть ListBox, заполняемый значениями из БД. ListBox в режиме MultiSelect. нужно написать select через IBQuery, в котором значения из...

Update, когда Select возвращает несколько значений
Здравствуйте. Подскажите пожалуйста как сделать Update, когда Select возвращает несколько значений. UPDATE GOODS SET PRICE = PRICE*2 ...

Присвоить несколько значений одному option из select
Всем здрасти, в js не очень то я, поэтому нужна помощь. Есть два combobox: combobox1 и combobox2. В combobox1 есть множество option с...

Можно ли в рамках ЕСЛИ рассчитывать и выводить сразу несколько значений
Смысл в следующем. Необходимо решить квадратное уравнение при определенных условиях. Решения получается два. Возможно ли в рамках ЕСЛИ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru