Page 1 of 1

Search Function with PHP and mySQL

Posted: Sat Sep 03, 2005 10:55 pm
by MockY
Here is the deal. I am planning to add a search function on my website for user to use in order to serach fo info in my database of bands and so forth.

Code: Select all

<form method="POST" action="sok.php">

   <input type="text" size="30" name="query" class="formularinput"><br />
   
   <input type="submit" name="sok" class="formularinput" value="Sok">

   </form>

<?php 
$username = "user"; 
$password = "pass"; 
$hostname = "localhost";  
$db = "sotdtest"; 

$dbh = mysql_connect($hostname, $username, $password) or die(mysql_error()); 
$selected = mysql_select_db($db) or die(mysql_error()); 

if(isset($_POST['sok'])) { 

    $result = mysql_query("SELECT * FROM sotd WHERE Grupp LIKE '%{$_POST['query']}%'"); 
    while($r = mysql_fetch_assoc($result)) { 
         
        echo "<p>{$r['Grupp']}<br />{$r['lat']}<br />{$r['spelare']}</p>"; 
		// echo $row ['grupp'];
		// echo $row ['lat'];
		// echo $row ['spelare'];


    } 

}
?>

But I don't get a result. All I get is a blank page. Why is that?




feyd | Please use

Code: Select all

and

Code: Select all

tags where approriate when posting code. Read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url][/color]

Posted: Sat Sep 03, 2005 11:40 pm
by josh
you probably have an error with your query or something, check to see if mysql_query is returning false

Posted: Sat Sep 03, 2005 11:53 pm
by MockY
I added
or die(mysql_error());
after $result = mysql_query("SELECT * FROM sotd WHERE Grupp LIKE '%{$_POST['query']}%'")

Would that do it?

I still get a blank page.

Posted: Sun Sep 04, 2005 1:49 pm
by MockY
Ok now I'm finally done with the code. Everything works just great.
So I'm pasting it here in case anyone else needs a code like this.
ofcoiurse change the code to your personal needs.

Code: Select all

<?php 
$username = "user"; 
$password = "pass"; 
$hostname = "localhost";  
$db = "sotdtest"; 
 
$dbh = mysql_connect($hostname, $username, $password) or die(mysql_error()); 
$selected = mysql_select_db($db) or die(mysql_error()); 

if (!empty($_GET['query'])) { 

    $sql = " 
    SELECT * FROM sotd 
    WHERE Grupp LIKE '%{$_GET['query']}%' OR lat LIKE '%{$_GET['query']}%' OR 
    spelare LIKE '%{$_GET['query']}%' 
    ORDER BY Grupp, Lat, Spelare 
    "; 
    $result = mysql_query($sql) or die("SQL: $sql <br>".mysql_error()); 

    if (mysql_num_rows($result) > 0) 
        while($r = mysql_fetch_assoc($result)) 
            echo "<p>{$r['Grupp']}<br />{$r['Lat']}<br />{$r['Spelare']}</p>"; 
    else 
        echo "Nothing found on that query \"{$_GET['query']}\""; 
} 

else 
    echo "No search word used";

?>