phpYESvice Posted May 12, 2014 Share Posted May 12, 2014 Hello Php Friends,I have this search code, it wents well but i want to add and echo or maybe a script that woul tell "NO RESULTS FOUND" in case the search does not found data in the database.Please anyone can help. include 'Connect.php'; //Connect to MySQL Server mysql_connect($host, $dbusername, $dbpassword); //Select Database mysql_select_db($dbname) or die(mysql_error()); // Retrieve data from Query $first_name = $_GET['first_name']; // Escape User Input to help prevent SQL Injection $first_name = mysql_real_escape_string($first_name); $query = "SELECT * FROM student_information WHERE first_name = '$first_name'"; $qry_result = mysql_query($query) or die(mysql_error()); $display_string = "<table border='1' cellpadding='10' cellspacing='1' align='center'>"; $display_string .= "<tr align='center'>"; $display_string .= "<th>LR Number</th>"; $display_string .= "<th>F i r s t N a m e</th>"; $display_string .= "<th>L a s t N a m e</th>"; $display_string .= "<th>Grade</th>"; $display_string .= "<th>Section</th>"; $display_string .= "<th>View</th>"; $display_string .= "<th>Update</th>"; $display_string .= "<th>Delete</th>"; $display_string .= "</tr>"; // Insert a new row in the table for each person returned while($row = mysql_fetch_array($qry_result)){ $display_string .= "<tr>"; $display_string .= "<td>$row[LRN]</td>"; $display_string .= "<td>$row[first_name]</td>"; $display_string .= "<td>$row[last_name]</td>"; $display_string .= "<td>$row[grade]</td>"; $display_string .= "<td>$row[section]</td>"; $display_string .= "<td><a href='View_Profile.php?id=$student_id'>View</a> </td>"; $display_string .= "<td><a href='Admin_Edit_Student_Info.php?id=$student_id'>Update</a></td>"; $display_string .= "<td><a href='Delete.php?id=$student_id'>Delete</a></td>"; } $display_string .= "</table>"; echo $display_string; ?> Kindly tell me what codes i am missing and where exactly to put it. Quote Link to comment https://forums.phpfreaks.com/topic/288439-add-no-results-found-javascript/ Share on other sites More sharing options...
Psycho Posted May 12, 2014 Share Posted May 12, 2014 (edited) <?php //Connect to MySQL Server include 'Connect.php'; mysql_connect($host, $dbusername, $dbpassword); //Select Database mysql_select_db($dbname) or die(mysql_error()); // Escape User Input to help prevent SQL Injection $first_name = mysql_real_escape_string(trim($_GET['first_name'])); // Retrieve data from Query $query = "SELECT id, LRN, first_name, last_name, grade, section, FROM student_information WHERE first_name LIKE '%{$first_name}%'"; $result = mysql_query($query) or die(mysql_error()); //Generate the output $searchResults = ''; if(!mysql_num_rows($result)) { $searchResults = "<tr><td colspan='8'>No results found</td></tr>\n"; } else { // Insert a new row in the table for each person returned while($row = mysql_fetch_array($result)) { $student_id = $row[id]; // - ??? Not sure if this is the correct field name $searchResults .= "<tr>\n"; $searchResults .= " <td>{$row['LRN']}</td>\n"; $searchResults .= " <td>{$row['first_name']}</td>\n"; $searchResults .= " <td>{$row['last_name']}</td>\n"; $searchResults .= " <td>{$row['grade']}</td>\n"; $searchResults .= " <td>{$row['section']}</td>\n"; $searchResults .= " <td><a href='View_Profile.php?id={$student_id}'>View</a> </td>\n"; $searchResults .= " <td><a href='Admin_Edit_Student_Info.php?id={$student_id}'>Update</a></td>\n"; $searchResults .= " <td><a href='Delete.php?id={$student_id}'>Delete</a></td>\n"; $searchResults .= "</tr>\n"; } } ?> <html> <head></head> <body> <table border='1' cellpadding='10' cellspacing='1' align='center'> <tr align='center'> <th>LR Number</th> <th>F i r s t N a m e</th> <th>L a s t N a m e</th> <th>Grade</th> <th>Section</th> <th>View</th> <th>Update</th> <th>Delete</th> </tr> <?php echo $searchResults; ?> </table> </body> </html> Edited May 12, 2014 by Psycho Quote Link to comment https://forums.phpfreaks.com/topic/288439-add-no-results-found-javascript/#findComment-1479213 Share on other sites More sharing options...
Clarkey Posted May 12, 2014 Share Posted May 12, 2014 (edited) If you look at the code Psycho provided to you, notice how he / she used if(!mysql_num_rows($result)) { to see how many rows have been returned by the query. If you have 0 returned rows, there are no results. It's a simple IF statement Edited May 12, 2014 by Clarkey Quote Link to comment https://forums.phpfreaks.com/topic/288439-add-no-results-found-javascript/#findComment-1479214 Share on other sites More sharing options...
Shadow_Walker Posted May 14, 2014 Share Posted May 14, 2014 Thank you Clarkey for helping me analyzing and understanding the codes. I miss that line though. Hello Psycho, $query = "SELECT id, LRN, first_name, last_name, grade, section, FROM student_information WHERE first_name LIKE '%{$first_name}%'"; i just replace this with $query = "SELECT * FROM student_information WHERE first_name LIKE '%{$first_name}%'"; and ALL IS WELL... thank you so much for a big help. This forum has been solved. Quote Link to comment https://forums.phpfreaks.com/topic/288439-add-no-results-found-javascript/#findComment-1479419 Share on other sites More sharing options...
Psycho Posted May 14, 2014 Share Posted May 14, 2014 You should not use "SELECT *" in almost all instances. It is a bad, lazy habit to get into. You should only select the fields that you intend to use. It makes your queries more efficient, it reduces the potential for defects (especially over time), and it helps to secure your site in the event that data from the query gets "leaked". Quote Link to comment https://forums.phpfreaks.com/topic/288439-add-no-results-found-javascript/#findComment-1479457 Share on other sites More sharing options...
Shadow_Walker Posted May 15, 2014 Share Posted May 15, 2014 Thank you for the advice Psycho. I will remember that. Quote Link to comment https://forums.phpfreaks.com/topic/288439-add-no-results-found-javascript/#findComment-1479508 Share on other sites More sharing options...
Shadow_Walker Posted May 15, 2014 Share Posted May 15, 2014 hello Psycho, i have followed your advice $query = "SELECT student_id, LRN, first_name, last_name, grade, section FROM student_information WHERE first_name LIKE '%{$first_name}%'"; i just deleted the comma after the section and it stil work well. Your the best!!! Quote Link to comment https://forums.phpfreaks.com/topic/288439-add-no-results-found-javascript/#findComment-1479509 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.