boorama Posted August 15, 2007 Share Posted August 15, 2007 Hi all, I am new to php and MySql. I am designing a booking system. to book an appointment a unique Id is entered together with the location of the appointment. once the button is clicked a table of available slots is displayed. my problem is how to select one slot. I was thinking to have a checkbox column, but not sure how to do that with the result of the query. another thing is once I click the button, the unique Id and location disappear. how can I keep them displayed once the form is posted. I hope I make sense. below is the code and your help is highly appreciated. <?php include("db.php"); // connection to database include_once ('hh.php'); echo "<h2>Please fill booking details below</h2>"; ?> <form action= '<?php echo($PHP_SELF); ?>' method='POST' name='bf'> <p> </p> <table width='50%' border='0' align='center'cellpadding='4' cellspacing='0'> <tr> <td width='29%'><font face='Copperplate Gothic Light'>NHS Number</font></td> <td width='68%'><input name='nhs' type='text' id='nhs'></td> </tr> <tr> <td><font face='Copperplate Gothic Light'>Select hospital</font></td> <td><select name='hosp'> <option></option> <option value='Hammersmith Hospital'>Hammersmith Hospital</option> <option value='Charing Cross Hospital'>Charing Cross Hospital</option> <option value='Selly Oak Hospital'>Selly Oak Hospital</option> </select></td> </tr> <tr> <td><font face='Copperplate Gothic Light'>find appointment</font></td> <td><input type='submit' name="fapp" value='GO'></td> </tr> </table> </form> <?php if($_POST['fapp']){ if((!$_POST['nhs']) || (!$_POST['hosp'])){ echo "<strong><font color = red>Please enter NHS number and select a Hospital! </font><br />"; }else{ $sql = mysql_query("SELECT * FROM patient WHERE nhs_num='{$_POST['nhs']}' "); $check = mysql_num_rows($sql); if($check > 0){ while($row = mysql_fetch_array($sql)){ $query = "SELECT h.name, h.location, h.address, DATE_FORMAT(t.app_date, '%a,%e %M, %Y, %l:%i%p') AS newdate FROM hospital h, time_slot t WHERE t.hospital_id = h.hospital_id AND h.name = '{$_POST['hosp']}' AND t.slot_ava = 'Y' "; $result = @mysql_query ($query); // store the record echo '<br />'; echo '<table border="1" align="center" cellspacing="2" cellpadding="2"> <td align="left"><b>Hospital</b></td> <td align="left"><b>Location</b></td> <td align="left"><b>Address</b></td> <td align="left"><b>Appointment Date & Time</b></td> </tr>'; // print record $bg = '#eeeeee'; while ($row = mysql_fetch_array($result, MYSQL_NUM)) { $bg = ($bg=='#eeeeee' ? '#ffffff' : '#eeeeee'); echo '<tr bgcolor="', $bg, '"><td align="left">', stripslashes($row[0]), '</td><td align="left">', $row[1], '</td> <td align="left">', $row[2], '</td> <td align="left">', $row[3], '</td> </tr>'; } echo '</table>'; mysql_free_result ($result); } }else { echo "<strong><font color = red>The NHS number your entered is incorrect!<br /> Please try again! </font><br />"; } } } mysql_close(); include_once ('ff.php'); ?> Quote Link to comment https://forums.phpfreaks.com/topic/65063-how-to-select-one-row-from-query-result/ Share on other sites More sharing options...
frost Posted August 15, 2007 Share Posted August 15, 2007 You could use radio buttons to make sure only one is selected. Also, you could use a hidden input to pass the id and location? Hope that helps. Quote Link to comment https://forums.phpfreaks.com/topic/65063-how-to-select-one-row-from-query-result/#findComment-324729 Share on other sites More sharing options...
boorama Posted August 15, 2007 Author Share Posted August 15, 2007 Thanks frost, but I still don't understand. I want the selection to be from the query result not initially. also I am not familiar with hidden input. If you have an example it would be great. thanks Quote Link to comment https://forums.phpfreaks.com/topic/65063-how-to-select-one-row-from-query-result/#findComment-324748 Share on other sites More sharing options...
frost Posted August 15, 2007 Share Posted August 15, 2007 I am not sure what you mean by: "I want the selection to be from the query result not initially." A hidden input is used in forms to pass a value that the user doesn't see: For example: <input type=hidden name=id value="<?=$id?>"> When this is posted it will post your ID. Quote Link to comment https://forums.phpfreaks.com/topic/65063-how-to-select-one-row-from-query-result/#findComment-324789 Share on other sites More sharing options...
boorama Posted August 15, 2007 Author Share Posted August 15, 2007 Thanks again frost for replyin. I want to book an appointment. once the button is clicked to find an appointment the following query is executed: $sql = mysql_query("SELECT * FROM patient WHERE nhs_num='{$_POST['nhs']}' "); $check = mysql_num_rows($sql); if($check > 0){ while($row = mysql_fetch_array($sql)){ $query = "SELECT h.name, h.location, h.address, DATE_FORMAT(t.app_date, '%a,%e %M, %Y, %l:%i%p') AS newdate FROM hospital h, time_slot t WHERE t.hospital_id = h.hospital_id AND h.name = '{$_POST['hosp']}' AND t.slot_ava = 'Y' "; the result of this query is the the available appointments. I want to select one of them to be booked. but not sure how to do that. I hope its clearer now. Quote Link to comment https://forums.phpfreaks.com/topic/65063-how-to-select-one-row-from-query-result/#findComment-324806 Share on other sites More sharing options...
frost Posted August 15, 2007 Share Posted August 15, 2007 Ok so you are outputting all of the available appointments right? Add a radio button to each appointment and then when the user picks an apointment you can book that appointment? The radio button could have the appointments unique ID and you could post that info to do the booking. Quote Link to comment https://forums.phpfreaks.com/topic/65063-how-to-select-one-row-from-query-result/#findComment-324808 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.