Jump to content

Need help in displaying data in table form using php


doforumda

Recommended Posts

hi,

I am displaying mysql data in a table form using php. The first attached pic shows how is it looking with the current code. As you can see there are heading on the left and top of the table. So user can make booking on a specific day (heading is on the top for days) and for specific duration of time(headings are on the left). As in first pic, there has been a booking on Wed at 10 o clock, but the problem is, it is displaying duration just for half an hour. As this duration is from 10 o clock to 11 o clock. So what I want to do is in the second pic. Please view the second pic. In the second pic I want to display the highlighted area in blie because all this time is booked or reserved.

 

Here is my current code.

<?php
require("dbconnect/dbconnect.php");
$building = $_POST['building'];
$block = $_POST['block'];
$d_m = $_POST['d_m'];
$choose_one = $_POST['choose_one'];
function get_data($table, $choose_one) {
    $bool = 1;
    $get_days = mysql_query("SELECT * FROM days");
    $get_times = mysql_query("SELECT * FROM time");
    $days = mysql_num_rows($get_days);
    //$row_day_id = mysql_fetch_assoc($get_days);
    //$day_id_db = $row['dayid'];

    echo "<table cellspacing='0' border='0' cellpadding='5'>
            <tr>
                <th scope='col' width='100'></th>";
    while($row_time = mysql_fetch_assoc($get_times)) {
        while($bool <= $days) {
            $row_days = mysql_fetch_assoc($get_days);
            $dayname = $row_days['days'];
            echo "
                 <th scope='col' width='100'>$dayname</th>   
                 ";
            $bool++;
        }
        $day_id = 1;
        $timeid = $row_time['timeid'];
        $time = $row_time['time'];
        echo "
             <tr>
                <th scope='row' width='100' height='50'>$time</th>";
        while($day_id <= $days) {
            $get = mysql_query("
                            SELECT * FROM $table 
                            WHERE 
                            dayid='$day_id' 
                            AND 
                            timeid_from='$timeid' 
                            AND
                            d_m='$choose_one'
                            ") or die(mysql_error());
            if(mysql_numrows($get) > 0) {
                $row = mysql_fetch_assoc($get);
                $block = $row['block'];
                $apt = $row['apartment_no'];
                $room = $row['room_no'];
                $d_m = $row['d_m'];
                $timeid_to = $row['timeid_to'];
                echo "
                     <td width='110' height='50' bgcolor='lightblue'>
                        <b>Block:</b> $block<br />
                        <b>Apartment:</b> $apt<br />
                        <b>Room:</b> $room
                     </td>
                     ";
                //echo "</tr>";
            } else {
                echo "
                     <td width='110' height='50' bgcolor='green'></td>
                     ";
            }
            $day_id++;
        } //end of second inner while loop
        echo "</tr>";
    } //end of outer while loop
    echo "</table>"; 
}

if($building) {
    if($block) {
        if($d_m) {
            if($choose_one) {
                if($building == 'mik') {
                    if($block == 'Block A' || $block == 'Block B') {
                        get_data('reserve_mik_ab', $choose_one);
                    } else if ($block == 'Block C' || $block == 'Block D') {
                        get_data('reserve_mik_cd', $choose_one);
                    }
                }
                if($building == 'p') {
                    get_data('reserve_p',$choose_one);
                }
            } else {
                echo "Choose one!";
            }
        } 
    }
}
?>

Please help!

 

[attachment deleted by admin]

Link to comment
Share on other sites

I think the best way to do this would be to use rowspan. Just do:

 

$rowspan = ceil($length / $mins_per_row); // where ceil is rounding it up

 

then in the cell of the table of the appartment just do

 

<td rowspan='" . $rowspan . "'>

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.