Woord met zin vergelijken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Patrick cos

patrick cos

03/07/2013 14:32:16
Quote Anchor link
Ik wil als de tags in titel van od_naam voorkomt de tekst rood maken.

od_naam bv: telefoon 32gb 2gb 4g
tag_id telefoon

Als tag_id in od_naam voorkomt dan moet de tag_id rood worden in het overzicht.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
    $overeenkomst = "
        SELECT
            T.tag_id,
            T.tag_naam,
            A.od_id,
            A.od_naam
        FROM tags T, onderdelen A
        WHERE A.od_naam LIKE '%$tag_naam%'
        ";

    $result1 = mysql_query($overeenkomst)or die(mysql_error());    


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
                        if ($result1) {                            
                            $overeenkomst.= " style=\"background-color:#FF9999;\""; // Rood
                        }
Gewijzigd op 03/07/2013 14:51:41 door Patrick cos
 
PHP hulp

PHP hulp

14/11/2024 18:23:52
 
Erwin H

Erwin H

03/07/2013 14:52:32
Quote Anchor link
En het probleem is?
 
Patrick cos

patrick cos

03/07/2013 14:53:40
Quote Anchor link
Het probleem is dat de tag_naam niet rood wordt als het woord van de tag_naam in od_naam voorkomt.

Toevoeging op 03/07/2013 14:59:24:

als ik $overeenkomst print dan krijg ik wel de bv. telefoon te zien als die in de titel staat.
Maar de tag wordt niet rood.
Gewijzigd op 03/07/2013 14:55:26 door patrick cos
 
Eddy E

Eddy E

03/07/2013 15:06:48
Quote Anchor link
Kijk eens naar stripos(). Of beter: strtolower(substr_count(...));
En dan voeg je een CSS-class toe. Geen inline-css!
Gewijzigd op 03/07/2013 15:07:31 door Eddy E
 
Patrick cos

patrick cos

03/07/2013 15:11:16
Quote Anchor link
als het inline-CSS werkt kan ik het altijd nog in de CSS-class toevoegen.


Toevoeging op 03/07/2013 15:30:29:

enig idee hoe ik dat er goed in krijg?
Gewijzigd op 03/07/2013 15:30:57 door patrick cos
 
Erwin H

Erwin H

03/07/2013 15:38:34
Quote Anchor link
Probeer nog eens je query uit te leggen, want daar gaat het volgens mij al fout. Je zegt 'Als tag_id in od_naam voorkomt', maar in je join voorwaarde zie ik die tag_id niet terugkomen. Alleen een '$tag_naam'. Wat zit daar in?

Heb je uberhaupt al gecontroleerd wat je query wordt en welke rijen je terugkrijgt? Overigens, vervolgens fetch je de records niet eens, waarom haal je dan meerder kolommen op?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

03/07/2013 16:58:41
Quote Anchor link
Sterker nog dit is een cross join, want er is geen join voorwaarde, met een expliciete join zou dit de query zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
SELECT
    T.tag_id,
    T.tag_naam,
    A.od_id,
    A.od_naam
FROM tags T
JOIN onderdelen A
WHERE A.od_naam LIKE '%telefoon%'

Met als gevolg dat alle tags in de tabel de onderdelen met het woordje telefoon in de naam aan zich gekoppeld krijgen.
 



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.