Динамическая таблица(как правильно сделать форматирование)

electronik

Новичок
Добрый день!
PHP:
<?php
include './config.php';
include './header.php';

$conn=mysql_connect($dbhost,$dbuser,$dbpass)
         or die("Could not connect : " . mysql_error());
mysql_select_db($dbname) or die("Could not select database");
mysql_query("SET NAMES utf8");
$query=mysql_query("SELECT m.menu_num, m.menu_id
                    FROM dishs d 
                    LEFT JOIN menu m ON m.menu_id = d.menu_id 
                    LEFT JOIN users u ON u.user_id = d.user_id 
                    WHERE d.deleted =  '0' 
                    AND m.deleted =  '0' 
                    AND u.deleted =  '0' 
                    GROUP BY m.menu_id") 
                or die("Query failed : " . mysql_error());

$query2=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m.menu_num, m.menu_name, d.dish_count, 
                            d.dish_count_sp, u.user_name
                    FROM dishs d 
                    LEFT JOIN menu m ON m.menu_id = d.menu_id 
                    LEFT JOIN users u ON u.user_id = d.user_id 
                    WHERE d.deleted =  '0' 
                    AND m.deleted =  '0' 
                    AND u.deleted =  '0' 
                    GROUP BY d.user_id")
                or die("Query failed : " . mysql_error());


?>

<html>
    <table  border=0 cellspacing=0 cellpadding=0>
        <tr valign="top">
            <td>
                
        <table name="menu" border=1 cellspacing=0 cellpadding=0>
            <tr>
                <th>&nbsp</th>
            </tr>
            <tr>
                <th>№ Блюда</th>
            </tr>
            <?php while($row=mysql_fetch_array($query)){
                $menu_id_pr = $row['menu_id'];
                $menu_num_pr = $row['menu_num']; 
             ?>
            <tr>
                <th><?php echo $menu_num_pr; ?></th>
            </tr>
            <?php } ?>
        </table>
        
        </td>
        <td>

                <?php
                    while ($row2 = mysql_fetch_array($query2)){
                           $user_id_pr = $row2['user_id'];
                           $user_name_pr = $row2['user_name']; ?>
    
        <table name="data" align="top" border=1 cellspacing=0 cellpadding=0>
               <tr>
                <th colspan="3"><?php echo "$user_name_pr"; ?></th>
                </tr>
            <tr>
                <th>Ср</th>
                <th>Ост</th>
                <th>Заявка</th>
            </tr>
                <?php
                $query3=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m.menu_num, m.menu_name, d.dish_count, 
                            d.dish_count_sp, u.user_name
                    FROM dishs d 
                    LEFT JOIN menu m ON m.menu_id = d.menu_id 
                    LEFT JOIN users u ON u.user_id = d.user_id 
                    WHERE d.deleted =  '0' 
                    AND m.deleted =  '0' 
                    AND u.deleted =  '0' 
                    AND d.user_id = $user_id_pr
                    ORDER BY d.user_id, m.menu_id")
                or die("Query failed : " . mysql_error());
                while($row3 = mysql_fetch_array($query3)){
                    $dish_count_sp_pr=$row3['dish_count_sp'];
                    $dish_count_pr=$row3['dish_count']; ?>
            <tr>    
            <td align=center><?php echo $dish_count_sp_pr; ?></td>
            <td align=center><?php echo $dish_count_pr; ?></td>
            <td align=center><?php echo "&nbsp;" ; ?></td>
            </tr>    

         <?php } ?>
            </table>
           </td>
        <td>
         <?php } ?>
            
             </td>
        </tr>
    </table>     
  
</html>
Данный код выводит вот такую таблицу

Проблема в том что я не могу понять как сделать привязку по номеру блюда и по пользователю. Чтобы если данного блюда нет у пользователя, то он выводил бы пустую ячейку. Сейчас если все блюда есть у всех пользователей, но они выстраиваются правильно, а если нет,как например у test user то просто идут подряд(там позиции 2.03 и 2.05). Подскажите пожалуйста как сделать.
 

electronik

Новичок
вообщем сделал, но всё равно как то кривовато,
PHP:
<?php
include './config.php';
include './header.php';

$conn=mysql_connect($dbhost,$dbuser,$dbpass)
         or die("Could not connect : " . mysql_error());
mysql_select_db($dbname) or die("Could not select database");
mysql_query("SET NAMES utf8");
$query=mysql_query("SELECT m.menu_num, m.menu_id
                    FROM dishs d 
                    LEFT JOIN menu m ON m.menu_id = d.menu_id 
                    LEFT JOIN users u ON u.user_id = d.user_id 
                    WHERE d.deleted =  '0' 
                    AND m.deleted =  '0' 
                    AND u.deleted =  '0' 
                    GROUP BY m.menu_id") 
                or die("Query failed : " . mysql_error());

$query2=mysql_query("SELECT d.dish_id,  d.user_id, d.time_date, m.menu_num, m.menu_name, d.dish_count, 
                            d.dish_count_sp, u.user_name
                    FROM dishs d 
                    LEFT JOIN menu m ON m.menu_id = d.menu_id 
                    LEFT JOIN users u ON u.user_id = d.user_id 
                    WHERE d.deleted =  '0' 
                    AND m.deleted =  '0' 
                    AND u.deleted =  '0' 
                    GROUP BY d.user_id")
                or die("Query failed : " . mysql_error());


?>

<html>
    <table  border=0 cellspacing=0 cellpadding=0>
        <tr valign="top">
            <td>
                
        <table name="menu" border=1 cellspacing=0 cellpadding=0>
            <tr>
                <th>&nbsp</th>
            </tr>
            <tr>
                <th>№ Блюда</th>
            </tr>
            <?php while($row=mysql_fetch_array($query)){
                $menu_id_pr = $row['menu_id'];
                $menu_num_pr = $row['menu_num']; 
             ?>
            <tr>
                <th><?php echo $menu_num_pr; ?></th>
            </tr>
            <?php } ?>
        </table>
        
        </td>
        <td>

                <?php
                    while ($row2 = mysql_fetch_array($query2)){
                           $user_id_pr = $row2['user_id'];
                           $user_name_pr = $row2['user_name']; ?>
    
        <table name="data" align="top" border=1 cellspacing=0 cellpadding=0>
               <tr>
                <th colspan="3"><?php echo "$user_name_pr"; ?></th>
                </tr>
            <tr>
                <th>Ср</th>
                <th>Ост</th>
                <th>Заявка</th>
            </tr>
                <?php
                $query4=mysql_query("SELECT m.menu_num, m.menu_id
                    FROM dishs d 
                    LEFT JOIN menu m ON m.menu_id = d.menu_id 
                    LEFT JOIN users u ON u.user_id = d.user_id 
                    WHERE d.deleted =  '0' 
                    AND m.deleted =  '0' 
                    AND u.deleted =  '0' 
                    GROUP BY m.menu_id") 
                or die("Query failed : " . mysql_error());
                while($row4=mysql_fetch_array($query4)){
                $menu_id_pr4 = $row4['menu_id'];
                $menu_num_pr4 = $row4['menu_num']; 
                
                $query3="SELECT d.dish_id,  d.user_id, d.time_date, m.menu_num, m.menu_name, d.dish_count, 
                            d.dish_count_sp, u.user_name
                    FROM dishs d 
                    LEFT JOIN menu m ON m.menu_id = d.menu_id 
                    LEFT JOIN users u ON u.user_id = d.user_id 
                    WHERE d.deleted =  '0' 
                    AND m.deleted =  '0' 
                    AND u.deleted =  '0' 
                    AND d.user_id = $user_id_pr
                    AND d.menu_id = $menu_id_pr4
                    ORDER BY d.user_id, m.menu_id";
                $result3 = mysql_query($query3) or die("Query failed : " . mysql_error());
//                echo $query3;
                if(mysql_num_rows($result3)==0){ ?>
                <tr>
                    <td align=center><?php echo "&nbsp;" ; ?></td>
                    <td align=center><?php echo "&nbsp;" ; ?></td>
                    <td align=center><?php echo "&nbsp;" ; ?></td>
                </tr>
                <?php } else
                while($row3 = mysql_fetch_array($result3)){
                    $dish_count_sp_pr=$row3['dish_count_sp'];
                    $dish_count_pr=$row3['dish_count']; ?>
            <tr>    
            <td align=center><?php echo $dish_count_sp_pr; ?></td>
            <td align=center><?php echo $dish_count_pr; ?></td>
            <td align=center><?php echo "&nbsp;" ; ?></td>
            </tr>    

         <?php }} ?>
            </table>
           </td>
        <td>
         <?php } ?>
            
             </td>
        </tr>
    </table>     
  
</html>
 
Сверху