PHP.SU

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

Страниц (19): В начало « ... 11 12 13 14 15 [16] 17 18 19 »

> Найдено сообщений: 285
Slavenin Отправлено: 27 Мая, 2011 - 21:23:10 • Тема: Cессии. Несколько значений • Форум: HTTP и PHP

Ответов: 34
Просмотров: 19827
Dezmonds пишет:
как посчитать несколько определенных элеметов массива (для общей стоимости товаров)

ну например сумму всех товаров можно получить так

PHP:
скопировать код в буфер обмена
  1. <....>
  2.  $totalSum = 0;
  3.     foreach($cart as $id=>$count)
  4.     { //Цикл по товарам в корзине
  5.       $query = mysql_query("SELECT * FROM product WHERE id='".$id."' LIMIT 1") or die(mysql_error()) ; //запрашиваем инфу о товаре из БД
  6.       $result = mysql_fetch_assoc($query) ;
  7.  
  8.       if($count>1)
  9.       {
  10.         $summ_porice = $count * $result["price"];
  11.         $totalSum = $totalsumm + $summ_porice;
  12.       }
  13.       else
  14.       {
  15.         $summ_porice = $result["price"];
  16.         $totalSum = $totalsumm + $result["price"];
  17.       }
  18. <...>
  19.  echo "
  20.  <tr>
  21.    <td colspan='3' >Общая стоимость товаров:</td>
  22.    <td colspan='2' align='center'>". $totalSum ."</td>
  23.  </tr>";

Dezmonds пишет:
Как удалить определенный элемент массива

все-таки яндекс великая вещь... http://mastertalk[dot]ru/lofiversion[dot][dot][dot].php/t81036[dot]html

ps да, и не забывай пользоваться этим http://www.php.su/functions/ очень полезная вещь! Улыбка
Slavenin Отправлено: 27 Мая, 2011 - 17:44:39 • Тема: Функция подгрузки классов • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 4597
проблема решилась прочтением статьи http://www.phpfaq[dot]ru/paths и использованием $_SERVER['DOCUMENT_ROOT'], благодарю всех, кто откликнулся Улыбка
Slavenin Отправлено: 27 Мая, 2011 - 17:00:52 • Тема: Cессии. Несколько значений • Форум: HTTP и PHP

Ответов: 34
Просмотров: 19827
Dezmonds пишет:
Тогда почему вот этот код
PHP:
скопировать код в буфер обмена
  1. foreach ($_POST as $key => $value)
  2. {
  3. if (!$_SESSION['id'])
  4. $_SESSION['id']=Array();
  5. $_SESSION['id'][$_POST['name']]=$_POST['count'];
  6. }

добавляет значения сколько угодно.. не перезаписывая сессию..

Я нажал на1 товар, потом на другой, потом 3. он просто добавляет в массив данные..все успешно и собственно как и нужно. только не хватает полей


потому что у тебя в качестве ключа массива выступает код товара, если ты дважды добавишь один и тот же товар то он у тебя перезапишется.
ИМХО учись работать с базой. ну и подтяни циклы заодно, особенно с символьными ключами
Slavenin Отправлено: 27 Мая, 2011 - 13:35:47 • Тема: Cессии. Несколько значений • Форум: HTTP и PHP

Ответов: 34
Просмотров: 19827
Dezmonds пишет:
as $name => $count => $price


так писать нельзя
нужно что-то типа

PHP:
скопировать код в буфер обмена
  1.  
  2. $i=0;
  3. foreach ($_POST as $key => $value)
  4. {
  5. if (!$_SESSION['tovar'])
  6. $_SESSION['tovar']=Array();
  7. $_SESSION['tovar'][$i]=>array('imya'=>$_POST['name'], 'kolichestvo'=>$_POST['count'], 'tcena'=>$_POST['price']);
  8. $i++;
  9. }
  10. header ("Location: basket.php");
  11.  
  12. $j =0
  13. while($_SESSION['tovar'][$j])
  14. {
  15.   echo 'товар=' .$_SESSION['tovar'][$j]['imya'] .'<br/> количество=' .$_SESSION['tovar'][$j]['kolichestvo'] .'<br> 'цена=' .$_SESSION['tovar'][$j]['price']  '
  16. $j++;
  17. }
  18.  

написал примерно, проверить негде, но смысл такой.
?>
Slavenin Отправлено: 27 Мая, 2011 - 13:09:44 • Тема: Cессии. Несколько значений • Форум: HTTP и PHP

Ответов: 34
Просмотров: 19827
если честно, то на мой взгляд подход к хранению заказанных юзером товаров в переменной сессии несколько неправилен. Насколько я видел у вас используется бд. Что мешает завести в ней отдельную табличку в которой будет храниться информация о текущей сессии юзера и заказанных им товарах? устанавливаем каждому пришедшему юзеру в сессию уникальный идентификатор с помощью , если юзер что-то заказывает, то пишем этот идентификатор вместе с инфой о товарах в таблицу, затем выбираем ее оттуда когда это нужно.
Slavenin Отправлено: 25 Мая, 2011 - 19:39:12 • Тема: Функция подгрузки классов • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 4597
Цитата:
есть основной класс расположенный в папке с классами некоторые поля у него инициализируются объектами других классов. при подключении его из разных директорий возникает проблема инициализации полей, которые являются объектами других классов, так как php их попросту не находит


приведу пример

есть классы
PHP:
скопировать код в буфер обмена
  1.  class a
  2. {
  3.   var $a;
  4.  
  5.  function LoadClass($ClassName)
  6.   {
  7.      $dir = "cl/" .$ClassName;
  8.      require_once($dir);
  9.    }
  10. }
  11.  
  12.  class b
  13. {
  14.   var $b;
  15.  functin b()
  16.  {
  17.   $this->a = new a();
  18.  }
  19. }

оба файла лежат в одной папке cl , расположенной в корневой дирректории.

теперь если подключить класс в корневой директории с помощью функции загрузки LoadClass, то все пройдет хорошо, но если эту функцию запустить из класса a заинклюденного в одной из папок директории, то путь подгрузки должен измениться на


в этом собственно и заключается проблема
Slavenin Отправлено: 25 Мая, 2011 - 19:29:40 • Тема: Функция подгрузки классов • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 4597
да я б и не стал так делать, но с локальными адресами возникают проблемы которые я не могу обойти. в частности как я говорил выше с подключением файлов с классами при создании объекта в разных по вложенности директориях
Slavenin Отправлено: 25 Мая, 2011 - 19:18:18 • Тема: Функция подгрузки классов • Форум: Объектно-ориентированное программирование

Ответов: 9
Просмотров: 4597
Всем доброго времени суток. возникла следующая проблема. Есть дирректория с файлами классов, есть директории других файлов. есть основной класс расположенный в папке с классами некоторые поля у него инициализируются объектами других классов. при подключении его из разных директорий возникает проблема инициализации полей, которые являются объектами других классов, так как php их попросту не находит.

попытался написать функцию автоподгрузки классов:

PHP:
скопировать код в буфер обмена
  1. function LoadClass($ClassName)
  2.   {
  3.  
  4.       $dir = "http://localhost/classes/";
  5.       if(file_exists($dir .$ClassName))
  6.       {
  7.          return require_once($dir .$ClassName);
  8.       }
  9.       return 'не работает';
  10.    }


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

даже если исключить функцию file_exists файл всеравно не подключается
Slavenin Отправлено: 19 Мая, 2011 - 22:02:51 • Тема: Выборка одной и той же строки несколько раз • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 300
есть такая волшебная программа зовется bartender печатает она этикетки, настройка функции сериализации в ней не позволяет сделать вывод этикеток в нужном формате, зато она умеет работать с базой. поэтому для реализации задачи, необходимо именно размножить вывод нужное количество раз
Slavenin Отправлено: 19 Мая, 2011 - 21:52:00 • Тема: Выборка одной и той же строки несколько раз • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 300
поля id в таблице нет, ключом является поле i_code(varchar). Выбрать нужно именно несколько копий одной строки , а не присоединить копию слева
Slavenin Отправлено: 19 Мая, 2011 - 21:17:17 • Тема: Выборка одной и той же строки несколько раз • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 300
таблица t_items
поле имени i_code
поле количества i_count
Slavenin Отправлено: 19 Мая, 2011 - 20:46:48 • Тема: Выборка одной и той же строки несколько раз • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 300
[quote=DeepVarvar]
Slavenin пишет:
на чистом sql без использования php или javascript

Покажите как вы на javascript ЭТО делаете!!!

я имею в виду, что выборку строк можно сделать запросом, а обработчик написать в виде цикла на php либо ajax запросом и циклом уже на java

неа, не получается таким запросом
пишет ошибку

Цитата:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) cnt1,tt.*,COUNT(tt.*) cnt2 FROM t_items as t LEFT JOIN t tt WHERE t.i_code = ' at line 1


