rij uit database filteren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dirk

Dirk

07/12/2006 11:48:00
Quote Anchor link
Ik heb de volgende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$sql
= "SELECT titel FROM art ORDER BY id DESC";
$resultaat = mysql_query($sql);
      while ($record = mysql_fetch_object($resultaat)){    
        echo $record->titel;
    }

?>


Nu wil ik als de titel het woord 'paard' en 'koe' heeft dat die rij niet weergegeven wordt maar de rest gewoon wel..
Weet iemand hoe dat zou moeten?

Alvast heel erg bedankt!!
 
PHP hulp

PHP hulp

24/11/2024 15:34:55
 
Jurgen assaasas

Jurgen assaasas

07/12/2006 11:51:00
Quote Anchor link
Ik snap je vraag niet... Maar je je wilt wss een titel selecteren. Als je meerdere titels hebt zul je toch de WHERE clause moeten gebruiken.

edit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$sql
= "SELECT titel FROM art WHERE titel != LIKE 'koe' OR 'paard' ORDER BY id DESC";

?>


zoiets denk ik
Gewijzigd op 01/01/1970 01:00:00 door Jurgen assaasas
 
Dirk

Dirk

07/12/2006 11:55:00
Quote Anchor link
Jurgen schreef op 07.12.2006 11:51:
Ik snap je vraag niet... Maar je je wilt wss een titel selecteren. Als je meerdere titels hebt zul je toch de WHERE clause moeten gebruiken.


Deze code haalt alle titels in een keer uit de database d.m.v while lus.

Nu heb bijvoorbeeld 100 titels waarvan drie titels het woordt 'paard' bevat en een titel het woord 'koe' Nu wil ik dus dat er nog maar 96 titels worden weergeven zonder deze twee woorden erin.
 
Frank -

Frank -

07/12/2006 11:59:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
SELECT
  titel
FROM
  art
WHERE
  titel LIKE '%paard%'
OR
  titel LIKE '%koe%'
ORDER BY
  id DESC

Gebruik LIKE en OR om de query op te stellen.

Netjes en overzichtelijk noteren van queries voorkomt een hoop problemen.
 
Dirk

Dirk

07/12/2006 12:07:00
Quote Anchor link
Nu wil ik alle titels tellen dus zonder die 4 titels met de woorden koe en paard erin.

hoe moet dat dan?
 
Jurgen assaasas

Jurgen assaasas

07/12/2006 12:13:00
Quote Anchor link
SELECT

COUNT(titel) AS num_rows,
titel
FROM
art
WHERE
titel LIKE '%paard%'
OR
titel LIKE '%koe%'
ORDER BY
id DESC
 
Frank -

Frank -

07/12/2006 12:14:00
 
Robert Deiman

Robert Deiman

07/12/2006 12:17:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
SELECT
  COUNT(titel) AS aantal_titels
FROM
  art
WHERE
  titel NOT LIKE '%paard%'
OR
  titel NOT LIKE '%koe%'
 
Dirk

Dirk

07/12/2006 13:00:00
Quote Anchor link
Ja! dat is hem!

Heel erg bedankt allemaal!!

En hoe zou je het doen als ik een lijst had van 50 woorden die er niet in mogen?
Gewijzigd op 01/01/1970 01:00:00 door Dirk
 
Stefan van Iwaarden

Stefan van Iwaarden

07/12/2006 14:16:00
Quote Anchor link
dan kun je gebruik maken van de sql functie IN waarin je alle woorden zet, deze woorden kun je dan weer vantevoren in een array zetten.
 
Dirk

Dirk

08/12/2006 18:10:00
Quote Anchor link
Ik heb ff gegoolged naar de IN functie maar die kon ik eigenlijk niet vinden.. Hoe gaat die dan?
 
Frank -

Frank -

08/12/2006 18:45:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT
  kolom
FROM
  tabelnaam
WHERE
  kolom IN('aap', 'noot', 'mies')

Nu worden alleen de waardes geselecteerd wanneer 'kolom' gelijk is aan aap, noot of mies. Met 2x een OR had je dit ook kunnen oplossen, maar een IN is eenvoudiger.

Edit: Waarom Google gebruiken wanneer je weet dat MySQL een uitgebreide handleiding heeft?

http://dev.mysql.com/doc/refman/4.1/en/comparison-operators.html
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 



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.