i want to search the database mysql and i want to find similar links

lets say i have this links in the database
------------------------------------------------------------
www.dsdxa.com/23432324/dswd2.rar
www.dsdxa.com/2423432/dswd4.rar
www.dsdxa.com/34242/dswd3.rar
www.dsdxa.com/34242/dsadsad3.rar
www.dsadwa.com/34242/dssqasd3.rar

--------------------------------------------------------------
and i want to search for all the links that look like
www.dsdxa.com/34242/dswd1.rar
want the command to output
www.dsdxa.com/23432324/dswd2.rar
www.dsdxa.com/2423432/dswd4.rar
www.dsdxa.com/34242/dswd3.rar

and not
www.dsdxa.com/34242/dsadsad3.rar
www.dsadwa.com/34242/dssqasd3.rar
------------------------------------------------------------------
i know this command the like command but its not working as u want
----------------------------------------------------------------------
thanks
mgtm3Asked:
Who is Participating?
 
wellsoCommented:
have you thought about using a FULLTEXT index?

http://www.onlamp.com/pub/a/onlamp/2003/06/26/fulltext.html
0
 
Sander StadSysteemontwikkelaar, Database AdministratorCommented:
In deed you need the "LIKE" command to get those values. Can you show me the query you originally created that doesn't work?
0
 
mgtm3Author Commented:
     $query = "    SELECT * FROM ddd WHERE d_link LIKE '%$link%'; ";
0
Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

 
mgtm3Author Commented:
soo anyone?
0
 
Sander StadSysteemontwikkelaar, Database AdministratorCommented:
Because you want to search for links in a database that start with a certain string you'd like to split the string before searching for it.
The code below creates an array with all the pieces of the url split by the "/". Than a query is set up to get all the needed results. After that the results are displayed.


<?php
$link = "www.dsdxa.com";
$pieces = explode("/", $link);
 
$query = "SELECT * FROM {tablename} WHERE {column} LIKE \"%$pieces[0]%\";";
 
$results = mysql_query($query);
 
while($row = mysql_fetch_array($results)){
  echo "$row['{column}']";
}
 
?>

Open in new window

0
 
mgtm3Author Commented:
no thats to long i want something fast like the match command
0
 
Sander StadSysteemontwikkelaar, Database AdministratorCommented:
How do you man it is too long. I only gave an example how you can test it. You don't have to use the whole code. You only have to use the the first 5 rows. The rest is just meant as an example.
By the way you'd have to use the rest in some way because you'd have to execute the query against the database.
 
0
 
mgtm3Author Commented:
i mean it takes alout of time i have a huge database
now its 6 million rows
0
 
Sander StadSysteemontwikkelaar, Database AdministratorCommented:

I think you misunderstood what I meant with the code to split up the searchstring. The reason why I split up the searchstring is that you want to be able to find a part of the string in your database.
You'll probably only want to search for the first part of a url and that is what you'll get with the code I posted. You can even create an if-statement to search the rest of the database with rest of the pieces of url that are in the searchstring if there is no result in the first part.
I didn't mean that you'd have to split up every url in the 6 million row database. Only the searchstring that somebody or something sends to the server to search for.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.