← Back to team overview

sslug-teknik team mailing list archive

Re: MySQL sp��l

 

Birger, prøv med:

$foresp = mysql_query("SELECT ArtikelID,Overskrift,Forfatter FROM Artikel
WHERE
Tekst LIKE '%$tekst_soeg_h%' OR Tekst LIKE '%$tekst_soeg_h%' ORDER BY
Overskrift
",$db);                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Ellers kan jeg anbefale, at du gemmer teksten i databasen udelukkende som
ren tekst, og i koden der viser teksten kalder htmlentities(tekst). Så har
du en enklere SQL-søgning, pænere data i basen, og du kan bruge teksten til
andet end blot HTML.

Et andet tip:

echo  SingPlurText (mysql_num_rows($foresp), "artikel", " artikler").
      " fundet, hvor teksten \"" . $tekst_soeg_h . "\" forekommer.</p>";

og:

function SingPlurText ($num, $sing_text, $plur_text) {
    if ($num == 1)
        return ("1 ".$sing_text);
    else
        return ($num." ".$plur_text);
}

På denne måde får du teksten: "12 artikler fundet...", "1 artikel fundet..."
for hhv. 12 records og 1 record fundet. Det generer mig altid at se "1
artikler...", eller "1 artikel(er)...". Bare et tip.

Joachim


"Birger Langkjer" <blangkjer@xxxxxxxxxxx> wrote in message
news:bqlis6$lpn$1@xxxxxxxxxxxx...
Jeg har noget kode, der ser sådan ud:

if($tekst_soeg){

$tekst_soeg_h = htmlentities($tekst_soeg);

$db = mysql_connect("localhost", "root");

mysql_select_db("database",$db);

$foresp = mysql_query("SELECT ArtikelID,Overskrift,Forfatter FROM Artikel
WHERE Tekst LIKE '%$tekst_soeg_h%' ORDER BY Overskrift ",$db);

echo mysql_num_rows($foresp) . " artikler fundet, hvor teksten \"" .
$tekst_soeg_h . "\" forekommer.</p>";

Problemet er, at jeg gerne vil have Mysql til at søge på både $tekst_soeg og
$tekst_soeg_h.
Jeg har problemet at skrive LIKE '%$tekst_soeg_h%' AND LIKE '%$tekst_soeg%'
men det virker ikke. Skal jeg lave en UNION istedet?

B




Follow ups

References