0

can anybody help me with this? i know my sql is right but all i get is "there are no listings" EDIT: if there us anyone here, can you take a look at the updated SQL? its just returning multiples of the data?

Getsearch.php

       <?php
include("config.php");

 $partialsearch = $_POST['partialsearch'];

   $mysearch = ""select games.game_id,games.game_name, games.game_description,  
genre.genretype, games.gamepic, developer.dev_name,developer.dev_id,      developer.devpic, sub_genre.sub_g
 from games 
  inner join genre on genre.genre_id=games.genre_id
   inner join developer on developer.dev_id=games.dev_id
     inner join sub_genre on sub_genre.sub_id=games.Sub_g
    like games.game_name = '%".$partialsearch."%'";
  $result = mysqli_query($connection, $mysearch);
  if (mysqli_num_rows($result) > 0)
  while($row = mysqli_fetch_array($result))
 {
    $name = $row['game_name'];
   echo $name;
 }
else {
echo "there are no listings";
}


 ?> 

here is the input box

 <div id ="search">
 <h1>Looking for Something?</h1>
 <input type"text" onkeyup="getsearch(this.value)"/>
 </div>

the script

<script type="text/javascript">
 function getsearch(value){
$.post("getsearch.php",{partialsearch:value}, function(data){
$('#results').html(data);   
 });
 }

cript source

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

3 Answers3

4

Fix the query -

$mysearch = "SELECT game_name from games WHERE game_name LIKE '%". $partialsearch. "%'";

Add the brackets -

if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_array($result)) {
        $name = $row['game_name'];
        echo $name;
    }
} else {
    echo "there are no listings";
}
Sougata Bose
  • 31,517
  • 8
  • 49
  • 87
2

Your sql query is not right.

Instead of

$mysearch = "SELECT game_name from games WHERE game_name LIKE'%partialsearch%'";

use

$mysearch = "SELECT game_name from games WHERE game_name LIKE '%".$partialsearch."%'";

You were always looking for game what is named like "partialsearch", not what you have in input. You have to set variable value there.

And you are missing bracket.

if (mysqli_num_rows($result) > 0){
  while($row = mysqli_fetch_array($result))
  {
    $name = $row['game_name'];
    echo $name;
  }
} // This bracket was missing
else {
  echo "there are no listings";
}
Rene Korss
  • 5,414
  • 3
  • 31
  • 38
1

change your query

$mysearch = "SELECT game_name from games WHERE game_name LIKE'%".$partialsearch."%'";
Sougata Bose
  • 31,517
  • 8
  • 49
  • 87
user3386779
  • 6,883
  • 20
  • 66
  • 134