Help needed in searching a sentence in the code

--000e0cd13bba2b825304877ffb03
Content-Type: text/plain; charset=ISO-8859-1

Hi All,

I have this code where user can search a song or the entire song title. It
looks like when a user search a single word its searching and giving the
proper results. However if the user wants to search the entire sentence its
not giving the proper results. For example let say I have searched for the
MJ's song "Earth Song", its giving me the proper results. However if I am
searching for the MJ's " Why You Wanna Trip On Me", its not giving me the
proper results. Below is the code:



<?php


//get data
$button = $_GET['submit'];
$search = $_GET['search'];

$s = 0;
$s = $_GET['s'];
if (!$s)
$s = 0;
$i = 0;

$e = 30; // Just change to how many results you want per page


$next = $s + $e;
$prev = $s - $e;




if (strlen($search)<=2)


echo "<br><table align='center'><tr><td><sup>†</sup><font
face='sana-serif' size='6'><font color='blue'><b><sup><a href='
http://localhost/searchengine/' style='text-decoration:
none'>MP3dom</a></sup></b></b></font><font face='sana-serif'
size='3'><sup>™</sup></td><td><sup><form action='search.php'
method='GET'><input type='text' onclick=value='' size='50' name='search'
value='$search'> <input type='submit' name='submit'
value='Search'></form></td></tr></table> <table bgcolor='#0000FF'
width='100%' height='1px'>
</table><table bgcolor='#f0f7f9'
width='100%' height='10px'><tr><td><div align='right'><b>Must be greater
then 3 chars</b></div></td></tr></table><p></sup>";
else
{
echo "<br><table align='center'><tr><td>†<font face='sana-serif'
size='6'><font color='blue'><b><a href='http://localhost/searchengine/'
style='text-decoration: none'>MP3dom</a></b></b></font><font
face='sana-serif' size='3'><sup>™</sup></td><td><sub><form
action='search.php' method='GET'><input type='text' onclick=value=''
size='50' name='search' value='$search'><input type='submit' name='submit'
value='Search'></form></td></tr></table></sub>";

//connect to database
mysql_connect("localhost","root","");
mysql_select_db("mp3");



//explode out search term
$search_exploded = explode(" ",$search);

foreach($search_exploded as $search_each)
{

//construct query
$x++;
if ($x==1)
$construct .= "name LIKE '%$search_each%'";
else
$construct .= " OR name LIKE '%$search_each%'";

}

//echo outconstruct
$constructx = "SELECT * FROM data WHERE $construct";

$construct = "SELECT * FROM data WHERE $construct LIMIT $s,$e ";
$run = mysql_query($constructx);

$foundnum = mysql_num_rows($run);


$run_two = mysql_query("$construct");

if ($foundnum==0)
echo "<table bgcolor='#F1EDC2' width='100%' height='1px'><br
/></table><table bgcolor='#f0f7f9' width='100%' height='10px'><tr><td><div
align='right'>No results found for
<b>$search</b></div></td></tr></table><p>";
else
{
echo "<table bgcolor='#F1EDC2' width='100%' height='1px'><br
/></table><table bgcolor='#f0f7f9' width='100%' height='10px'><tr><td><div
align='right'>Showing 1-30 of <b>$foundnum</b> results found for
<b>$search.</b></div></td></tr></table><p>";







print '<table bgcolor="#F1EDC2" width="700" height="30" border="0"
align="center" >';
print '<tr>';

print '<td width="100" nowrap="nowrap"><strong>Artist</strong></td>';
print '<td width="250" nowrap="nowrap"><strong>Song
Name</strong></td>';
print '<td width="50" nowrap="nowrap"><strong>Movie
Date</strong></td>';
print '<td width="50" nowrap="nowrap"><strong>Size</strong></td>';

print '</tr>';
while ($runrows = mysql_fetch_assoc($run_two))
{
//get data
$type = $runrows['artist'];
$date = $runrows['date'];
$name = $runrows['name'];
$size = $runrows['size'];



foreach ($runrows as $row)
{
if ($i % 2 != 0) # An odd row
$rowColor = "#EBECE4";
else # An even row
$rowColor = "#FEF1E9";



print '<table width="700" height="30" border="0" align="center">';

}


print '<?php do { ?>';
print '<tr bgcolor="' . $rowColor . '">';

print '<td nowrap="nowrap" width="100">'.'<font color=:blue"
size=2>'."$type".'</td>';
//print '<td nowrap="nowrap" width="250">'.'<font size=2>'."<a
herf='$url'>$name".'</td>';

print '<td nowrap="nowrap" width="250">'.'<font color="blue"
size=2>'."<a href='download.php?url=$url'>$name".'</font></td>';


print '<td nowrap="nowrap" width="100" align="center">'.'<font
size=2>'."$date ".'</td>';
print '<td nowrap="nowrap" width="50">'.'<font size=2>'."$size
".'</td>';
print '<td nowrap="nowrap" width="25">'.'<font size=2>'."$se
".'</td>';
print '<td nowrap="nowrap" width="25">'.'<font size=2>'."$le
".'</td>';
print '</tr>';



print '</table>';
print '</body>';
print '</html>';

}
?>


<table width='100%'>
<tr>
<td>
<div align="center">
<br><br>
<?php
if (!$s<=0)
echo "<a href='search.php?search=$search&s=$prev'>Prev</a>";

$i =1;
for ($x=0;$x<$foundnum;$x=$x+$e)
{


echo " <a href='search.php?search=$search&s=$x'>$i</a> ";


$i++;


}

if ($s<$foundnum-$e)
echo "<a href='search.php?search=$search&s=$next'>Next</a>";

}
}


?>
</div>
</td>
</tr>
</table>


************************************************************ ***************************************

Also, the above code is giving me the below errors:

*Notice*: Undefined index: s in *C:\wamp\www\searchengine\search.php* on
line *11
**Notice*: Undefined variable: x in *C:\wamp\www\searchengine\search.php* on
line *46*

*Notice*: Undefined variable: construct in *
C:\wamp\www\searchengine\search.php* on line *48


************************************************************ ******************************************************

Please help me with this.

Best,
Guru.

*

--000e0cd13bba2b825304877ffb03--
Nagendra Prasad [ Mi, 26 Mai 2010 16:20 ] [ ID #2042074 ]
PHP » gmane.comp.php.windows » Help needed in searching a sentence in the code

Vorheriges Thema: php compilation
Nächstes Thema: @EXEC command not work :(