PHP Coding
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Codewalkers ForumsPHP RelatedPHP Coding

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Codewalkers Forums Sponsor:
  #1  
Old November 13th, 2009, 05:42 PM
LLX LLX is offline
Contributing User
Codewalkers Beginner (1000 - 1499 posts)
 
Join Date: Apr 2007
Location: Glendale, CA, USA
Posts: 1,293 LLX User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 2 Days 18 h 36 m 30 sec
Reputation Power: 4
Send a message via AIM to LLX Send a message via Yahoo to LLX
php5 - A case for Preg match?

This one seemed simple at first but it's just not working like i expected.

Anyway the idea is simple.
POST a subject to search with, the code scans the DB and spits out links to every page that uses that content

$querystring4='SELECT * FROM Content WHERE Status = 1 AND IN Copy = "'.mysql_real_escape_string($_POST['searchword']).'"';

But it's just giving me a bad syntax error when i try to search using the IN operator on the Copy field.
__________________
29 years of creative writing
13 years of HTML
10 years of Photoshop
6 years of PHP/MySQL
And I never knew Photoshop could do HTML until 2004!
You learn something new every day.

Reply With Quote
  #2  
Old November 13th, 2009, 05:57 PM
IAmALlama IAmALlama is offline
Me
Click here for more information. Click here for more information
 
Join Date: Apr 2007
Location: San Diego, CA
Posts: 2,069 IAmALlama User rank is Private First Class (20 - 50 Reputation Level)IAmALlama User rank is Private First Class (20 - 50 Reputation Level) 
Time spent in forums: 1 Week 6 Days 8 h 5 m 11 sec
Reputation Power: 5
your using it wrong. IN works mostly like the php function in_array() but instead of an array you can use a sub query to pull back one column from a table or you can pass a comma separated list of strings instead. If your search is supposed to be a partial match, you should use LIKE '$search%'. that will pull back any string starting with $search. if it is an exact match then you can just use the good ol' "=" and if you want more like an actual search engine where multiple words are matches and rows are pulled back based on how close they match all/some of a string then you will want to look into a full_text search which you specify a column to create a full_text index on and it will go through and map all the words in the column with their frequency of use and return results that best match the string entered.

Reply With Quote
  #3  
Old November 13th, 2009, 06:00 PM
LLX LLX is offline
Contributing User
Codewalkers Beginner (1000 - 1499 posts)
 
Join Date: Apr 2007
Location: Glendale, CA, USA
Posts: 1,293 LLX User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 2 Days 18 h 36 m 30 sec
Reputation Power: 4
Send a message via AIM to LLX Send a message via Yahoo to LLX
Quote:
Originally Posted by IAmALlama
your using it wrong. IN works mostly like the php function in_array() but instead of an array you can use a sub query to pull back one column from a table or you can pass a comma separated list of strings instead. If your search is supposed to be a partial match, you should use LIKE '$search%'. that will pull back any string starting with $search. if it is an exact match then you can just use the good ol' "=" and if you want more like an actual search engine where multiple words are matches and rows are pulled back based on how close they match all/some of a string then you will want to look into a full_text search which you specify a column to create a full_text index on and it will go through and map all the words in the column with their frequency of use and return results that best match the string entered.


Sooooo....
$querystring4='SELECT * FROM Content WHERE Status = 1 AND Copy LIKE "'.mysql_real_escape_string($_POST['searchword']).'"';
??

Where can i find out more info about "full_text" as well?

Reply With Quote
  #4  
Old December 17th, 2009, 02:23 PM
LLX LLX is offline
Contributing User
Codewalkers Beginner (1000 - 1499 posts)
 
Join Date: Apr 2007
Location: Glendale, CA, USA
Posts: 1,293 LLX User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 2 Days 18 h 36 m 30 sec
Reputation Power: 4
Send a message via AIM to LLX Send a message via Yahoo to LLX
Quote:
Originally Posted by LLX
Sooooo....
$querystring4='SELECT * FROM Content WHERE Status = 1 AND Copy LIKE "'.mysql_real_escape_string($_POST['searchword']).'"';
??

Where can i find out more info about "full_text" as well?


just pinging the forum as i'm still a little confused here

Reply With Quote
  #5  
Old December 18th, 2009, 12:48 AM
IAmALlama IAmALlama is offline
Me
Click here for more information. Click here for more information
 
Join Date: Apr 2007
Location: San Diego, CA
Posts: 2,069 IAmALlama User rank is Private First Class (20 - 50 Reputation Level)IAmALlama User rank is Private First Class (20 - 50 Reputation Level) 
Time spent in forums: 1 Week 6 Days 8 h 5 m 11 sec
Reputation Power: 5
mysql manual on full text searching
http://dev.mysql.com/doc/refman/5.0...ext-search.html

tutorial on using full text searching
http://devzone.zend.com/article/1304

Reply With Quote
Reply

Viewing: Codewalkers ForumsPHP RelatedPHP Coding > php5 - A case for Preg match?


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump




 Free IT White Papers!
 
Create the Optimal Architecture for your Critical Applications
Warburton's the largest independently owned bakery in the UK faced a number of difficult challenges in providing the most robust yet efficient IT infrastructure for their organization's success. IBM's services combined with their xSeries servers created the perfect platform for their SAP environment with sufficient flexibility, and did so in very time effective fashion.

Request Your Free Technology Downloads!
 
Five Best Practices for Deploying a Successful Service-Oriented Architecture
This white paper describes the benefits you can expect with SOA, and how IBM can help take your business there.

Request Your Free Technology Downloads!
 
Gartner Magic Quadrant for Application Delivery Controllers
Gartner summarizes its view on Application Delivery Controllers, evaluates strengths and weaknesses of solutions, and provides Magic Quadrant reporting for a quick comparison across all vendors. Learn from Gartner how you can benefit from an all-in-one device like Citrix NetScaler that delivers the highest levels of availability, performance and security.

Request Your Free Technology Downloads!
 
Knowledge is Power
What you don't know can hurt you, and is likely costing you money and increasing your security risks during an era of scarce resources. This white paper proposes six key strategies that enterprise security managers can use to improve their network defense posture.

Request Your Free Technology Downloads!
 
Rationalizing the Multi-Tool Environment
The rationalized multi-tool approach is flexible, scalable and cost effective. It provides the necessary input to the IT service management business processes. It preserves prior investments in monitoring tools, empowers technologists to select the best tools with which to do their jobs, and enhances effective response to incidents.

Request Your Free Technology Downloads!
 

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 




© 2003-2010 by Developer Shed. All rights reserved. DS Cluster 12 Hosted by Hostway
For more Enterprise Application Development news, visit eWeek