DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/)
-   MySQL (http://www.daniweb.com/forums/forum126.html)
-   -   mysql search and display data help.... (http://www.daniweb.com/forums/thread51643.html)

desiguru Aug 2nd, 2006 11:15 pm
mysql search and display data help....
 
First of all this is a crazy thing I have just done.. so please sit back and read the whole post.............. Today I finished my math final and decided to learn a new programming language..... MYSQL. So I was able make my way to http://www.freewebmasterhelp.com/tutorials/phpmysql using Google I followed most of the tutorial and got the database setup... up until part 4; Everything works great and now I am just curious that how can I make a small page called search.php in which I can make a small search box. and have only one result display from the MySQL?

pritaeas Aug 3rd, 2006 4:12 am
Re: mysql search and display data help....
 
Create a html form like this:
<form action="search.php" method="post">
<input type="text" name="search"><br>
<input type="submit">
</form>

search.php
<?php
  $search = "%" . $_POST["search"] . "%";

  mysql_connect ("localhost", "myuser", "mypassword");
  mysql_select_db ("mydatabase");

  $query = "SELECT mycolumn FROM mytable WHERE mycolumn LIKE '$search'";
  $result = mysql_query ($query);
  if ($result) {
    while ($row = mysql_fetch_array ($result)) {
      echo $row[0] . "<br>";
    }
  }
?>

desiguru Aug 3rd, 2006 12:32 pm
Re: mysql search and display data help....
 
I got it to work but it displays only one column instead of showing all of the columns from the database.

Is there anyway I can show all of the columns?

pritaeas Aug 6th, 2006 2:07 pm
Re: mysql search and display data help....
 
if ($result) {
    while ($row = mysql_fetch_array ($result)) {
      foreach ($row as $key => $value) {
        echo "$key = $value<br>";
      }
      echo "<hr>";
    }
  }

homienick Oct 24th, 2007 9:48 am
Re: mysql search and display data help....
 
I'm trying to do just this, but when a persons profile loads, it grabs their user_id as the page is loading, then searches the database for that user_id, and displays the rows it found that contained that user_id.

basically the same thing here, but without the search form.

would i need to change this line, or delete it?:

 $search = "%" . $_POST["search"] . "%";
in the previously posted code:
<?php
  $search = "%" . $_POST["search"] . "%";

  mysql_connect ("localhost", "myuser", "mypassword");
  mysql_select_db ("mydatabase");

  $query = "SELECT mycolumn FROM mytable WHERE mycolumn LIKE '$search'";
  $result = mysql_query ($query);
  if ($result) {
    while ($row = mysql_fetch_array ($result)) {
      echo $row[0] . "<br>";
    }
  }
?>

SheSaidImaPregy Oct 26th, 2007 9:51 am
Re: mysql search and display data help....
 
For all:
all the "%" do is tell MySQL it is a wild card. So "am" with "%am%" pulls up anything with any number of letters before the combo "am" and any number of letters after:

name - n am e
tame - t am e
madam - mad am
ambulance - am bulance

understand? So if you're searching the database for a userid, you do not want the LIKE scenario, you want the normal "userid" not, "%userid%".
Furthermore, "%am" will pull only words beginning with anything but ending with am, like "sam", and same as the other way "am%" pulls words like "ambuleance".

For your search page, if you only want one result, add this line to your SQL query: "LIMIT 1"
This way it will only return one result and not waste memory holding the other 200 results that are being unused.

For homienick
So, following the code above as I am not a PHP programmer, use it like below to pull your users info:
<?php
  $userid = $_POST["userid"];

  mysql_connect ("localhost", "myuser", "mypassword");
  mysql_select_db ("mydatabase");

  $query = "SELECT mycolumn FROM mytable WHERE mycolumn=$userid"
  $result = mysql_query ($query);
  if ($result) {
    //if this userid exists, do your coding here
  }else{
    //if this userid does not exist, do your coding here
  }
?>


All times are GMT -4. The time now is 10:35 pm.

Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC