PHP.SU

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

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

> Найдено сообщений: 15
electronik Отправлено: 03 Сентября, 2011 - 23:20:22 • Тема: Помогите создать процедуру • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 32
sales_count это кол-во проданного, на странице у пользователя есть кнопка продать. Продажа идёт по одной порции. В конце смены жмут кнопку закрыть день которая берёт всё меню, сканирует и одну таблицу и сумму записывает в другую.
Цитата:
зачем вы так жестоко с Mysql

Просто как по другому посчитать кол-во проданных блюд за день? А в процедуру хотел засунуть что бы не зависеть от PHP.
electronik Отправлено: 03 Сентября, 2011 - 21:06:25 • Тема: Помогите создать процедуру • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 32
Есть код на PHP
PHP:
скопировать код в буфер обмена
  1. $query = "SELECT menu_id
  2.                      FROM menu
  3.                      WHERE deleted = 0";
  4.             $result = mysql_query($query) or die("Query failed : " . mysql_error());;
  5.             while ($row = mysql_fetch_array($result)){
  6.                    $menu_id = $row['menu_id'];
  7.                    $query2 = "SELECT sum(sales_count) AS sales_count_sum
  8.                              FROM `sales`
  9.                              WHERE `user_sale_date` = '".$_POST['user_sale_date']."'
  10.                              AND menu_id = '$menu_id'
  11.                              AND user_id = '".$_POST['user_id']."'
  12.                              AND deleted = '0'";
  13.                    $result2 = mysql_query($query2) or die("Query failed : " . mysql_error());;
  14.                    $row = mysql_fetch_assoc($result2);
  15.                    $sales_count_sum = $row['sales_count_sum'];
  16.                    if($sales_count_sum == NULL){
  17.                        $sales_count_sum = 0;
  18.                    }
  19.                    $query3 = "INSERT INTO sales_day (sales_day_id, user_id, menu_id, sales_date, sales_count, deleted)
  20.                              VALUES (NULL, '".$_POST['user_id']."',$menu_id,'".$_POST['user_sale_date']."' ,$sales_count_sum, 0)";
  21.                    mysql_query($query3) or die("Query failed : " . mysql_error());
  22.                    $query4 = "UPDATE `sales`
  23.                              SET closed = '1'
  24.                              WHERE `user_sale_date` = '".$_POST['user_sale_date']."'
  25.                              AND menu_id = '$menu_id'
  26.                              AND user_id = '".$_POST['user_id']."'
  27.                              AND deleted = '0'";
  28.                    mysql_query($query4) or die("Query failed : " . mysql_error());
  29.             }
  30.             $query5 = "UPDATE users
  31.                       SET user_sale_date = DATE_ADD('".$_POST['user_sale_date']."', interval 1 day)
  32.                       WHERE user_id = '".$_POST['user_id']."'";
  33.             mysql_query($query5) or die("Query failed : " . mysql_error());

Можно ли создать из этого процедуру которая будет при передаче user_id делать то что я написал на PHP?
electronik Отправлено: 03 Сентября, 2011 - 16:04:19 • Тема: Обновление форума. Баги и ошибки пишем здесь • Форум: Колонка администратора

Ответов: 468
Просмотров: 199567
Если перейти в несуществующую тему. Например создавал давно тему, её удалили или ещё чего, на странице написано
Цитата:

Открытие темы

Эта тема не существует!
<< Вернуться назад

Так вот если нажать вернуться назад, ничего не происходит, при наведении на ссылку, выскакивает подсказка с javascript, и что бы вернуться назад нужно менять или вводить вручную адрес форума.
electronik Отправлено: 02 Сентября, 2011 - 04:27:23 • Тема: Динамическая таблица • Форум: Работа с СУБД

