light87 Posted January 5, 2010 Share Posted January 5, 2010 Hello: I'm having a problem with a search form. The error message that I get when the submit button is clicked is: Parse error: syntax error, unexpected T_VARIABLE, expecting T_CASE or T_DEFAULT or '}' in /home/content/PRIVATE/riskyjobs_riskybusiness_Database_TableSetup_riskyjobs_Table_Chapter9_Page546_search_final.php on line 69 The coding for the php file is: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Risky Jobs - Search</title> <link rel="stylesheet" type="text/css" href="style_Page546_final.css" /> </head> <body> <img src="riskyjobs_title.gif" alt="Risky Jobs" /> <img src="riskyjobs_fireman.jpg" alt="Risky Jobs" style="float:right" /> <h3>Risky Jobs - Search Results</h3> <?php // 1,5,10 // Filename:C:,HeadFirst_PHP_MYSQL,Chapter9, // riskyjobs_riskybusiness_Database_TableSetup_riskyjobs_Table_Chapter9_Page546_search_final.php // This function builds a search query from the search keywords and sort setting function build_query($user_search, $sort) { $search_query = "SELECT * FROM riskyjobs"; // Extract the search keywords into an array $clean_search = str_replace(',', ' ', $user_search); $search_words = explode(' ', $clean_search); $final_search_words = array(); if (count($search_words) > 0) { foreach ($search_words as $word) { if (!empty($word)) { $final_search_words[] = $word; } } } // Generate a WHERE clause using all of the search keywords $where_list = array(); if (count($final_search_words) > 0) { foreach($final_search_words as $word) { $where_list[] = "description LIKE '%$word%'"; } } $where_clause = implode(' OR ', $where_list); // Add the keyword WHERE clause to the search query if (!empty($where_clause)) { $search_query .= " WHERE $where_clause"; } // Sort the search query using the sort setting switch ($sort) { // Ascending by job title case 1: $search_query .= " ORDER BY title"; break; // Descending by job title case 2: $search_query .= " ORDER BY title DESC"; break; // Ascending by state case 3: $search_query .= " ORDER BY state"; break; // Descending by state case 4: $search_query .= " ORDER BY state DESC"; break; // Ascending by date posted (oldest first) case 5: $search_query .= " ORDER BY date_posted"; break; // Descending by date posted (newest first) case 6: $search_query .= " ORDER BY date_posted DESC"; break; default: // No sort setting provided, so don't sort the query } return $search_query; } // INTERIM INTERIM INTERIM INTERIM // This function builds heading links based on the specified sort setting function generate_sort_links($user_search, $sort) { $sort_links = ''; switch ($sort) { case 1: $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=2">Job Title</a></td><td>Description</td>'; $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=3">State</a></td>'; $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=5">Date Posted</a></td>'; break; case 3: $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=1">Job Title</a></td><td>Description</td>'; $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=4">State</a></td>'; $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=5">Date Posted</a></td>'; break; case 5: $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=1">Job Title</a></td><td>Description</td>'; $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=3">State</a></td>'; $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=6">Date Posted</a></td>'; break; default: $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=1">Job Title</a></td><td>Description</td>'; $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=3">State</a></td>'; $sort_links .= '<td><a href = "' . $_SERVER['PHP_SELF'] . '?usersearch=' . $user_search . '&sort=5">Date Posted</a></td>'; } return $sort_links; } // NEW STUFF PART 1 NEW STUFF PART 1 // Grab the sort setting and search keywords from the URL using GET $sort = $_GET['sort']; $user_search = $_GET['usersearch']; // Start generating the table of results echo '<table border="0" cellpadding="2">'; // Generate the search result headings echo '<tr class="heading">'; echo generate_sort_links($user_search, $sort); echo '</tr>'; // Connect to the database require_once('riskyjobs_riskybusiness_Database_TableSetup_riskyjobs_Table_Chapter9_Page546_connectvars_final.php'); $dbc = mysqli_connect('PRIVATE', 'PRIVATE', 'PRIVATE', 'PRIVATE'); // Query to get the total results $query = build_query($user_search, $sort); $result = mysqli_query($dbc, $query); // NEW STUFF PART 2 NEW STUFF PART 2 while ($row = mysqli_fetch_array($result)) { echo '<tr class="results">'; echo '<td valign="top" width="20%">' . $row['title'] . '</td>'; // changed $row['description'] . ' in the next line to substr($row['description'],0,100) . ' ... // on 12,31,09 echo '<td valign="top" width="50%">' . substr($row['description'],0,100) . ' ...</td>'; echo '<td valign="top" width="10%">' . $row['state'] . '</td>'; // changed $row['date_posted'] in the next line to substr($row['date_posted'],0,10) // on 12,31,09 echo '<td valign="top" width="20%">' . substr($row['date_posted'],0,10) . '</td>'; echo '</tr>'; } echo '</table>'; mysqli_close($dbc); ?> </body> </html> I would appreciate the help!!! Quote Link to comment https://forums.phpfreaks.com/topic/187223-php-coding-help/ Share on other sites More sharing options...
oni-kun Posted January 5, 2010 Share Posted January 5, 2010 Please place your code within tags for easier reading. What is line 69? From the looks of the error you're missing a semicolon or an extra bracket, but it'd help if I had the exact line. Quote Link to comment https://forums.phpfreaks.com/topic/187223-php-coding-help/#findComment-988680 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.