запрос:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT t.*,COUNT(t.*) cnt1,tt.*,COUNT(tt.*) cnt2 FROM t_items AS t LEFT JOIN t tt WHERE t.i_code = 'item1'
Slavenin Отправлено: 19 Мая, 2011 - 20:40:28 • Тема: Нужна помощь в написании логов в mysql базу. • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 79
я бы написал простейшую функцию php, в которую будет передаваться инфа о том, кто и что делал, затем конструируется инсёрт и шлется на выполнение в базу.

PHP:
скопировать код в буфер обмена
  1. function tran($param)
  2. {
  3.       $sql .= 'INSERT INTO table VALUES (';
  4.       $i = 0;
  5.       while($param[$i])
  6.       {
  7.         $sql .= (($i == 0) ? '' : ', ') ."'" .$param[$i] ."'";
  8.         $i++;
  9.       }
  10.       $sql .= ')';
  11. }


и потом слать это на выполнение функции для работы с базой

если в транлог писать айдишники статей и юзеров, то можно использовать другую форму инсёрта и использовать подзапросы. Тригеры это конечно хорошо, вот только у них есть минус, можно забыть о том что в базе наличествует некий тригер и потом долго удивляться происходящим изменениям или кто-то другой будет потом дорабатывать вашу базу и опять удивляться Улыбка
Slavenin Отправлено: 19 Мая, 2011 - 20:27:09 • Тема: Выборка одной и той же строки несколько раз • Форум: SQL и Архитектура БД

Ответов: 12
Просмотров: 300
Всем доброго времени суток!

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

id | название | количество
1 | вещь1 | 4
2 | вещь2 | 3

необходимо строку 1 выбрать четыре раза, а строку 2 - три раза, одним запросом, причем количество строк может быть разным в зависимости от условия. Нужно реализовать это на чистом sql без использования php или javascript.
Нужно это чтобы выводилось типа вещь1 1 из 4, вещь1 2 из 4 и тд.
Подскажите направление в котором думать, уже сломал весь мозг себе.
Slavenin Отправлено: 07 Апреля, 2011 - 12:43:42 • Тема: Динамическое добавление свойств к объекту класса • Форум: Программирование на PHP

Ответов: 2
Просмотров: 1917
как все оказывается просто! Не понял к сожалению, кнопку "Спасибо" нажать не дает Огорчение так что просто устная благодарность!

Страниц (19): В начало « ... 11 12 13 14 15 [16] 17 18 19 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB