Jump to content

PHP Coding Help


light87

Recommended Posts

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!!!

 

 

 

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.