PHP Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsProgramming LanguagesPHP Development

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 Dev Shed Forums Sponsor:
  #1  
Old January 19th, 2000, 10:35 AM
luna_securit luna_securit is offline
Junior Member
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jan 2000
Posts: 5 luna_securit User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 0
Trying to get away from access and asp I
recently read Website Database Basics With PHP and MySQL by Thomas Kehoe Good tutorial - I learned a lot ! my problem? is how do you search on an array ? I am currently use explode to split a variable up into parts with a space delimiter but now I need to do a query in mysql using this array - how ? eg say the variable was "yellow dog" I need to search the database for all occurances of yellow,dog and yellow dog. ie sample result would be :- yellow dog yellow cat black dog purple dog yellow cow possible ?
Oh yes I have RTFM i been bashing my head against a wall for two days now !



[This message has been edited by luna_securit (edited January 19, 2000).]

Reply With Quote
  #2  
Old January 19th, 2000, 11:07 AM
rod k rod k is offline
Apprentice Deity
Dev Shed Loyal (3000 - 3499 posts)
 
Join Date: Jul 1999
Location: Niagara Falls (On the wrong side of the gorge)
Posts: 3,237 rod k User rank is Private First Class (20 - 50 Reputation Level)rod k User rank is Private First Class (20 - 50 Reputation Level) 
Time spent in forums: 4 m 8 sec
Reputation Power: 17
Send a message via AIM to rod k
You would have to dynamically create your query since you don't know how many words would be used in the search. Let's say you want to return the entire row, $ary contains the split words, and 'data' is the field you are searching on:

$query="select * from table where ";
while ($datum=each($ary))
{
$query.="data LIKE '%$datum[value]%' OR ";
}
// strip off the last 'OR'
$query=substr($query,0,-4);

Then run your query. NOTE: this code is untested.

[This message has been edited by rod k (edited January 19, 2000).]

[This message has been edited by rod k (edited January 19, 2000).]

Reply With Quote
  #3  
Old January 19th, 2000, 11:17 AM
luna_securit luna_securit is offline
Junior Member
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jan 2000
Posts: 5 luna_securit User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 0
Thanks for you reply - but where would it fit in this ??

$pieces = explode(" ", $Description);

print $Description;
print $pieces[0];

if ($ManPart == "")
{$ManPart = '%';}

if ($Franchise == "")
{$Franchise = '%';}

$result = mysql_query ("SELECT * FROM oldparts
WHERE Partno LIKE '%$Partno%'

AND Description LIKE '%$Description%; // this is the field I need the array search on... would it be something like this ???? ->
while ($datum=each($pieces))
{
$query.="$Description LIKE '%$datum[value]%' OR ";
}
// strip off the last 'OR'
$query=substr($query,0,-4); <--

AND ManPart LIKE '%$Manpart%'
AND Franchise LIKE '%$Franchise%'
") or die("no records found") ;

[This message has been edited by luna_securit (edited January 19, 2000).]

[This message has been edited by luna_securit (edited January 19, 2000).]

Reply With Quote
  #4  
Old January 19th, 2000, 11:28 AM
rod k rod k is offline
Apprentice Deity
Dev Shed Loyal (3000 - 3499 posts)
 
Join Date: Jul 1999
Location: Niagara Falls (On the wrong side of the gorge)
Posts: 3,237 rod k User rank is Private First Class (20 - 50 Reputation Level)rod k User rank is Private First Class (20 - 50 Reputation Level) 
Time spent in forums: 4 m 8 sec
Reputation Power: 17
Send a message via AIM to rod k
Yes, except:

$query.="$Description LIKE '%$datum[value]%' OR ";


should be

$query.="Description LIKE '%$datum[value]%' OR ";

no $ in front of the field name

and you need an OR after Description LIKE '%$Description%'


[This message has been edited by rod k (edited January 19, 2000).]

Reply With Quote
  #5  
Old January 20th, 2000, 07:02 AM
luna_securit luna_securit is offline
Junior Member
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Jan 2000
Posts: 5 luna_securit User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 0
Nothing seems to work

I tried the above and I get a parse error with the line :-
$query.="'%$datum[value]%' AND Description LIKE ";

so I created a variable using the code
so it looked like this :-

$pieces = explode(" ", $Description);

$query="LIKE ";
while ($datum=each($pieces))
{
$query.="'%$datum[value]%' AND Description LIKE ";
}
// strip off the last 'AND'
$query=substr($query,0,-21);

this returned when printed :-

LIKE '%water%' AND Description LIKE '%pump%'

great now all I had to do was :-

$result = mysql_query ("SELECT * FROM oldparts
WHERE Partno LIKE '%$Partno%'
AND Description '$query' // should equal LIKE '%water%' AND Description LIKE '%pump%
AND ManPart LIKE '%$Manpart%'
AND Franchise LIKE '%$Franchise%'

this in theory shoud've worked but I get a :-

Warning: 0 is not a MySQL result index in c:localhostsearchform.php3 on line 48

I've tried allsorts help ?



Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming LanguagesPHP Development > newbie alert! php&mysql arrays

Developer Shed Advertisers and Affiliates



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

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


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap