Hello All,

I have very little experience with php, and I recently downloaded a script on a website for displaying a database here:
http://www.designplace.org/scripts.php?page=1&c_id=25

I tried changing the code in lines 31-33 so that only certain variables within a record would be displayed. This is what my changed code looks like:

<?php

  // Get the search variable from URL
  $var = @$_GET['q'] ;
  $trimmed = trim($var); //trim whitespace from the stored variable

// rows to return
$limit=10; 

// check for an empty string and display a message.
if ($trimmed == "")
  {
  echo "<p>Please enter a search...</p>";
  exit;
  }

// check for a search parameter
if (!isset($var))
  {
  echo "<p>We dont seem to have a search parameter!</p>";
  exit;
  }

//connect to your database ** EDIT REQUIRED HERE **
mysql_connect("localhost","XXXXX","XXXXXXXX");


mysql_select_db("XXXXX") or die("Unable to select database"); 


// Build SQL Query  
$query = "select lastname, firstname, state, zip, jobtype, otherjobtype, nightavail, weekendavail, ptft, objective, resume from data where jobtype like "\%$trimmed%\" order by lastname"; 

 $numresults=mysql_query($query);
 $numrows=mysql_num_rows($numresults);

// If we have no results, offer a google search as an alternative

if ($numrows == 0)
  {
  echo "<h4>Results</h4>";
  echo "<p>Sorry, your search: &quot;" . $trimmed . "&quot; returned zero results</p>";

// google
 echo "<p><a href=\"http://www.google.com/search?q=" 
  . $trimmed . "\" target=\"_blank\" title=\"Look up 
  " . $trimmed . " on Google\">Click here</a> to try the 
  search on google</p>";
  }

// next determine if s has been passed to script, if not use 0
  if (empty($s)) {
  $s=0;
  }

// get results
  $query .= " limit $s,$limit";
  $result = mysql_query($query) or die("Couldn't execute query");

// display what the person searched for
echo "<p>You searched for: &quot;" . $var . "&quot;</p>";

// begin to show results set
echo "Results";
$count = 1 + $s ;

// now you can display the results returned
  while ($row= mysql_fetch_array($result)) {
  $title = $row["1st_field"];

  echo "$count.)&nbsp;$title" ;
  $count++ ;
  }

$currPage = (($s/$limit) + 1);

//break before paging
  echo "<br />";

  // next we need to do the links to other results
  if ($s>=1) { // bypass PREV link if s is 0
  $prevs=($s-$limit);
  print "&nbsp;<a href=\"$PHP_SELF?s=$prevs&q=$var\">&lt;&lt; 
  Prev 10</a>&nbsp&nbsp;";
  }

// calculate number of pages needing links
  $pages=intval($numrows/$limit);

// $pages now contains int of pages needed unless there is a remainder from division

  if ($numrows%$limit) {
  // has remainder so add one page
  $pages++;
  }

// check to see if last page
  if (!((($s+$limit)/$limit)==$pages) && $pages!=1) {

  // not last page so give NEXT link
  $news=$s+$limit;

  echo "&nbsp;<a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 &gt;&gt;</a>";
  }

$a = $s + ($limit) ;
  if ($a > $numrows) { $a = $numrows ; }
  $b = $s + 1 ;
  echo "<p>Showing results $b to $a of $numrows</p>";
  
?>

I am having some trouble getting it to work on my page. Specifically, I am getting some error messages:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 on line 32

Warning: Unexpected character in input: '\' (ASCII=92) state=1 on line 32

Warning: Unexpected character in input: '\' (ASCII=92) state=1 on line 32

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in line 32

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' on line 45

Can someone give me some feedback on these error messages?
Thanks,
-l.

Recommended Answers

All 4 Replies

Member Avatar for Zagga

Line 32 . . .

$query = "SELECT lastname, firstname, state, zip, jobtype, otherjobtype, nightavail, weekendavail, ptft, objective, resume FROM data WHERE jobtype LIKE " . $trimmed . " ORDER BY lastname";

(The capitalisation I used is just a personal preference that helps me see the different parts of the query easier.)

and line 45 . . .

echo "<p><a href='http://www.google.com/search?q=". $trimmed . "' target='_blank' title='Look up " . $trimmed . " on Google'>Click here</a> to try the search on google</p>";

(This was just a mix up with quotation marks.)


Hope this helps.
Zagga

Member Avatar for Zagga

Actually, lines 45-48 worked for me as you had them originally, so I'm not sure about the last error.
Is there any reason you have split this statement into 4 lines though instead of just 1?

I just noticed in my previous post I missed the % and ' signs out completetly, sorry :$

It should be

$query = "SELECT lastname, firstname, state, zip, jobtype, otherjobtype, nightavail, weekendavail, ptft, objective, resume FROM data WHERE jobtype LIKE '%" . $trimmed . "%' ORDER BY lastname";

Hi zagga, Once again, you have saved the day...
I completely ripped this code from another website/forum so I am clueless on how to shorten it or make it any easier... I noticed also that whoever wrote this but a lot of breaks in the code?? Doesn;t make much sense but I didn't want to mess with it and potentially destroy it ;) I have had c, c++, and java programming but php is all mumbo jumbo to me ;)

anywayz, I'll try out your suggestion tomorrow and let you know how it goes...
Thank you soooo much again zagga!!! Have a lovely day!
-l.

I seems that there is one last error on line 80:
Parse error: syntax error, unexpected T_VARIABLE on line 80

maybe a semicolon??
oh well, i'm going to bed...;)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.