Cyberspace Posted April 11, 2008 Share Posted April 11, 2008 I am having trouble displaying a form, i am display two table above the form in the page, the table directs above the form is outputting records form a table using a simple query and works fine and outputs the results, but when the query returns no results the form disappears. Can anyone please help? My code is: <?php $WalkNo = $_GET['WalkNo']; $WalkNo = mysql_real_escape_string($WalkNo); $Venue = mysql_real_escape_string($Venue); $WalkDate = mysql_real_escape_string($WalkDate); $Leader = mysql_real_escape_string($Leader); $account = mysql_fetch_array(mysql_query("SELECT * FROM walks WHERE WalkNo='$WalkNo'")); ?> </table> <table class="join" cellspacing="0" width="861"> <tr> <td class="Header">WalkNo</td> <td class="Body"><?php echo $account["WalkNo"]; ?></td> </tr> <tr> <td class="Header">Venue</td> <td class="Body"><?php echo $account["Venue"]; ?></td> </tr> <tr> <td class="Header">WalkDate</td> <td class="Body"><?php echo $account["WalkDate"]; ?></td> </tr> <tr> <td class="Header">Leader</td> <td class="Body"><?php echo $account["Leader"]; ?></td> </tr> </table> <p> <hr class="hr_blue"/></p> <font face="Arial" size="3"> Walk Participants</font> <p></p> <?php $WalkNo = $_GET['WalkNo']; $query = "SELECT w.WalkNo, m.MemberRef, m.Forename, m.Surname, w.DateJoined FROM members m, walker w WHERE w.MemberRef=m.MemberRef AND w.WalkNo='$WalkNo'"; $result = mysql_query($query) or die('Query error!<br />Error:' . mysql_error() . 'Query: <pre>' . $query . '</pre>'); if(mysql_num_rows($result) == 0) { print "No Participants exist"; } else ?> <table class="join" cellspacing="0" width="861"> <tr> <td class="Header">WalkNo</td> <td class="Header">Member Ref</td> <td class="Header">Forename</td> <td class="Header">Surname</td> <td class="Header">DateJoined</td> </tr> <?php while ($account = @mysql_fetch_assoc($result)) { ?> <tr> <td class="Body"><?php echo $account["WalkNo"]; ?></td> <td class="Body"><?php echo $account["MemberRef"]; ?></td> <td class="Body"><?php echo $account["Forename"]; ?></td> <td class="Body"><?php echo $account["Surname"]; ?></td> <td class="Body"><?php echo $account["DateJoined"]; ?></td> </tr> </table> <?php if (isset($_POST['submit'])) { $error_stat = 0; $MemberRef_message = ''; $Password_message = ''; $Password2_message = ''; $User_message = ''; $Walk_message = ''; $MemberRef = mysql_real_escape_string(stripslashes($_POST['MemberRef'])); $Password = mysql_real_escape_string(stripslashes($_POST['Password'])); //Error checking // MemberRef Check) if (!$MemberRef) { //Set the error_stat to 1, which means that an error has occurred $error_stat = 1; //Set the message to tell the user to enter a username $MemberRef_message = '*Please enter MemberRef*'; } else if (!ctype_digit($MemberRef)) { $error_stat = 1; $MemberRef_message .= '*MemberRef must be a number*'; } if (!$Password) { //Set the error_stat to 1, which means that an error has occurred $error_stat = 1; //Set the message to tell the user to enter a password $Password_message = '*Please enter a Password*'; } // MemberRef and Password Check if (isset($_POST['submit']) && $error_stat == 0) { $account = mysql_query("SELECT * FROM members WHERE MemberRef='$MemberRef' AND Password='$Password'"); $numrows = mysql_num_rows($account); //get rows returned if($numrows == 0) { $error_stat = 1; $User_message = '*Username and/or Password are invalid*'; } // Walker Check if (isset($_POST['submit']) && $error_stat == 0) { $account = mysql_query("SELECT * FROM walker WHERE MemberRef='$MemberRef' AND WalkNo='$WalkNo'"); $numrows = mysql_num_rows($account); //get rows returned if($numrows == 1) { $error_stat = 1; $Walk_message = '*User is already on walk*'; } } } } ?> <hr class="hr_blue"/></p><font face="Arial" size="3">Join Walk </font><form method="post" class="addwalkerform" action=""> </font> <fieldset> <label for="MemberRef">MemberRef:</label> <input name="MemberRef" type="text" id="MemberRef" value="<?php echo $_POST['MemberRef']; ?>"/> <span class="redboldtxt"><?php echo "$MemberRef_message";?></fieldset></span> </fieldset> <fieldset> <label for="Password">Password:</label> <input name="Password" type="text" id="Password" value="<?php echo $_POST['Password']; ?>"/> <span class="redboldtxt"><?php echo "$Password_message";?></fieldset></span> <span class="redboldtxt"><?php echo "$Password2_message";?></fieldset></span> <fieldset> <p class="submit"><input type="submit" name="submit" value="Join Walk" /> <span class="redboldtxt"><?php echo "$User_message";?></fieldset></span> <p></p> <span class="redboldtxt"><?php echo "$Walk_message";?></fieldset></span> </fieldset> </fieldset> </form> <?php } ?> Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted April 11, 2008 Share Posted April 11, 2008 there needs to be brackets for the else statement or else it wont work right Quote Link to comment Share on other sites More sharing options...
Cyberspace Posted April 11, 2008 Author Share Posted April 11, 2008 there needs to be brackets for the else statement or else it wont work right Where will i need to put the brackets in to get this to work Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted April 11, 2008 Share Posted April 11, 2008 after your num_rows statement you have: else ?> which needs to be else { ?> Quote Link to comment Share on other sites More sharing options...
Cyberspace Posted April 11, 2008 Author Share Posted April 11, 2008 Ok i have added the bracket to the code, but it doesnt display the form below the table, is there anything else i can do? Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted April 11, 2008 Share Posted April 11, 2008 <?php $WalkNo = $_GET['WalkNo']; $WalkNo = mysql_real_escape_string($WalkNo); $Venue = mysql_real_escape_string($Venue); $WalkDate = mysql_real_escape_string($WalkDate); $Leader = mysql_real_escape_string($Leader); $account = mysql_fetch_array(mysql_query("SELECT * FROM walks WHERE WalkNo='$WalkNo'")); ?> </table> <table class="join" cellspacing="0" width="861"> <tr> <td class="Header">WalkNo</td> <td class="Body"><?php echo $account["WalkNo"]; ?></td> </tr> <tr> <td class="Header">Venue</td> <td class="Body"><?php echo $account["Venue"]; ?></td> </tr> <tr> <td class="Header">WalkDate</td> <td class="Body"><?php echo $account["WalkDate"]; ?></td> </tr> <tr> <td class="Header">Leader</td> <td class="Body"><?php echo $account["Leader"]; ?></td> </tr> </table> <p> <hr class="hr_blue"/></p> <font face="Arial" size="3"> Walk Participants</font> <p></p> <?php $WalkNo = $_GET['WalkNo']; $query = "SELECT w.WalkNo, m.MemberRef, m.Forename, m.Surname, w.DateJoined FROM members m, walker w WHERE w.MemberRef=m.MemberRef AND w.WalkNo='$WalkNo'"; $result = mysql_query($query) or die('Query error!<br />Error:' . mysql_error() . 'Query: <pre>' . $query . '</pre>'); if(mysql_num_rows($result) == 0) { print "No Participants exist"; } else{ ?> <table class="join" cellspacing="0" width="861"> <tr> <td class="Header">WalkNo</td> <td class="Header">Member Ref</td> <td class="Header">Forename</td> <td class="Header">Surname</td> <td class="Header">DateJoined</td> </tr> <?php while ($account = @mysql_fetch_assoc($result)) { ?> <tr> <td class="Body"><?php echo $account["WalkNo"]; ?></td> <td class="Body"><?php echo $account["MemberRef"]; ?></td> <td class="Body"><?php echo $account["Forename"]; ?></td> <td class="Body"><?php echo $account["Surname"]; ?></td> <td class="Body"><?php echo $account["DateJoined"]; ?></td> </tr> </table> <?php if (isset($_POST['submit'])) { $error_stat = 0; $MemberRef_message = ''; $Password_message = ''; $Password2_message = ''; $User_message = ''; $Walk_message = ''; $MemberRef = mysql_real_escape_string(stripslashes($_POST['MemberRef'])); $Password = mysql_real_escape_string(stripslashes($_POST['Password'])); //Error checking // MemberRef Check) if (!$MemberRef) { //Set the error_stat to 1, which means that an error has occurred $error_stat = 1; //Set the message to tell the user to enter a username $MemberRef_message = '*Please enter MemberRef*'; } else if (!ctype_digit($MemberRef)) { $error_stat = 1; $MemberRef_message .= '*MemberRef must be a number*'; } if (!$Password) { //Set the error_stat to 1, which means that an error has occurred $error_stat = 1; //Set the message to tell the user to enter a password $Password_message = '*Please enter a Password*'; } // MemberRef and Password Check if (isset($_POST['submit']) && $error_stat == 0) { $account = mysql_query("SELECT * FROM members WHERE MemberRef='$MemberRef' AND Password='$Password'"); $numrows = mysql_num_rows($account); //get rows returned if($numrows == 0) { $error_stat = 1; $User_message = '*Username and/or Password are invalid*'; } // Walker Check if (isset($_POST['submit']) && $error_stat == 0) { $account = mysql_query("SELECT * FROM walker WHERE MemberRef='$MemberRef' AND WalkNo='$WalkNo'"); $numrows = mysql_num_rows($account); //get rows returned if($numrows == 1) { $error_stat = 1; $Walk_message = '*User is already on walk*'; } } } } ?> <hr class="hr_blue"/></p><font face="Arial" size="3">Join Walk </font><form method="post" class="addwalkerform" action=""> </font> <fieldset> <label for="MemberRef">MemberRef:</label> <input name="MemberRef" type="text" id="MemberRef" value="<?php echo $_POST['MemberRef']; ?>"/> <span class="redboldtxt"><?php echo "$MemberRef_message";?></fieldset></span> </fieldset> <fieldset> <label for="Password">Password:</label> <input name="Password" type="text" id="Password" value="<?php echo $_POST['Password']; ?>"/> <span class="redboldtxt"><?php echo "$Password_message";?></fieldset></span> <span class="redboldtxt"><?php echo "$Password2_message";?></fieldset></span> <fieldset> <p class="submit"><input type="submit" name="submit" value="Join Walk" /> <span class="redboldtxt"><?php echo "$User_message";?></fieldset></span> <p></p> <span class="redboldtxt"><?php echo "$Walk_message";?></fieldset></span> </fieldset> </fieldset> </form> <?php } } ?> Quote Link to comment Share on other sites More sharing options...
Cyberspace Posted April 11, 2008 Author Share Posted April 11, 2008 I tried that code, but still no form appearing Quote Link to comment Share on other sites More sharing options...
Cyberspace Posted April 11, 2008 Author Share Posted April 11, 2008 The page only displays the form if the query return 1 or more records in the table above, if there query returns nothing the form doesnt display, i need the form to display Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted April 11, 2008 Share Posted April 11, 2008 you should do something like <?php if(mysql_num_rows($result)==0) { //error } else if(mysql_num_rows($result)>0) { //show form }?> Quote Link to comment Share on other sites More sharing options...
Cyberspace Posted April 11, 2008 Author Share Posted April 11, 2008 you should do something like <?php if(mysql_num_rows($result)==0) { //error } else if(mysql_num_rows($result)>0) { //show form }?> Can u help me with this? Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted April 11, 2008 Share Posted April 11, 2008 <?php $WalkNo = $_GET['WalkNo']; $WalkNo = mysql_real_escape_string($WalkNo); $Venue = mysql_real_escape_string($Venue); $WalkDate = mysql_real_escape_string($WalkDate); $Leader = mysql_real_escape_string($Leader); $account = mysql_fetch_array(mysql_query("SELECT * FROM walks WHERE WalkNo='$WalkNo'")); ?> </table> <table class="join" cellspacing="0" width="861"> <tr> <td class="Header">WalkNo</td> <td class="Body"><?php echo $account["WalkNo"]; ?></td> </tr> <tr> <td class="Header">Venue</td> <td class="Body"><?php echo $account["Venue"]; ?></td> </tr> <tr> <td class="Header">WalkDate</td> <td class="Body"><?php echo $account["WalkDate"]; ?></td> </tr> <tr> <td class="Header">Leader</td> <td class="Body"><?php echo $account["Leader"]; ?></td> </tr> </table> <p> <hr class="hr_blue"/></p> <font face="Arial" size="3"> Walk Participants</font> <p></p> <?php $WalkNo = $_GET['WalkNo']; $query = "SELECT w.WalkNo, m.MemberRef, m.Forename, m.Surname, w.DateJoined FROM members m, walker w WHERE w.MemberRef=m.MemberRef AND w.WalkNo='$WalkNo'"; $result = mysql_query($query) or die('Query error!<br />Error:' . mysql_error() . 'Query: <pre>' . $query . '</pre>'); if(mysql_num_rows($result) == 0) { print "No Participants exist"; } else if(mysql_num_rows($result)>0){ ?> <table class="join" cellspacing="0" width="861"> <tr> <td class="Header">WalkNo</td> <td class="Header">Member Ref</td> <td class="Header">Forename</td> <td class="Header">Surname</td> <td class="Header">DateJoined</td> </tr> <?php while ($account = @mysql_fetch_assoc($result)) { ?> <tr> <td class="Body"><?php echo $account["WalkNo"]; ?></td> <td class="Body"><?php echo $account["MemberRef"]; ?></td> <td class="Body"><?php echo $account["Forename"]; ?></td> <td class="Body"><?php echo $account["Surname"]; ?></td> <td class="Body"><?php echo $account["DateJoined"]; ?></td> </tr> </table> <?php if (isset($_POST['submit'])||!empty($_POST['submit'])) { $error_stat = 0; $MemberRef_message = ''; $Password_message = ''; $Password2_message = ''; $User_message = ''; $Walk_message = ''; $MemberRef = mysql_real_escape_string(stripslashes($_POST['MemberRef'])); $Password = mysql_real_escape_string(stripslashes($_POST['Password'])); //Error checking // MemberRef Check) if (!$MemberRef||empty($MemberRef)||!isset($MemberRef)) { //Set the error_stat to 1, which means that an error has occurred $error_stat = 1; //Set the message to tell the user to enter a username $MemberRef_message = '*Please enter MemberRef*'; } else if (!ctype_digit($MemberRef)) { $error_stat = 1; $MemberRef_message .= '*MemberRef must be a number*'; } if (!$Password||empty($Password)||!isset($Password)) { //Set the error_stat to 1, which means that an error has occurred $error_stat = 1; //Set the message to tell the user to enter a password $Password_message = '*Please enter a Password*'; } // MemberRef and Password Check if (isset($_POST['submit']) && $error_stat == 0) { $account = mysql_query("SELECT * FROM members WHERE MemberRef='$MemberRef' AND Password='$Password'"); $numrows = mysql_num_rows($account); //get rows returned if($numrows == 0) { $error_stat = 1; $User_message = '*Username and/or Password are invalid*'; } // Walker Check if (isset($_POST['submit']) && $error_stat == 0) { $account = mysql_query("SELECT * FROM walker WHERE MemberRef='$MemberRef' AND WalkNo='$WalkNo'"); $numrows = mysql_num_rows($account); //get rows returned if($numrows>0) { $error_stat = 1; $Walk_message = '*User is already on walk*'; } } } } ?> <hr class="hr_blue"/></p><font face="Arial" size="3">Join Walk </font><form method="post" class="addwalkerform" action=""> </font> <fieldset> <label for="MemberRef">MemberRef:</label> <input name="MemberRef" type="text" id="MemberRef" value="<?php echo $_POST['MemberRef']; ?>"/> <span class="redboldtxt"><?php echo "$MemberRef_message";?></fieldset></span> </fieldset> <fieldset> <label for="Password">Password:</label> <input name="Password" type="text" id="Password" value="<?php echo $_POST['Password']; ?>"/> <span class="redboldtxt"><?php echo "$Password_message";?></fieldset></span> <span class="redboldtxt"><?php echo "$Password2_message";?></fieldset></span> <fieldset> <p class="submit"><input type="submit" name="submit" value="Join Walk" /> <span class="redboldtxt"><?php echo "$User_message";?></fieldset></span> <p></p> <span class="redboldtxt"><?php echo "$Walk_message";?></fieldset></span> </fieldset> </fieldset> </form> <?php } } ?> Quote Link to comment Share on other sites More sharing options...
Cyberspace Posted April 11, 2008 Author Share Posted April 11, 2008 Ok i have managed to get it displaying the form if the query return no results in the table about the form. I have a problem with the while loop, if there is more than 1 record returned in doesnt put the record into the table, it puts it below it for some reason. The code is now: <?php $WalkNo = $_GET['WalkNo']; $WalkNo = mysql_real_escape_string($WalkNo); $Venue = mysql_real_escape_string($Venue); $WalkDate = mysql_real_escape_string($WalkDate); $Leader = mysql_real_escape_string($Leader); $account = mysql_fetch_array(mysql_query("SELECT * FROM walks WHERE WalkNo='$WalkNo'")); ?> </table> <table class="join" cellspacing="0" width="861"> <tr> <td class="Header">WalkNo</td> <td class="Body"><?php echo $account["WalkNo"]; ?></td> </tr> <tr> <td class="Header">Venue</td> <td class="Body"><?php echo $account["Venue"]; ?></td> </tr> <tr> <td class="Header">WalkDate</td> <td class="Body"><?php echo $account["WalkDate"]; ?></td> </tr> <tr> <td class="Header">Leader</td> <td class="Body"><?php echo $account["Leader"]; ?></td> </tr> </table> <p> <hr class="hr_blue"/></p> <font face="Arial" size="3"> Walk Participants</font> <p></p> <?php $WalkNo = $_GET['WalkNo']; $query = "SELECT w.WalkNo, m.MemberRef, m.Forename, m.Surname, w.DateJoined FROM members m, walker w WHERE w.MemberRef=m.MemberRef AND w.WalkNo='$WalkNo'"; $result = mysql_query($query) or die('Query error!<br />Error:' . mysql_error() . 'Query: <pre>' . $query . '</pre>'); if(mysql_num_rows($result) == 0) { print "No Participants exist"; } else{ ?> <table class="join" cellspacing="0" width="861"> <tr> <td class="Header">WalkNo</td> <td class="Header">Member Ref</td> <td class="Header">Forename</td> <td class="Header">Surname</td> <td class="Header">DateJoined</td> </tr> <?php while ($account = @mysql_fetch_assoc($result)) { ?> <tr> <td class="Body"><?php echo $account["WalkNo"]; ?></td> <td class="Body"><?php echo $account["MemberRef"]; ?></td> <td class="Body"><?php echo $account["Forename"]; ?></td> <td class="Body"><?php echo $account["Surname"]; ?></td> <td class="Body"><?php echo $account["DateJoined"]; ?></td> </tr> </table> <?php } } ?> <?php if (isset($_POST['submit'])) { $error_stat = 0; $MemberRef_message = ''; $Password_message = ''; $Password2_message = ''; $User_message = ''; $Walk_message = ''; $MemberRef = mysql_real_escape_string(stripslashes($_POST['MemberRef'])); $Password = mysql_real_escape_string(stripslashes($_POST['Password'])); //Error checking // MemberRef Check) if (!$MemberRef) { //Set the error_stat to 1, which means that an error has occurred $error_stat = 1; //Set the message to tell the user to enter a username $MemberRef_message = '*Please enter MemberRef*'; } else if (!ctype_digit($MemberRef)) { $error_stat = 1; $MemberRef_message .= '*MemberRef must be a number*'; } if (!$Password) { //Set the error_stat to 1, which means that an error has occurred $error_stat = 1; //Set the message to tell the user to enter a password $Password_message = '*Please enter a Password*'; } // MemberRef and Password Check if (isset($_POST['submit']) && $error_stat == 0) { $account = mysql_query("SELECT * FROM members WHERE MemberRef='$MemberRef' AND Password='$Password'"); $numrows = mysql_num_rows($account); //get rows returned if($numrows == 0) { $error_stat = 1; $User_message = '*Username and/or Password are invalid*'; } // Walker Check if (isset($_POST['submit']) && $error_stat == 0) { $account = mysql_query("SELECT * FROM walker WHERE MemberRef='$MemberRef' AND WalkNo='$WalkNo'"); $numrows = mysql_num_rows($account); //get rows returned if($numrows == 1) { $error_stat = 1; $Walk_message = '*User is already on walk*'; } } } } ?> <hr class="hr_blue"/></p><font face="Arial" size="3">Join Walk </font><form method="post" class="addwalkerform" action=""> </font> <fieldset> <label for="MemberRef">MemberRef:</label> <input name="MemberRef" type="text" id="MemberRef" value="<?php echo $_POST['MemberRef']; ?>"/> <span class="redboldtxt"><?php echo "$MemberRef_message";?></fieldset></span> </fieldset> <fieldset> <label for="Password">Password:</label> <input name="Password" type="text" id="Password" value="<?php echo $_POST['Password']; ?>"/> <span class="redboldtxt"><?php echo "$Password_message";?></fieldset></span> <span class="redboldtxt"><?php echo "$Password2_message";?></fieldset></span> <fieldset> <p class="submit"><input type="submit" name="submit" value="Join Walk" /> <span class="redboldtxt"><?php echo "$User_message";?></fieldset></span> <p></p> <span class="redboldtxt"><?php echo "$Walk_message";?></fieldset></span> </fieldset> </fieldset> </form> Quote Link to comment Share on other sites More sharing options...
darkfreaks Posted April 11, 2008 Share Posted April 11, 2008 please remove the @ it supreses errors. and code. Quote Link to comment 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.