Gå til innhold

Telle resultatet ved bruk av LIKE


Anbefalte innlegg

Hei,

 

Jeg lurte på om det var en fin måte å telle resultatet når man bruker LIKE i mysql?

 

SELECT * FROM event, COUNT(title) WHERE title LIKE '%$search%' OR shorttext LIKE '%$search%' OR bodytext LIKE '%$search%' OR category LIKE '%$search%' AND status='public' ORDER BY eid DESC LIMIT $first, $last

 

Denne fungerer ikke

 

Takk på forhånd :)

Endret av danielrealized
Lenke til kommentar
Videoannonse
Annonse

Du kan ikke ha COUNT() i FROM delen av en SELECT.

$sql="SELECT *
FROM event
WHERE (title LIKE '%$search%' OR shorttext LIKE '%$search%' OR bodytext LIKE '%$search%' OR category LIKE '%$search%')
AND status='public'
ORDER BY eid DESC
LIMIT $first, $last";

$rs=mysql_query($sql);
echo mysql_num_rows($rs); // antall rader returnert av spørringen

Har ikke tatt hensyn til sikkerhet i koden over.

 

Php.net anbefaler at man bruker PDO eller MySQLi i stedet for metoden over.

 

Skal du telle opp i SELECT'en så må legg til GROUP BY og hva det skal gruppers på

SELECT COUNT(*) antall, MAX(felt1) f1, MAX(felt2) f2
FROM event
WHERE (title LIKE '%$search%' OR shorttext LIKE '%$search%' OR bodytext LIKE '%$search%' OR category LIKE '%$search%')
AND status='public'
GROUP BY eid
ORDER BY eid DESC

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...