Komt woord in kolom voor?
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
als dat woord er in zit echo "woord zit er in"...
Bedankt !
als dat woord er in zit echo "woord zit er in"...
Bedankt !
FROM tabel_b
WHERE veld LIKE '%voorbeeldwoord%'
-> fetchen
-> $row['canYouPleaseBeEqualToOne'];
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
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'];
}
?>
$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?
@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.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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';
}
?>
$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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
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'];
?>
$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.
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.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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()
)
");
?>
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()
)
");
?>
En Christophe, ik denk dat die spaties het hem doen na de laatste kolom :-p
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.