I am trying to join tables for a search form, and when I do the search exports the result x3 the output could you guys give me a hand please?
$raw_results = mysqli_query($db,"SELECT * FROM inventoryuser, inventorypc
WHERE (`firstname` LIKE '%".$query."%')
OR (`lastname` LIKE '%".$query."%')
OR (`department` LIKE '%".$query."%')
")
or die(mysqli_error($db));
The output
I need to search inventorypc for pc_model and pc_serial that's under a different table.
My tables are:
CREATE TABLE `inventoryuser` ( `userid` INT(11) NOT NULL AUTO_INCREMENT, `firstname` VARCHAR(30) NOT NULL, `lastname` VARCHAR(30) NOT NULL, `department` VARCHAR(30) NOT NULL, PRIMARY KEY (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `inventorypc` ( `pcid` INT(11) NOT NULL AUTO_INCREMENT, `pc` VARCHAR(30) NOT NULL, `jcid` VARCHAR(30) NOT NULL, `job_number` VARCHAR(30) NOT NULL, `product_id` VARCHAR(30) NOT NULL, `pc_model` VARCHAR(30) NOT NULL, `pc_serial` VARCHAR(30) NOT NULL, `software` VARCHAR(30) NOT NULL, PRIMARY KEY (`pcid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
And I the code I have is
$query = $_GET['query']; // gets value sent over search form $min_length = 2; // you can set minimum length of the query if you want if(strlen($query) >= $min_length){ // if query length is more or equal minimum length then $query = htmlspecialchars($query); // changes characters used in html to their equivalents, for example: 0){ // if one or more rows are returned do following echo " First Name Last Name Company Laptop Company Mobile Department Actions "; while($results = mysqli_fetch_array($raw_results)){ // $results = mysql_fetch_array($raw_results) puts data from database into array, while it's valid it does the loop echo " ".$results['firstname']." ".$results['lastname']." ".$results['pc']." ".$results['mobile']." ".$results['department']." View Edit Delete "; } } else{ // if there is no matching rows do following echo "No results"; } } else{ // if query length is less than minimum echo "Minimum length is ".$min_length; } echo " ";