Jump to content

Search the Community

Showing results for tags 'search'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Welcome to PHP Freaks
    • Announcements
    • Introductions
  • PHP Coding
    • PHP Coding Help
    • Regex Help
    • Third Party Scripts
    • FAQ/Code Snippet Repository
  • SQL / Database
    • MySQL Help
    • PostgreSQL
    • Microsoft SQL - MSSQL
    • Other RDBMS and SQL dialects
  • Client Side
    • HTML Help
    • CSS Help
    • Javascript Help
    • Other
  • Applications and Frameworks
    • Applications
    • Frameworks
    • Other Libraries
  • Web Server Administration
    • PHP Installation and Configuration
    • Linux
    • Apache HTTP Server
    • Microsoft IIS
    • Other Web Server Software
  • Other
    • Application Design
    • Other Programming Languages
    • Editor Help (Dreamweaver, Zend, etc)
    • Website Critique
    • Beta Test Your Stuff!
  • Freelance, Contracts, Employment, etc.
    • Services Offered
    • Job Offerings
  • General Discussion
    • PHPFreaks.com Website Feedback
    • Miscellaneous

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL








Donation Link

Found 11 results

  1. Hi all, I am working on a search script which searches article titles from the table. i have worked out the function, but have not been able to add an error message if the results are zero. my class file has this following function public function search($table){ $search=$_GET['search']; if ($this->databaseConnection()) { $sql="SELECT * FROM $table WHERE title LIKE '%$search%'"; $q = $this->db_connection->query($sql) or die("failed!"); while($r = $q->fetch(PDO::FETCH_ASSOC)){ $data[]=$r; } return $data; } } my results page has the following code <?php foreach($crud->search("articles") as $value){ extract($value); echo <<<show <p>" <a href="view.php?article_id=$article_id">$title</a> "</p> <br> show; } ?> would be highly obliged if anyone can help me out. apologies if this is a stupid question, but i am pretty much an amateur still. regards, Nayan
  2. I am developing a database application using Yii Framework. I am reading tables from MySQL database and displaying them to the user. I need the user to be able to filter the fields in the table or search for a certain value. For example, I have a table named "supermarkets": CREATE TABLE IF NOT EXISTS `supermarkets` ( `name` varchar(71) NOT NULL, `location` varchar(191) DEFAULT NULL, `telephone` varchar(68) DEFAULT NULL, `fax` varchar(29) DEFAULT NULL, `website` varchar(24) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; .../model/supermarkets: <?php namespace app\models; use yii\db\ActiveRecord; class Supermarkets extends ActiveRecord { } .../views/supermarkets/index.php: <?php use yii\helpers\Html; use yii\widgets\LinkPager; ?> <h1>Supermarkets</h1> <ul> <?php $array = (array) $supermarkets; function build_table($array){ // start table $html = '<table class="altrowstable" id="alternatecolor">'; // header row $html .= '<tr>'; foreach($array[0] as $key=>$value){ $html .= '<th>' . $key . '</th>'; } $html .= '</tr>'; // data rows foreach( $array as $key=>$value){ $html .= '<tr>'; foreach($value as $key2=>$value2){ $html .= '<td>' . $value2 . '</td>'; } $html .= '</tr>'; } // finish table and return it $html .= '</table>'; return $html; } echo build_table($array); ?> ....Controllers/SupermarketsController: <?php namespace app\controllers; use yii\web\Controller; use yii\data\Pagination; use app\models\Supermarkets; class SupermarketsController extends Controller { public function actionIndex() { $query = supermarkets::find(); $pagination = new Pagination([ 'defaultPageSize' => 20, 'totalCount' => $query->count(), ]); $supermarkets = $query->orderBy('Name') ->offset($pagination->offset) ->limit($pagination->limit) ->all(); return $this->render('index', [ 'supermarkets' => $supermarkets, 'pagination' => $pagination, ]); } } I need the user to be able to filter the table or search its fields by one or more attribute. I'm using Yii2, so CDbcriteria doesn't work. How can I do this?
  3. For starters, I have only been using PHP for about 2 months now. So, if you feel that there is something I should know, please feel free. I'm all ears. Secondarily, I have been working on this for a couple weeks now and have tried several different angles. I've been to the manual a thousand times, gotten a few bits of advice from Stack Overflow, and looked through YouTube, which is where I found this tutorial: This one. So, I've been through this tutorial a few times. I recreated the search in the video, and now I'm attempting to convert elements of it to my own project. Problem is, it doesn't seem to be parsing things correctly. I will try to explain below. Here is a hastebin with the original code from the video: index page and functions page. And here is my code: search page and functions page. Basically, this code accepts a bunch of values from possible inputs, parses them, and then creates a custom SQL statement. In the original code, the 'locations' are a bunch of checkboxes and one or more can be selected, and the SQL statement is verbose and complex. In my code, the 'categories' are a bunch of checkboxes where one or more can be selected, and the SQL statement is much simpler. That's really why I can't figure out what is going wrong. Here are a few things I have tried so far: 1) I commented out the code and used a generic SQL statement, to make sure the values were being queried and displayed correctly. They were. 2) I've watched the tutorial several times to make sure I have the code correct, and as far as I can tell, I do. 3) I've checked the content of variables, etc., to make sure they are getting sent properly, which they appear to be. 4) Since nothing is coming up as a result of this search currently, I removed some of the NOT symbols (!) from the code, and, lo and behold, everything is now a search result. (In other words, it is either ALL or NOTHING. Not very helpful for a search function.) This is what makes me think things are not getting parsed correctly. I hope this is enough information to get you started. If not, let me now what else I can offer. Thanks for any assistance you can offer!
  4. Hi Im new here.. Im a PHP noo-b i have this simple code with sorting and pagination with dummy data (firstname,lastname,age) I would like to add some simple search to it..im not sure if im doing this right currentlty the search is not working properly for testing purpose, right now i limit 3 records per page a. when i search record and search result is display..Pagination link is still display even i have only 1record search result b. if i have 4 records found, when i click the 2nd page, the search result is gone and table is back to default view c. in table default view, clicking 2nd page and try to search record, records are not found because its looking under the 2nd page and not all of the table sorry for my English <!doctype html public "-//w3c//dtd html 3.2//en"> <html> <head> <title>Paging</title> </head> <body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000"> <form method="post" action="" > <br />Search <input type="text" name="search" /> <input type="submit" value="Search"/></form><br /> <?php require "connect.php"; // All database details will be included here // define values the rest of the code uses $table = 'person'; // database table name $sorts = array('firstname'=>'First Name','lastname'=>'Last Name','age'=>'Age'); // list of permissible sort choices $sort_bys = array('asc','desc'); // list of permissible order by choices $limit = 3; // No of records to be shown per page. // condition inputs/set default values $start = (isset($_GET['start'])) ? (int)$_GET['start'] : 0; // default to starting row 0 if not specified $sort = (isset($_GET['sort'])) ? $_GET['sort'] : 'firstname'; // default to firstname if not specified $sort_by = (isset($_GET['sort_by'])) ? $_GET['sort_by'] : 'asc'; // default to asc if not specified // validate sort input (used as a keyword in query statement) if(!array_key_exists($sort,$sorts)){ $sort = 'firstname'; // default to firstname } // validate sort_by input (used as a keyword in query statement) if(!in_array($sort_by,$sort_bys)){ $sort_by = 'asc'; // default to asc } $eu = $start; $this1 = $eu + $limit; $back = $eu - $limit; $next = $eu + $limit; // get opposite sort_by value for producing toggle links in the table heading (only) if($sort_by == 'asc'){ $sort_order = 'desc'; } else { $sort_order = 'asc'; } /////////////// WE have to find out the number of records in our table. We will use this to break the pages/////// $query="SELECT COUNT(*) FROM $table"; $result=mysql_query($query); //echo $query, mysql_error(); list($nume) = mysql_fetch_row($result); /////// The variable nume above will store the total number of records in the table//// /////////// Now let us print the table headers //////////////// $bgcolor="#f1f1f1"; echo "<table border='1'>" ; echo "<tr> <th>ID</th>"; // dynamically produce choices/columns foreach($sorts as $key=>$value){ echo "<th><a href='?sort=$key&sort_by=$sort_order'>$value</a></th>"; } echo "</tr>"; ////////////// Now let us start executing the query with variables $eu and $limit set at the top of the page/////////// //$query="SELECT * FROM $table ORDER BY $sort $sort_by limit $eu, $limit"; $query="SELECT * FROM $table where firstname like '%" . $_POST['search'] . "%' or lastname like '%" . $_POST['search'] . "%' or age like '%" . $_POST['search'] . "%' ORDER BY $sort $sort_by limit $eu, $limit"; $result=mysql_query($query); //echo $query, mysql_error(); $count = (isset($eu) && $eu > 0) ? $eu+1 : 1; //////////////// Now we will display the returned records in side the rows of the table///////// while($rows = mysql_fetch_array($result)){ // toggle bgcolor if($bgcolor=='#f1f1f1'){$bgcolor='#ffffff';} else{$bgcolor='#f1f1f1';} echo "<tr >"; echo "<td align=left bgcolor=$bgcolor id='title'> <font face='Verdana' size='2'>"; echo $count++; echo "</font></td>"; echo "<td>$rows[firstname]</td>"; echo "<td>$rows[lastname]</td>"; echo "<td>$rows[age]</td>"; echo "</tr>"; } echo "</table>"; ////////////////////////////// End of displaying the table with records //////////////////////// /////////////////////////////// if($nume > $limit ){ // Let us display bottom links if sufficient records are there for paging /////////////// Start the bottom links with Prev and next link with page numbers ///////////////// echo "<table align = 'center' width='50%'><tr><td align='left' width='30%'>"; //// if our variable $back is equal to 0 or more then only we will display the link to move back //////// if($back >=0){ $_GET['start'] = $back; // only modify the 'start' value, all others left as is $q = http_build_query($_GET,'','&'); print "<a href='?$q'><font face='Verdana' size='2'>PREV</font></a>"; } //////////////// Let us display the page links at center. We will not display the current page as a link /////////// echo "</td><td align=center width='30%'>"; $i=0; $l=1; for($i=0;$i < $nume;$i=$i+$limit){ if($i <> $eu){ $_GET['start'] = $i; // only modify the 'start' value, all others left as is $q = http_build_query($_GET,'','&'); echo " <a href='?$q'><font face='Verdana' size='2'>$l</font></a> "; } else { echo "<font face='Verdana' size='4' color=red>$l</font>";} /// Current page is not displayed as link and given font color red $l=$l+1; } echo "</td><td align='right' width='30%'>"; ///////////// If we are not in the last page then Next link will be displayed. Here we check that ///// if($this1 < $nume){ $_GET['start'] = $next; // only modify the 'start' value, all others left as is $q = http_build_query($_GET,'','&'); print "<a href='?$q'><font face='Verdana' size='2'>NEXT</font></a>"; } echo "</td></tr></table>"; }// end of if checking sufficient records are there to display bottom navigational link. include "menu.php"; ?>
  5. I'm rather new to PHP, and I've run into a problem develeoping this script that I can't figure out. It's fairly simple in that it fetches the user input via a search box and cross references it against a blacklist and whitelist in the form of two seperate .txt. files. However, the enclosed code seems to ignore the second if statement and will always return "unknown website" even if users' input is in the blacklist. The first if statement works correctly though, so I'm a little bit lost as to where I've gone wrong. I'm also not sure how I shoud approach implementing case sensentivity and checking if the user input contains a specfiic word that's on a line. For example, if a user inputted phpfreaks into the search box it would still come out as legimtmate even though I didn't specifically state phpfreaks (it would be the full url, e.g. phpfreaks.com) in the whitelist txt file. From my research I would think the strpos function or preg_match might work, but I'm not sure how I should put it in there. <?php $search = $_POST['search']; $blacklist = file_get_contents("illegitimatesites.txt"); $whitelist = file_get_contents("legitimatesites.txt"); $blacklist = explode("\n", $blacklist); $whitelist = explode("\n", $whitelist); if(in_array($_POST['search'], $whitelist)){ //checks if site is in array echo "This website is an authorised distributor"; } else{ if(in_array($_POST['search'], $blacklist)){ //checks if site is in array echo "This website is NOT an authorised distributor"; } else{ echo "Unknown website"; } } ?>
  6. I currently have a fulltext search that works. It matches against a item title column in mysql database. Now I would like to include another column to match against. How can that be done properly? Here's my code. Where it says MATCH, I would like to include the type_1 column as well; like this(type_1.type_1_name). $get_records = $db->prepare("SELECT items.*, type_1.* FROM items LEFT JOIN type_1 ON items.type_1 = type_1.type_1_id WHERE MATCH(items.item_title) AGAINST('$search_query' IN BOOLEAN MODE) ORDER BY items.item_id DESC LIMIT {$limit} OFFSET ".$offset); $get_records->execute(); $result_records = $get_records->fetchAll(PDO::FETCH_ASSOC); if(count($result_records) > 0){ foreach($result_records as $row) { // get results } }
  7. help me, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''%jateng%' WHERE (`kabupaten` LIKE '%demak%') OR (`kecamatan` LIKE ' at line 1" <?php $query = $_GET['query']; $select = $_GET['select']; // gets value sent over search form $min_length = 3; // 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: < to > $query = mysql_real_escape_string($query); // makes sure nobody uses SQL injection $raw_results = mysql_query("SELECT * FROM '%".$select."%' WHERE (`kabupaten` LIKE '%".$query."%') OR (`kecamatan` LIKE '%".$query."%')") or die(mysql_error()); // * means that it selects all fields, you can also write: `id`, `title`, `text` // articles is the name of our table // '%$query%' is what we're looking for, % means anything, for example if $query is Hello // it will match "hello", "Hello man", "gogohello", if you want exact match use `title`='$query' // or if you want to match just full word so "gogohello" is out use '% $query %' ...OR ... '$query %' ... OR ... '% $query' if(mysql_num_rows($raw_results) > 0){ // if one or more rows are returned do following while($results = mysql_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 "<tr><td>".$results['provinsi']."</td>" ."<td>".$results['kabupaten']."</td>" ."<td>".$results['kecamatan']."</td>" ."<td>".$results['desa']."</td>" ."<td>".$results['kodepos']."</tr>"; // posts results gotten from database(title and text) you can also show id ($results['id']) } } 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; } ?>
  8. editor.php: <form action="somesense.php" ... j=new XMLHttpRequest(); j.open("POST","updatenine.php" ... j.open("GET","lb.php? IN RESULT: (editor.php contains) For example, all three files one by one have been being put into array by echoing it with strpos (from that large variable). When searching is under way and strpos comes with it's results ".php" it adds all letters/numbers (until some other leading character). For example for the first strpos finds: "lb.php? .php and adds lb, finishing with lb.php , cutting " and ? from the found line (from code). It cuts " and ? because those symbols aren't proper file names. ----- ----- First found Find pathnames matching a pattern - http://php.net/glob with it's array glob(string pattern [, int flags]) Seems to have some limits, imposed on the forms of representation. I would intend to search within large files. from php's man: "common shells" aren't the best choice for the large-scaled searches. What would you recommend?
  9. hello mate, im having problem making a search criteria work.... i have a field named fullname, inside that field i have a data eg: "Robert Williams" Im trying to use LIKE on mysql statement such as SELECT fullname FROM clients WHERE fullname LIKE '%keyword%' keyword being any character from the name "Robert Williams". but when i tried to search "Williams R" it will not show me "Robert Williams"... Then, how can i make it so that when i search for "Williams R" it will also show me "Robert Williams" What im trying to attain here is to search any name in any order whether firstname first of lastname first. Thank you in advance. Cheers! Neil
  10. Hi. I have a list of products and each have parts which in turn have their own codes. I need to find the correct part when I have the code. So in the example below, I already have the code '8R195'. I want to check through all the arrays and find which one contains this code, so the output would be A in this case. Any help greatly appreciated $item1 => Array ( ('A') => array('825R15', '825R16', '65R17', '21575R175', '8R195'), ('B') => array('10R225', '825x20', '900R20'), ('C') => array('15R225', '29575R225', '30570R225', '38565R225') )
  11. I want to have a search form in one page which has 2 text input fields and a search button. the output should be search results based on below logic: Input1 - category 1 Input2 - category2, common products of category 1 and 2 should be displayed in the search results. I have tried the below code which returns a blank page: Page code: <form action="http://mysite/wp-content/themes/test.php" method="post" name="SearchForm">Cat1 <input id="cat1" name="cat1" type="text" /> Cat2 <input id="cat2" name="cat2" type="text" /> <input type="submit" value="Search" /></form> Test.php contents: <?php $cat1=$_POST["cat1"]; $cat2=$_POST["cat2"]; define('WP_USE_THEMES', false); require_once('../../wp-load.php'); $args = array( 'post_type' => 'product', 'posts_per_page' => 50, 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => $cat1 ), array( 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => $cat2 ) ), ); $loop = new WP_Query( $args ); if ( $loop->have_posts() ) { while ( $loop->have_posts() ) : $loop->the_post(); endwhile; } wp_reset_postdata(); ?> And I am searching with 'cat1' and 'cat2' as inputs in the search form, the slugs for categories are cat1 and cat2 defines in Wordpress. Please help me I am new to PHP. Thanks
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.