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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нужна помощь в написании функции сортировки

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Нужна помощь в написании функции сортировки
ctikmen
Отправлено: 09 Июня, 2012 - 19:20:36
Post Id



Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 0 раз(а)




Доброго времени суток!
При написании курсовика возникла такая проблема. У меня есть сайт на котором есть различные товары по категориям,мне необходимо написать функцию,которая сортирует товар в этих категориях по возрастанию\убыванию цены. Вот что у меня есть:
Главная страница:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5.     <title>NI katalog</title>
  6.     <meta charset="utf-8">
  7.     <link href="style/css.css" rel="stylesheet" type="text/css" />
  8. </head>
  9. <body>
  10.    
  11. <ul id="menu">
  12.         <li><a href="index.php">Главная</a></li>
  13.         <li>
  14.                 <a href="">Категории</a>
  15.                 <ul>
  16.         <?
  17.        $categories = get_cat();
  18.        foreach($categories as $item):
  19.        ?>
  20.         <li>
  21.           <a href="index.php?view=cat&id=<?=$item['cat_id'];?>"><?=$item['name'];?></a>
  22.         </li>
  23.         <?endforeach?>          
  24.                 </ul>
  25.         </li>
  26.         <li><a href="">О нас</a></li>
  27.         <li><a href="">Контакты</a></li>
  28.     <li><a href="index.php?view=cart">        
  29.          <div class="cart_details">
  30.          Количество товара: <?=$_SESSION['total_items'];?> | Стоимость:
  31.          <span class="price"><?=number_format($_SESSION['total_price'],2)?>$</span>
  32.          </div>          
  33.          </div>  
  34.          </a>  
  35.      </div>
  36.    </li>
  37. </ul>
  38.          
  39. <table align="center">
  40.     <tr>
  41.         <td>  
  42.            <?php include ($_SERVER['DOCUMENT_ROOT'].'/katalog/views/pages/'.$view.'.php');?>      
  43.         </td>
  44.     </tr>  
  45. </table>  
  46.      
  47. <div align="center">
  48.     <div>&copy; vladchechko.com 2012</div>
  49. </div>
  50.  
  51.  
  52. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
  53. <script type="text/javascript">
  54.    $(function() {
  55.      if ($.browser.msie && $.browser.version.substr(0,1)<7)
  56.      {
  57.        $('li').has('ul').mouseover(function(){
  58.            $(this).children('ul').css('visibility','visible');
  59.            }).mouseout(function(){
  60.            $(this).children('ul').css('visibility','hidden');
  61.            })
  62.      }
  63.    });        
  64. </script>
  65.  
  66. </body>
  67. </html>
  68.  


Вывод по категориям
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <form>
  3. <select name="price">
  4.   <option>По цене,сначала дорогие</option>
  5.   <option>По цене,сначала дешевые</option>
  6. </select>
  7. </form>
  8.  
  9. <?
  10. foreach($products as $item):
  11. ?>
  12. <table align="left" cellpadding="0" cellspacing="10" class="product" border="0">
  13.             <tr>
  14.                 <td valign="center">
  15.                     <div><a href="index.php?view=product&id=<?=$item['id']?>"><img src="userfiles/<?=$item['image']?>" alt="" /></a></div>
  16.                     <div class="description">
  17.                         <div class="product-name"><a href="index.php?view=product&id=<?=$item['id']?>"><?=$item['title']?></a></div>
  18.                         <div class="product-price">Цена: <?=$item['price']?> $</div>
  19.                     </div>
  20.                 </td>
  21.             </tr>
  22. </table>
  23.  
  24. <?endforeach?>
  25.  


Функции
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?
  3.  
  4.    function db_connect()
  5.    {
  6.        $host = 'localhost';
  7.        $user = 'katalog_user';
  8.        $pswd = '1234';
  9.        $db = 'katalog';
  10.    
  11.        $connection = mysql_connect($host,$user,$pswd);
  12.        mysql_query("SET NAMES utf8");
  13.        if(!$connection || !mysql_select_db($db,$connection))
  14.        {
  15.            return false;
  16.        }
  17.        return $connection;
  18.    }
  19.    
  20.    function db_result_to_array($result)
  21.    {
  22.        $res_array = array();    
  23.        $count = 0;
  24.        while($row = mysql_fetch_array($result))
  25.        {
  26.            $res_array[$count] = $row;
  27.            $count++;
  28.        }
  29.        return $res_array;
  30.    }
  31.    
  32.    function get_products()
  33.    {
  34.        db_connect();
  35.        
  36.        $query = "SELECT * FROM products ORDER BY id DESC";
  37.        
  38.        $result = mysql_query($query);
  39.        
  40.        $result = db_result_to_array($result);
  41.        
  42.        return $result;
  43.    }
  44.  
  45.    
  46.  
  47.    function get_cat_products($cat)//получить продукты по категории
  48.    {
  49.        db_connect(); //подключение к базе
  50.        
  51.        $query = "SELECT * FROM products WHERE cat='$cat' ORDER BY id DESC"; //выборка
  52.        
  53.        $result = mysql_query($query);//переменную помещаем в выборку
  54.        
  55.        $result = db_result_to_array($result);//помещаем в массив что бы с этим работать
  56.        
  57.        return $result;//возвращает результат нащей функции
  58.    }
  59.    
  60.    function get_cat()//функция выбирает категории из таблицы категорий
  61.    {
  62.        db_connect(); //подключение к базе
  63.        
  64.        $query = "SELECT * FROM categories ORDER BY id DESC"; //выборка
  65.        
  66.        $result = mysql_query($query);//переменную помещаем в выборку
  67.        
  68.        $result = db_result_to_array($result);//помещаем в массив что бы с этим работать
  69.        
  70.        return $result;//возвращает результат нащей функции
  71.    }
  72.    
  73.    function get_product($id)
  74.    {
  75.        db_connect();
  76.        
  77.        $query = ("SELECT * FROM products WHERE id='$id' ");
  78.        
  79.        $result = mysql_query($query);
  80.        
  81.        $row = mysql_fetch_array($result);
  82.        
  83.        return $row;
  84.        
  85.    }
  86.    
  87.    /*
  88.     function sort()
  89.     {
  90.         db_connect();
  91.         isset($_GET['sort']) ? $sort = $_GET['sort'] : $sort = "name";
  92.         if($_GET['sort'] == 'cost')
  93.         {
  94.           $sort = "ORDER BY `cost` DESC";
  95.           $query = ("SELECT * FROM `table` ".$sort."");
  96.           $result = mysql_query($query);
  97.         }
  98.     }
  99.     */
  100.    
  101. ?>
  102.  
 
 Top
sKaa
Отправлено: 09 Июня, 2012 - 20:53:13
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011  
Откуда: Россия г. Нижний Новгород


Помог: 25 раз(а)

[+]


ctikmen пишет:
PHP:
скопировать код в буфер обмена
  1.  $query = "SELECT * FROM products WHERE cat='$cat' ORDER BY id DESC"; //выборка

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM `products` WHERE `cat`='$cat' ORDER BY price DESC


*price замените на колонку в которой цены.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB