Sorteren op TAG

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Patrick vd Pols

Patrick vd Pols

06/05/2012 19:41:25
Quote Anchor link
Hey allemaal,

Ik probeer alle resultaten uit mn database te halen op basis van een tag.

Ik heb een tabel die heet collection en daarin staat een veld Tags . Hierin staan de tags als volgt : tag1,tag2,tag3,tag4,tag5.

Nu probeer ik wil ik bijv alle posts waar tag1 in zit laten zien, die vraag ik op door bijv tag.php?tag=tag1

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    if (isset($_GET['tag']))
    {
    $tag = mysql_real_escape_string($_GET['tag']);
  
    
        $gettags = mysql_query("SELECT * FROM collection WHERE 'tags' LIKE '% $tag %' OR 'tags' LIKE '$tag %' OR 'tags' LIKE '% $tag' OR 'tags' = '$tag'");
        if(mysql_num_rows($gettags) > 0)
        {
            while ($tagresult = mysql_fetch_array($gettags))
            {
                
                echo $tagresult['title'];
                echo "<br />";
            }
        }
        else {
            echo "No results =(";
            
        }
    }
    else {
        echo "no tag selected.";
    }

Maar het levert ALTIJD 0 resultaten op, krijg ook op geen enkele manier wel resultaten in phpmyadmin.. ziet iemand wat ik fout doe?
Gewijzigd op 06/05/2012 19:41:46 door Patrick vd Pols
 
PHP hulp

PHP hulp

25/04/2024 12:38:01
 
Vincent Huisman

Vincent Huisman

06/05/2012 19:44:06
Quote Anchor link
je moet je database normaliseren.
je moet dus een aparte tabel aanmaken voor je tags
 
Patrick vd Pols

Patrick vd Pols

06/05/2012 19:44:44
Quote Anchor link
Ik heb het eerder wel precies werkend gekregen op deze manier
 
- SanThe -

- SanThe -

06/05/2012 20:06:46
Quote Anchor link
Patrick vd Pols op 06/05/2012 19:41:25:
Maar het levert ALTIJD 0 resultaten op, krijg ook op geen enkele manier wel resultaten in phpmyadmin.. ziet iemand wat ik fout doe?


Hier is 'tags' gewoon de string 'tags'.
WHERE 'tags' LIKE '....'

Ik denk dat je het veld `tags` bedoelt:
WHERE tags LIKE '....'
 
Patrick vd Pols

Patrick vd Pols

06/05/2012 20:07:19
Quote Anchor link
Heb het al aan de praat, zat een spatie tussen % $tag % .. die moest weg:p
 
Obelix Idefix

Obelix Idefix

06/05/2012 21:10:29
Quote Anchor link
Variabelen buiten quotes.
Foutafhandeling inbouwen.
 
Patrick vd Pols

Patrick vd Pols

06/05/2012 21:32:44
Quote Anchor link
Foutafhandeling zit erin toch ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
   else {
            echo "No results =(";
            
        }
    }
    else {
        echo "no tag selected.";
    }
 
Obelix Idefix

Obelix Idefix

06/05/2012 21:39:47
Quote Anchor link
Met een goede foutafhandeling had je vermoedelijk de vraag niet hoeven te stellen.
Aan een melding dat iets niet lukt heb je, bij het ontwerpen/testen, niet zo heel veel. Je wilt weten waarom het niet werkt.
 
Patrick vd Pols

Patrick vd Pols

06/05/2012 21:52:00
Quote Anchor link
Ja maar de query klopte, maar gaf gewoon 0 resultaten , dus daar zou die geen fout voor geven. Maar ik snap wat je bedoeld.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.