Gå til innhold

Anbefalte innlegg

Hallo. Driver å skrive en Tag cloud i php. Der tag's lagres i ei kolonne i blog_post tabellen og trenger hjelp til spørringen som skal vise alle poster som feks har tag'en PHP. de forskjellige tagene er skilt med komma eks: php,html,css,mysql,vi

Noen som har noen idè til hvordan få til dette?

Lenke til kommentar
Videoannonse
Annonse
SELECT * FROM blog_post WHERE tags LIKE '%tag%';

I PHP blir det da:

PHP
<?php

$keyword $_GET['key'];

$query "SELECT * FROM blog_post WHERE tags LIKE '%{$keyword}%'";

?>

7025510[/snapback]

 

Løsningen din fungerer i MySQL "console" men via php så returnerer bare alle rader i tabellen.

<?

$keyword = $_GET['key'];

$query = "SELECT * FROM blog_post WHERE tags LIKE '%{$keyword}%'";

$fetch = mysql_query($query);

while($result = mysql_fetch_array($fetch)){

print $result['tags'];

print "<br/>";

} ?>

Endret av hjertnes
Lenke til kommentar
Joda jeg hadde lagt inn verdi i den GET variabelen med ?key=DetJegSøkerEtter.

7027299[/snapback]

Jeg vet at det i seg selv ikke er noen løsning på problemet ditt, men du BØR ta hintet om fulltekstsøk til etteretning. Spørringer med "LIKE '%ettellerannet'" direkte dreper enhver ytelse siden databasemotorene ikke lenger kan bruke indekser til å gjøre oppslag, og voila: Du får tablescan.

Lenke til kommentar
Joda jeg hadde lagt inn verdi i den GET variabelen med ?key=DetJegSøkerEtter.

7027299[/snapback]

Jeg vet at det i seg selv ikke er noen løsning på problemet ditt, men du BØR ta hintet om fulltekstsøk til etteretning. Spørringer med "LIKE '%ettellerannet'" direkte dreper enhver ytelse siden databasemotorene ikke lenger kan bruke indekser til å gjøre oppslag, og voila: Du får tablescan.

7027697[/snapback]

Det høres ut som en langt mer solid løsning. Jeg har aldri hørt om det før, men når jeg leser om det her virker det som at det er mye mer tilrettelagt enn et LIKE '%bla-bla%'-søk. :)
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...