Komt woord in kolom voor?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Christophe Rogiers

Christophe Rogiers

14/09/2006 06:12:00
Quote Anchor link
Hoi,

Hoe stel ik dit nu op in php:

Als het woord "voorbeeldwoord" voorkomt in kolom A van tabel B ... ?

Alvast bedankt !
Gewijzigd op 01/01/1970 01:00:00 door Christophe Rogiers
 
PHP hulp

PHP hulp

18/11/2024 03:29:46
 
Jan Koehoorn

Jan Koehoorn

14/09/2006 08:09:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
    $sql
= "
        SELECT veld
        FROM tabel_b
        WHERE veld LIKE '%voorbeeldwoord%'
        "
;
?>
 
Christophe Rogiers

Christophe Rogiers

14/09/2006 16:00:00
Quote Anchor link
bedankt, maar ik zou het in een if moeten hebben.

als dat woord er in zit echo "woord zit er in"...


Bedankt !
 
Christophe Rogiers

Christophe Rogiers

14/09/2006 16:02:00
Quote Anchor link
bedankt, maar ik zou het in een if moeten hebben.

als dat woord er in zit echo "woord zit er in"...


Bedankt !
 
PHP erik

PHP erik

14/09/2006 16:06:00
Quote Anchor link
SELECT COUNT(*) as canYouPleaseBeEqualToOne
FROM tabel_b
WHERE veld LIKE '%voorbeeldwoord%'

-> fetchen
-> $row['canYouPleaseBeEqualToOne'];
 
K i p

K i p

14/09/2006 16:20: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
11
12
13
<?php
$sql
= "
        SELECT veld
        FROM tabel_b
        WHERE veld LIKE '%voorbeeldwoord%'
        "
;
$res = mysql_query($sql) or die (mysql_error());
if (mysql_num_rows($res) > 0) {
  echo 'woord zit erin: ';
  $row = mysql_fetch_array($res)
  echo $row['veld'];
}

?>


zoiets?
 
Frank -

Frank -

14/09/2006 16:51:00
Quote Anchor link
@Boris: Wanneer je alleen wilt weten of het woord voorkomt, gebruik dan COUNT in de query om het aantal records te tellen waarin het woord voorkomt. Je haalt dan slechts 1 record op uit de query, die het aantal bevat, en je hebt minder php-code nodig om dit op het scherm te zetten. Kortom, een stukje sneller.
 
Christophe Rogiers

Christophe Rogiers

14/09/2006 17:03:00
Quote Anchor link
het script diende voor dit:

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
<?

$sql
= "
        SELECT id
        FROM dr_pagina
        WHERE id LIKE '"
. $_GET['pid'] . "'
        "
;
$res = mysql_query($sql);

if (mysql_num_rows($res) < 1)
{

  $_GET['pid'] = 'Serverfout 404';
}


?>



bedankt !!
Gewijzigd op 01/01/1970 01:00:00 door Christophe Rogiers
 
Frank -

Frank -

14/09/2006 17:19:00
Quote Anchor link
Nee, ga tellen in de query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
$query
= "SELECT
  COUNT(id) AS aantal
FROM
  dr_pagina
WHERE
  id LIKE '"
. $_GET['pid'] . "'
"
;
$result = mysql_query($query) or die(mysql_error()); // foutafhandeling...

$row = mysql_fetch_assoc($result);
echo $row['aantal'].' records gevonden met de waarde '.$_GET['pid'];
?>

Verder natuurlijk eerst controleren of $_GET['pid'] wel aan alle voorwaarden voldoet. SQL-injection ligt namelijk op de loer wanneer je gegevens van een browser (de url in dit geval) zo maar in een query gooit.
 
Robert Deiman

Robert Deiman

14/09/2006 19:54:00
Quote Anchor link
@Frank

Kan inderdaad met een count, je kan ook zoals Boris doen, met LIMIT 0,1. Dan haal je ook maar 1 record op, zal dus niet langzamer zijn.

Wanneer je een aantal wilt is die van jou zeker beter, maar Boris was ook op de goede weg.
 
Christophe Rogiers

Christophe Rogiers

14/09/2006 21:21:00
Quote Anchor link
Iets zoals dit gaat niet zeker? default now()

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
<?

mysql_query    ("            
            CREATE TABLE dr_reactie    (
                                        id INT(7) NOT NULL AUTO_INCREMENT,
                                        PRIMARY KEY(id),
                                        inhoud text,
                                        artikelid INT(7),
                                        gebruikerid INT(7),                                        
                                        tijdstip DATETIME default now()                                                                                                                
                                    )
            "
);

?>
 
K i p

K i p

14/09/2006 21:25:00
Quote Anchor link
@Frank: oke bedankt ik kende count() nog niet, nu wel :-) :-$


En Christophe, ik denk dat die spaties het hem doen na de laatste kolom :-p
 
Frank -

Frank -

14/09/2006 21:46:00
Quote Anchor link
default now() kan helaas niet, zie de handleiding. NOW() zul je dus altijd in de INSERT-query moeten opnemen. Gelukkig is dat niet al te veel moeite.
 



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.