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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Динамическая таблица
Форумы портала PHP.SU » » Работа с СУБД » Динамическая таблица

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

1. electronik - 01 Сентября, 2011 - 15:55:23 - перейти к сообщению
Добрый день!
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). Подскажите пожалуйста как сделать.
2. electronik - 02 Сентября, 2011 - 04:27:23 - перейти к сообщению
вообщем сделал, но всё равно как то кривовато,
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>

 

Powered by ExBB FM 1.0 RC1