Ответов: 1
Просмотров: 2822
вообщем сделал, но всё равно как то кривовато,
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. include './config.php';
  3. include './header.php';
  4.  
  5. $conn=mysql_connect($dbhost,$dbuser,$dbpass)
  6.         or die("Could not connect : " . mysql_error());
  7. mysql_select_db($dbname) or die("Could not select database");
  8. mysql_query("SET NAMES utf8");
  9. $query=mysql_query("SELECT m.menu_num, m.menu_id
  10.                    FROM dishs d
  11.                    LEFT JOIN menu m ON m.menu_id = d.menu_id
  12.                    LEFT JOIN users u ON u.user_id = d.user_id
  13.                    WHERE d.deleted =  '0'
  14.                    AND m.deleted =  '0'
  15.                    AND u.deleted =  '0'
  16.                    GROUP BY m.menu_id")
  17.                or die("Query failed : " . mysql_error());
  18.  
  19. $query2=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m.menu_num, m.menu_name, d.dish_count,
  20.                            d.dish_count_sp, u.user_name
  21.                    FROM dishs d
  22.                    LEFT JOIN menu m ON m.menu_id = d.menu_id
  23.                    LEFT JOIN users u ON u.user_id = d.user_id
  24.                    WHERE d.deleted =  '0'
  25.                    AND m.deleted =  '0'
  26.                    AND u.deleted =  '0'
  27.                    GROUP BY d.user_id")
  28.                or die("Query failed : " . mysql_error());
  29.  
  30.  
  31. ?>
  32.  
  33. <html>
  34.     <table  border=0 cellspacing=0 cellpadding=0>
  35.         <tr valign="top">
  36.             <td>
  37.                
  38.         <table name="menu" border=1 cellspacing=0 cellpadding=0>
  39.             <tr>
  40.                 <th>&nbsp</th>
  41.            </tr>
  42.            <tr>
  43.                <th>№ Блюда</th>
  44.            </tr>
  45.            <?php while($row=mysql_fetch_array($query)){
  46.                $menu_id_pr = $row['menu_id'];
  47.                 $menu_num_pr = $row['menu_num'];
  48.              ?>
  49.             <tr>
  50.                 <th><?php echo $menu_num_pr; ?></th>
  51.             </tr>
  52.             <?php } ?>
  53.         </table>
  54.        
  55.         </td>
  56.         <td>
  57.  
  58.                 <?php
  59.                    while ($row2 = mysql_fetch_array($query2)){
  60.                           $user_id_pr = $row2['user_id'];
  61.                           $user_name_pr = $row2['user_name']; ?>
  62.    
  63.         <table name="data" align="top" border=1 cellspacing=0 cellpadding=0>
  64.                <tr>
  65.                 <th colspan="3"><?php echo "$user_name_pr"; ?></th>
  66.                 </tr>
  67.             <tr>
  68.                 <th>Ср</th>
  69.                 <th>Ост</th>
  70.                 <th>Заявка</th>
  71.             </tr>
  72.                 <?php
  73.                $query4=mysql_query("SELECT m.menu_num, m.menu_id
  74.                    FROM dishs d
  75.                    LEFT JOIN menu m ON m.menu_id = d.menu_id
  76.                    LEFT JOIN users u ON u.user_id = d.user_id
  77.                    WHERE d.deleted =  '0'
  78.                    AND m.deleted =  '0'
  79.                    AND u.deleted =  '0'
  80.                    GROUP BY m.menu_id")
  81.                or die("Query failed : " . mysql_error());
  82.                while($row4=mysql_fetch_array($query4)){
  83.                $menu_id_pr4 = $row4['menu_id'];
  84.                $menu_num_pr4 = $row4['menu_num'];
  85.                
  86.                $query3="SELECT d.dish_id,  d.user_id, d.time_date, m.menu_num, m.menu_name, d.dish_count,
  87.                            d.dish_count_sp, u.user_name
  88.                    FROM dishs d
  89.                    LEFT JOIN menu m ON m.menu_id = d.menu_id
  90.                    LEFT JOIN users u ON u.user_id = d.user_id
  91.                    WHERE d.deleted =  '0'
  92.                    AND m.deleted =  '0'
  93.                    AND u.deleted =  '0'
  94.                    AND d.user_id = $user_id_pr
  95.                    AND d.menu_id = $menu_id_pr4
  96.                    ORDER BY d.user_id, m.menu_id";
  97.                $result3 = mysql_query($query3) or die("Query failed : " . mysql_error());
  98. //                echo $query3;
  99.                if(mysql_num_rows($result3)==0){ ?>
  100.                 <tr>
  101.                     <td align=center><?php echo "&nbsp;" ; ?></td>
  102.                     <td align=center><?php echo "&nbsp;" ; ?></td>
  103.                     <td align=center><?php echo "&nbsp;" ; ?></td>
  104.                 </tr>
  105.                 <?php } else
  106.                while($row3 = mysql_fetch_array($result3)){
  107.                    $dish_count_sp_pr=$row3['dish_count_sp'];
  108.                    $dish_count_pr=$row3['dish_count']; ?>
  109.             <tr>    
  110.             <td align=center><?php echo $dish_count_sp_pr; ?></td>
  111.             <td align=center><?php echo $dish_count_pr; ?></td>
  112.             <td align=center><?php echo "&nbsp;" ; ?></td>
  113.             </tr>    
  114.  
  115.          <?php }} ?>
  116.             </table>
  117.            </td>
  118.         <td>
  119.          <?php } ?>
  120.            
  121.              </td>
  122.         </tr>
  123.     </table>    
  124.  
  125. </html>
electronik Отправлено: 01 Сентября, 2011 - 15:55:23 • Тема: Динамическая таблица • Форум: Работа с СУБД

Ответов: 1
Просмотров: 2822
Добрый день!
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. include './config.php';
  3. include './header.php';
  4.  
  5. $conn=mysql_connect($dbhost,$dbuser,$dbpass)
  6.         or die("Could not connect : " . mysql_error());
  7. mysql_select_db($dbname) or die("Could not select database");
  8. mysql_query("SET NAMES utf8");
  9. $query=mysql_query("SELECT m.menu_num, m.menu_id
  10.                    FROM dishs d
  11.                    LEFT JOIN menu m ON m.menu_id = d.menu_id
  12.                    LEFT JOIN users u ON u.user_id = d.user_id
  13.                    WHERE d.deleted =  '0'
  14.                    AND m.deleted =  '0'
  15.                    AND u.deleted =  '0'
  16.                    GROUP BY m.menu_id")
  17.                or die("Query failed : " . mysql_error());
  18.  
  19. $query2=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m.menu_num, m.menu_name, d.dish_count,
  20.                            d.dish_count_sp, u.user_name
  21.                    FROM dishs d
  22.                    LEFT JOIN menu m ON m.menu_id = d.menu_id
  23.                    LEFT JOIN users u ON u.user_id = d.user_id
  24.                    WHERE d.deleted =  '0'
  25.                    AND m.deleted =  '0'
  26.                    AND u.deleted =  '0'
  27.                    GROUP BY d.user_id")
  28.                or die("Query failed : " . mysql_error());
  29.  
  30.  
  31. ?>
  32.  
  33. <html>
  34.     <table  border=0 cellspacing=0 cellpadding=0>
  35.         <tr valign="top">
  36.             <td>
  37.                
  38.         <table name="menu" border=1 cellspacing=0 cellpadding=0>
  39.             <tr>
  40.                 <th>&nbsp</th>
  41.            </tr>
  42.            <tr>
  43.                <th>№ Блюда</th>
  44.            </tr>
  45.            <?php while($row=mysql_fetch_array($query)){
  46.                $menu_id_pr = $row['menu_id'];
  47.                 $menu_num_pr = $row['menu_num'];
  48.              ?>
  49.             <tr>
  50.                 <th><?php echo $menu_num_pr; ?></th>
  51.             </tr>
  52.             <?php } ?>
  53.         </table>
  54.        
  55.         </td>
  56.         <td>
  57.  
  58.                 <?php
  59.                    while ($row2 = mysql_fetch_array($query2)){
  60.                           $user_id_pr = $row2['user_id'];
  61.                           $user_name_pr = $row2['user_name']; ?>
  62.    
  63.         <table name="data" align="top" border=1 cellspacing=0 cellpadding=0>
  64.                <tr>
  65.                 <th colspan="3"><?php echo "$user_name_pr"; ?></th>
  66.                 </tr>
  67.             <tr>
  68.                 <th>Ср</th>
  69.                 <th>Ост</th>
  70.                 <th>Заявка</th>
  71.             </tr>
  72.                 <?php
  73.                $query3=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m.menu_num, m.menu_name, d.dish_count,
  74.                            d.dish_count_sp, u.user_name
  75.                    FROM dishs d
  76.                    LEFT JOIN menu m ON m.menu_id = d.menu_id
  77.                    LEFT JOIN users u ON u.user_id = d.user_id
  78.                    WHERE d.deleted =  '0'
  79.                    AND m.deleted =  '0'
  80.                    AND u.deleted =  '0'
  81.                    AND d.user_id = $user_id_pr
  82.                    ORDER BY d.user_id, m.menu_id")
  83.                or die("Query failed : " . mysql_error());
  84.                while($row3 = mysql_fetch_array($query3)){
  85.                    $dish_count_sp_pr=$row3['dish_count_sp'];
  86.                    $dish_count_pr=$row3['dish_count']; ?>
  87.             <tr>    
  88.             <td align=center><?php echo $dish_count_sp_pr; ?></td>
  89.             <td align=center><?php echo $dish_count_pr; ?></td>
  90.             <td align=center><?php echo "&nbsp;" ; ?></td>
  91.             </tr>    
  92.  
  93.          <?php } ?>
  94.             </table>
  95.            </td>
  96.         <td>
  97.          <?php } ?>
  98.            
  99.              </td>
  100.         </tr>
  101.     </table>    
  102.  
  103. </html>


Данный код выводит вот такую таблицу

Проблема в том что я не могу понять как сделать привязку по номеру блюда и по пользователю. Чтобы если данного блюда нет у пользователя, то он выводил бы пустую ячейку. Сейчас если все блюда есть у всех пользователей, но они выстраиваются правильно, а если нет,как например у test user то просто идут подряд(там позиции 2.03 и 2.05). Подскажите пожалуйста как сделать.
electronik Отправлено: 30 Августа, 2011 - 16:36:05 • Тема: динамический select • Форум: Вопросы новичков

Ответов: 4
Просмотров: 228
2 Viper
Спасибо! То что нужно!

Цитата:
electronik значения атрибутов тегов не пробовали в двойные кавычки брать?


не совсем понял что Вы имеете ввиду.
electronik Отправлено: 29 Августа, 2011 - 16:44:37 • Тема: динамический select • Форум: Вопросы новичков

Ответов: 4
Просмотров: 228
Добрый день.

CODE (htmlphp):
скопировать код в буфер обмена
  1. form id="category" action="dish.php" method="post">
  2. <td>Категория: </td>
  3.     <td valign=top>
  4.     <select name=category_id">
  5.     <option disabled>Выберите категорию</option>
  6.     <?php
  7.    while ($row = mysql_fetch_array($result)){
  8.    $category_id_pr=$row['category_id'];
  9.    $category_name_pr=$row['category_name'];
  10.    echo "
  11.    <option value=\"$category_id_pr\">$category_name_pr</option>
  12.    ";
  13.    }?>
  14.     </select></td>
  15.     <input name=category type=submit value=ОК />
  16. </form>


вообщем после выбора категории и нажатия кнопки "OK". через POST меня направляет на эту же страницу, где происходит работа второго SQL-скрипта с подставленным значением


Вопрос в том как сделать я например выбрал категорию №1, при перезагрузки странице уже стояла категория №1. Я понимаю что как то через
CODE (htmlphp):
скопировать код в буфер обмена
  1. <option value.. selected>..</option>
electronik Отправлено: 24 Июня, 2011 - 19:57:09 • Тема: Вывод информации из SQL в таблицу • Форум: Работа с СУБД

Ответов: 7
Просмотров: 3545
закрытие тега не помогло,
Цитата:
здесь у вас должен получиться один столбец
нужно просто сделать гармотную html размётку


можете подсказать хотя бы алгоритм Закатив глазки , а то я себе уже мозг сломал, пока эту таблицу делаю Огорчение
electronik Отправлено: 24 Июня, 2011 - 19:22:28 • Тема: Вывод информации из SQL в таблицу • Форум: Работа с СУБД

Ответов: 7
Просмотров: 3545
Не совсем то получилось, либо я не туда вставил код
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include './config.php';
  3. require_once './index.php';
  4.  
  5. $conn=mysql_connect($dbhost,$dbuser,$dbpass)
  6.          or die("Could not connect : " . mysql_error());
  7. mysql_select_db($dbname) or die("Could not select database");
  8. mysql_query("SET NAMES utf8");
  9. $query=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m1.menu_num, m1.menu_name, d.dish_count,
  10.                            d.dish_count_sp, u1.user_name, u1.bgcolor
  11.                    FROM dishs d
  12.                    LEFT JOIN menu m1 ON m1.menu_id = d.menu_id
  13.                    LEFT JOIN users u1 ON u1.user_id = d.user_id
  14.                    WHERE d.deleted =  '0'
  15.                    AND m1.deleted =  '0'
  16.                    AND u1.deleted =  '0'
  17.                    GROUP BY u1.user_name")
  18.                 or die("Query failed : " . mysql_error());
  19. $query2=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m1.menu_num, m1.menu_name, d.dish_count,
  20.                            d.dish_count_sp, u1.user_name, u1.bgcolor
  21.                    FROM dishs d
  22.                    LEFT JOIN menu m1 ON m1.menu_id = d.menu_id
  23.                    LEFT JOIN users u1 ON u1.user_id = d.user_id
  24.                    WHERE d.deleted =  '0'
  25.                    AND m1.deleted =  '0'
  26.                    AND u1.deleted =  '0'
  27.                    GROUP BY m1.menu_num")
  28.                 or die("Query failed : " . mysql_error());
  29. $query3=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m1.menu_num, m1.menu_name, d.dish_count,
  30.                            d.dish_count_sp, u1.user_name, u1.bgcolor
  31.                    FROM dishs d
  32.                    LEFT JOIN menu m1 ON m1.menu_id = d.menu_id
  33.                    LEFT JOIN users u1 ON u1.user_id = d.user_id
  34.                    WHERE d.deleted =  '0'
  35.                    AND m1.deleted =  '0'
  36.                    AND u1.deleted =  '0'
  37.                    ORDER BY d.user_id, m1.menu_num")
  38.                 or die("Query failed : " . mysql_error());
  39.  
  40. //начинаем вывод таблицы
  41.     echo "<table width=\"65%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\"><tr><th>&nbsp</th>";
  42. //получаем имена польщователей для заголовков столбцов      
  43.         while($row=mysql_fetch_array($query))
  44.             {
  45.                 $user_name_pr=$row['user_name'];
  46.                 echo"
  47.        <th colspan=\"3\">$user_name_pr</th>
  48.        ";}
  49. //пустая ячейка
  50.         echo "</tr><tr>
  51.        <th>&nbsp</th>";
  52. //получаем кол-во пользователей для отрисовки        
  53.         for($i=0;$i<mysql_num_rows($query);$i++)
  54.         {
  55.         echo "<th>Кол-во порц.</th><th>Кол-во порц.</th>
  56.        <th>Кол-во порц.</th>
  57.        ";
  58.         }
  59. //отрисовываем столбик с номерами, выход из цикла сделаен для того, что бы номер не повторялся        
  60.         echo"
  61.        </tr>
  62.        <tr>
  63.        <th>№ блюда</th>";
  64. //отрисовываем второй разделитель      
  65.         for($i=0;$i<mysql_num_rows($query);$i++)
  66.         {
  67.         echo "<th>Остаток ср.</th><th>Остаток</th>
  68.        <th>Заявка</th>
  69.        ";
  70.         }
  71. //получаем номера и выводи их в таблицу      
  72.         while ($row2=mysql_fetch_array($query2))
  73.         {   $menu_num_pr=$row2['menu_num'];                                                                                                                                                                                                                                                                                            
  74.             echo "<tr><th>$menu_num_pr</th></tr>";
  75.         }
  76. //тут получаем кол-во, и выводим их в таблицу        
  77.        
  78.         if(mysql_num_rows($query3)){
  79.             $i=0;
  80.             while($data=mysql_fetch_array($query3)){
  81.                 $dish_count_pr=$data['dish_count'];
  82.                 echo "<tr><td><th>$dish_count_pr</td>";
  83.                 $i++;
  84.             }
  85.         }
  86.        
  87.         echo "</table>";
  88. ?>
  89.  

Он тогда в последнюю строчку полностью забивает данными, а не по столбцам раскидывает.
electronik Отправлено: 24 Июня, 2011 - 16:05:05 • Тема: Вывод информации из SQL в таблицу • Форум: Работа с СУБД

Ответов: 7
Просмотров: 3545
Ну они не совсем одинаковые, в первом получаем пользователей(GROUP BY u1.user_name) которые есть в запросе, их кол-во равно кол-ву главных колонок(user1,user2, etc), во втором получаем номера блюд которые есть(GROUP BY m1.menu_num), а третий запрос это уже не посредственно данные по кол-во блюд. Конечно можно было бы использовать только третий запрос, но я не умею работать с массивами, что бы если значение повторялось по определённому полю, то выводилось оно только один раз.
electronik Отправлено: 24 Июня, 2011 - 15:36:14 • Тема: Вывод информации из SQL в таблицу • Форум: Работа с СУБД

Ответов: 7
Просмотров: 3545
не могу понять как вывести правильно значения в таблицу. Смог отрисовать каркас таблицы, а вот ввести данные не получается, не понимаю как это сделать.
Подскажите пожалуйста.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include './config.php';
  3. require_once './index.php';
  4.  
  5. $conn=mysql_connect($dbhost,$dbuser,$dbpass)
  6.          or die("Could not connect : " . mysql_error());
  7. mysql_select_db($dbname) or die("Could not select database");
  8. mysql_query("SET NAMES utf8");
  9. $query=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m1.menu_num, m1.menu_name, d.dish_count,
  10.                            d.dish_count_sp, u1.user_name, u1.bgcolor
  11.                    FROM dishs d
  12.                    LEFT JOIN menu m1 ON m1.menu_id = d.menu_id
  13.                    LEFT JOIN users u1 ON u1.user_id = d.user_id
  14.                    WHERE d.deleted =  '0'
  15.                    AND m1.deleted =  '0'
  16.                    AND u1.deleted =  '0'
  17.                    GROUP BY u1.user_name")
  18.                 or die("Query failed : " . mysql_error());
  19. $query2=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m1.menu_num, m1.menu_name, d.dish_count,
  20.                            d.dish_count_sp, u1.user_name, u1.bgcolor
  21.                    FROM dishs d
  22.                    LEFT JOIN menu m1 ON m1.menu_id = d.menu_id
  23.                    LEFT JOIN users u1 ON u1.user_id = d.user_id
  24.                    WHERE d.deleted =  '0'
  25.                    AND m1.deleted =  '0'
  26.                    AND u1.deleted =  '0'
  27.                    GROUP BY m1.menu_num")
  28.                 or die("Query failed : " . mysql_error());
  29. $query3=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m1.menu_num, m1.menu_name, d.dish_count,
  30.                            d.dish_count_sp, u1.user_name, u1.bgcolor
  31.                    FROM dishs d
  32.                    LEFT JOIN menu m1 ON m1.menu_id = d.menu_id
  33.                    LEFT JOIN users u1 ON u1.user_id = d.user_id
  34.                    WHERE d.deleted =  '0'
  35.                    AND m1.deleted =  '0'
  36.                    AND u1.deleted =  '0'
  37.                    ORDER BY d.user_id, m1.menu_num")
  38.                 or die("Query failed : " . mysql_error());
  39.  
  40. //начинаем вывод таблицы
  41.     echo "<table width=\"65%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\"><tr><th>&nbsp</th>";
  42. //получаем имена польщователей для заголовков столбцов      
  43.         while($row=mysql_fetch_array($query))
  44.             {
  45.                 $user_name_pr=$row['user_name'];
  46.                 echo"
  47.        <th colspan=\"3\">$user_name_pr</th>
  48.        ";}
  49. //пустая ячейка
  50.         echo "</tr><tr>
  51.        <th>&nbsp</th>";
  52. //получаем кол-во пользователей для отрисовки        
  53.         for($i=0;$i<mysql_num_rows($query);$i++)
  54.         {
  55.         echo "<th>Кол-во порц.</th><th>Кол-во порц.</th>
  56.        <th>Кол-во порц.</th>
  57.        ";
  58.         }
  59. //отрисовываем столбик с номерами, выход из цикла сделаен для того, что бы номер не повторялся        
  60.         echo"
  61.        </tr>
  62.        <tr>
  63.        <th>№ блюда</th>";
  64. //отрисовываем второй разделитель      
  65.         for($i=0;$i<mysql_num_rows($query);$i++)
  66.         {
  67.         echo "<th>Остаток ср.</th><th>Остаток</th>
  68.        <th>Заявка</th>
  69.        ";
  70.         }
  71. //получаем номера и выводи их в таблицу      
  72.         while ($row2=mysql_fetch_array($query2))
  73.         {   $menu_num_pr=$row2['menu_num'];                                                                                                                                                                                                                                                                                            
  74.             echo "<tr><th>$menu_num_pr</th></tr>";
  75.         }
  76. //тут получаем кол-во, и выводим их в таблицу        
  77.         while($row3=mysql_fetch_array($query3))
  78.         {  
  79.             $dish_count_sp_pr=$row3['dish_count_sp'];
  80.             $dish_count_pr=$row3['dish_count'];
  81.            
  82.         echo"<tr><td>    
  83.            <th align=\"center\">$dish_count_sp_pr</th>
  84.            <th align=\"center\">$dish_count_pr</th></td>
  85.        </tr>";
  86.         }
  87.         echo "</table>";
  88. ?>
  89.  
electronik Отправлено: 21 Октября, 2010 - 15:49:44 • Тема: joomla+virtuemart не корректно работает • Форум: Программирование на PHP

Ответов: 4
Просмотров: 409
Разобрался.
тут начиналась обработка половинных заказов
PHP:
скопировать код в буфер обмена
  1. if( floor($quantity) + 0.5 == $quantity )  

так что перед ней нужно было просто вставить фун-цию получения "целого" кода, т.е правильно должно быть так
PHP:
скопировать код в буфер обмена
  1.  // Check the quantity
  2.             if( floor($quantity) == $quantity ){
  3.                 $xmlFile['tag']['menu'][$productNumber]['id'] = $db_price->f("pizza_id");
  4.                 $xmlFile['tag']['menu'][$productNumber]['quantity'] = $quantity;
  5.                 $xmlFile['tag']['menu'][$productNumber]['price'] =
  6.                     $db_price->f("product_price")*$xmlFile['tag']['menu'][$productNumber]['quantity'];
  7.  

Цитата:
и что за функция f() в класе?

это получение данных из MySQL.
electronik Отправлено: 21 Октября, 2010 - 14:54:29 • Тема: joomla+virtuemart не корректно работает • Форум: Программирование на PHP

Ответов: 4
Просмотров: 409
Вот функция получения id, товар разделен, на половинные порции.
PHP:
скопировать код в буфер обмена
  1. while($dboi->next_record())
  2.         {
  3.             $productNumber++;
  4.             $xmlFile['tag']['menu'][$productNumber]['product_name'] = $dboi->f("product_name");
  5.             //$xmlFile['tag']['menu'][$productNumber]['id'] = $dboi->f("product_id");
  6.            
  7.             $q  = "SELECT * FROM #__{vm}_product_price WHERE product_id=".$dboi->f("product_id");
  8.             $db_price->query($q);
  9.             $db_price->next_record();
  10.             $quantity = $dboi->f("product_quantity");
  11.            
  12.             // Check the quantity
  13.             if( floor($quantity) == $quantity ){
  14.                 $xmlFile['tag']['menu'][$productNumber]['quantity'] = $quantity;
  15.                 $xmlFile['tag']['menu'][$productNumber]['price'] =
  16.                     $db_price->f("product_price")*$xmlFile['tag']['menu'][$productNumber]['quantity'];
  17.             } if( floor($quantity) + 0.5 == $quantity )
  18.                                 {
  19.                 //Adding integer part of the quantity
  20.                 if($quantity >= 1)
  21.                 {
  22.  
  23.                                         $xmlFile['tag']['menu'][$productNumber]['id'] = $db_price->f("pizza_id");
  24.                     $xmlFile['tag']['menu'][$productNumber]['quantity'] = floor($quantity);
  25.                     $xmlFile['tag']['menu'][$productNumber]['price'] =
  26.                         $db_price->f("product_price")*floor($xmlFile['tag']['menu'][$productNumber]['quantity']);
  27.                     $xmlFile['tag']['order_summ'] += $xmlFile['tag']['menu'][$productNumber]['price'];
  28.                     $productNumber++;
  29.                 } else
  30.                 //Adding 0.5 part of the quantity
  31.                 $xmlFile['tag']['menu'][$productNumber]['id'] = $db_price->f("pizza_id_half");
  32.                 $xmlFile['tag']['menu'][$productNumber]['product_name'] = $dboi->f("product_name");
  33.                 $xmlFile['tag']['menu'][$productNumber]['quantity'] = 0.5;
  34.                 $xmlFile['tag']['menu'][$productNumber]['price'] = $db_price->f("product_price_half");
  35.             } else {
  36.                 $xmlFile['tag']['menu'][$productNumber]['quantity'] = round($quantity);
  37.                 $xmlFile['tag']['menu'][$productNumber]['price'] =
  38.                     $db_price->f("product_price")*$xmlFile['tag']['menu'][$productNumber]['quantity'];
  39.             }
  40.              


я так понимаю что проблема в строке
PHP:
скопировать код в буфер обмена
  1. if( floor($quantity) + 0.5 == $quantity )


потому что при отладке, после неё он всё пропускает и перескакивает сразу на
PHP:
скопировать код в буфер обмена
  1. $xmlFile['tag']['menu'][$productNumber]['quantity'] = round($quantity);

(Добавление)
И обрабатывает почему-то только половинные порции.
electronik Отправлено: 19 Октября, 2010 - 00:26:39 • Тема: joomla+virtuemart не корректно работает • Форум: Программирование на PHP

Ответов: 4
Просмотров: 409
Подскажите может можно как-то отмониторить процесс формирования файла или запросы к БД.
electronik Отправлено: 18 Октября, 2010 - 00:16:10 • Тема: joomla+virtuemart не корректно работает • Форум: Программирование на PHP

Ответов: 4
Просмотров: 409
Устроился на новую работу, у них есть сайт на joomla, с прикрученным магазином virtuemart, так вот , в шаблон товаров, было добавлено поле "id"(добавлял не я, поэтому не знаю как оно добавлялось, скорее всего через админку) в которое вписывается в ручную id товара, при заказе формируется файл и уходит на почту, этот файл потом загружается в 1С для контроля расходов. Проблема в том что не со всех товаров подхватывается этот id, хотя на всех товарах он проставлен и в базе MySQL он есть, не могу понять причину такого поведения, у всех групп и товаров стоят одинаковые параметры, иногда id не берутся со всей группы, иногда с каких-то определённых товаров из группы X.

Вопрос как отследить из-за чего с этих товаров не берутся id, в базе есть, в приходящем файле нет.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB