Avatar billede skodtyskeren Nybegynder
16. maj 2002 - 19:04 Der er 21 kommentarer og
1 løsning

problem med mysql-query

Jeg vil gerne have at den skal søge både i titel og kategorier, hvordan gør jeg det?

SELECT COUNT(*) as total FROM flash WHERE titel LIKE '%$ord%'
Avatar billede skodtyskeren Nybegynder
16. maj 2002 - 19:04 #1
der søger den jo kun i titel
Avatar billede htx98i17 Professor
16. maj 2002 - 19:06 #2
SELECT COUNT(*) as total FROM flash WHERE titel LIKE '%$ord%' OR kategorier LIKE '%$ord%'
Avatar billede zakarun Nybegynder
16. maj 2002 - 19:07 #3
SELECT COUNT(*) as total FROM flash WHERE lower(titel) LIKE lower('%$ord%') OR lower(kategorier) LIKE lower('%$ord%')

Så søger den med case insentitive også ;) - hvilket er meget normalt at bruge ved søgninger.
Avatar billede skodtyskeren Nybegynder
16. maj 2002 - 19:09 #4
nej, den skal søge i begge ting
Avatar billede tipsen Nybegynder
16. maj 2002 - 19:10 #5
zakarun: hvis man søger med LIKE og bruger % bliver søgningen vel samtidig case-insensitive i mysql?
Avatar billede htx98i17 Professor
16. maj 2002 - 19:10 #6
zakarun -> LIKE '%$ord%' er da insentitive
Avatar billede htx98i17 Professor
16. maj 2002 - 19:11 #7
skodtysker -> Den søger i felterne "titel" og "kategorier" er det ikke det du vil? ellers må du forklare nærmere...
Avatar billede skodtyskeren Nybegynder
16. maj 2002 - 19:12 #8
Altså både hente flash film hvor titlen indeholder osama, og hvis det er en kategori der hedder osama skal den også hente alle de flash film i den pågældende kategori
Avatar billede mjl Nybegynder
16. maj 2002 - 19:14 #9
htx98i17 har det perfekte svar - hans løsning finder alt i "titel" og "kategorier" der er lig med $ord
Avatar billede skodtyskeren Nybegynder
16. maj 2002 - 19:14 #10
jamen, jeg ved ikke hvorfor, men det virker ikke
Avatar billede mjl Nybegynder
16. maj 2002 - 19:15 #11
Så prøv at vise hele koden....
Avatar billede skodtyskeren Nybegynder
16. maj 2002 - 19:16 #12
http://www.funnycartoons.dk/ prøv at søg.. Den finder kun der hvor titlen er lige med f.eks sange og ikke hele kategorien
Avatar billede mjl Nybegynder
16. maj 2002 - 19:16 #13
Jamen - hvis man nu lige ser koden, kan man finde fejlen...
Avatar billede skodtyskeren Nybegynder
16. maj 2002 - 19:17 #14
<?
$pr_side = "8";

if (!isset($s)) {
    $s = "0";
}
$db = mysql_connect("localhost", "megethemmeligt", "utroligtmegethemmeligt");
mysql_select_db("funnycartoons", $db);
$foresp = mysql_query("SELECT id, titel, billede, kategori FROM flash WHERE titel LIKE '%$ord%' ORDER BY dato DESC limit $s,$pr_side") or die (mysql_error());
$rows = mysql_fetch_array($foresp);
if (!$rows[billede])
{
$pic = "none.jpg";
}
if ( $rows ) {  // lav en tabel hvis der er noget at fylde i den
    echo "<table border='0' cellpadding=5>";
    while ( $rows ) {  // skriv rækker en ad gangen
        echo "<tr align='center'>";
        for ( $i=0; $i<4; $i++ ) {  // skriv 5 celler i hver række
            if ( $rows ) {  // hvis der er data til denne celle så skriv data
                echo "<td><a href='visflashfilm.php?id=$rows[id]'>";
                echo "<img src=flash/billeder/$rows[kategori]/$pic$rows[billede] border=0 width=111 height=71 alt=$rows[titel]><BR><FONT FACE=tahoma SIZE=2>$rows[titel]</FONT></a></td>";
                $rows = mysql_fetch_array($foresp);
            } else {
                echo "<td>&nbsp;</td>";
            }
        }
        echo "</tr>";
    }
    echo "</table>";
}
echo "<BR>";
$g_total = mysql_query("SELECT COUNT(*) as total FROM flash WHERE titel LIKE '%$ord%' OR kategori LIKE '%$ord%'") or die(mysql_error());
$total = mysql_result($g_total,0);
echo "<TABLE BORDER=0>
<TR>
    <TD>";
if ($s >= $pr_side) {
    $previous_s = $s-$pr_side;
    echo "<a href='?s=$previous_s&ord=$ord'><IMG SRC=grafik/forrige.jpg BORDER=0 WIDTH=76 HEIGHT=25 ALIGN=bottom ALT=></a>&nbsp;&nbsp;&nbsp;&nbsp;";
}
echo "</td><td>";
$page = 1;
for($start=0; $total > $start; $start=$start+$pr_side){
    if ($start != $s) {
        echo "<a href='?s=$start&ord=$ord'>$page</a> ";
    } else {
        echo "$page ";
    }
    $page++; //Lægger en til $page til næste gang løkken køres
}
echo "</td><td>";
##
#Find ud af om der skal være et næste link
##
if ($total > $s+$pr_side) {
    $next_s = $s+$pr_side;
    echo "&nbsp;&nbsp;&nbsp;&nbsp;<a href='?s=$next_s&ord=$ord'><IMG SRC=grafik/naeste.jpg BORDER=0 WIDTH=75 HEIGHT=25 ALIGN=bottom ALT=></a>
";
}
echo "</TD>
</TR>
</TABLE>";




?>
Avatar billede mjl Nybegynder
16. maj 2002 - 19:19 #15
Husk at stave det ens: katagori / kategori - hvad hedder rækken?
Avatar billede tipsen Nybegynder
16. maj 2002 - 19:19 #16
Du henter vel også kun en enkelt post fra resultatsættet, så vidt jeg kan se!?
Avatar billede skodtyskeren Nybegynder
16. maj 2002 - 19:26 #17
Jeg forstår jer ikke helt
Avatar billede mjl Nybegynder
16. maj 2002 - 19:27 #18
Hvis din database række kategorier i virkeligheden er stavet med a, altså katagorier - vil den flippe...
Avatar billede skodtyskeren Nybegynder
16. maj 2002 - 19:33 #19
ja, men den er stavet rigtigt
Avatar billede skodtyskeren Nybegynder
16. maj 2002 - 19:38 #20
Har selv fundet den pinlige fejl
Avatar billede mjl Nybegynder
16. maj 2002 - 19:38 #21
Fortæl
Avatar billede skodtyskeren Nybegynder
19. maj 2002 - 11:01 #22
Jeg havde kun rettet queryen i en af sql-strengene
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester