Heey allemaal

Weer een MySQL vraagje.

Ik heb nu een mooi systeem gemaakt dat ik scheldwoorden in de datebase kan zetten, en ze er weer uit halen.

Maar hoe kan ik nu in mijn posts alles laten vervangen?

Dit heb ik nu:

<?php
$row['bericht'] = eregi_replace('klootzak', '***',$row['bericht']);
$row['bericht'] = eregi_replace('kanker', '***',$row['bericht']);
...
...
...
?>

Maar hoe kan ik dit automatisch laten gebeuren met alles uit de tabel scheldwoorden
Ik ben zelf even bezig geweest en heb dit:

<?php
$select = "SELECT * FROM scheldwoorden";

$i = 0;
$rijen = mysql_num_rows($select);
$rijnaam = mysql_fetch_array($res)

if($rijen != 0)
{
while(mysql_num_rows($select) > $i)
{
$row['bericht'] = eregi_replace($rijnaam['woord'], '***',$row['bericht']);
$i++;
}
}
?>

Wat is hier fout aan?
while(mysql_num_rows($select) > $i)

zou je daar niet van maken:
while($rij = mysql_fetch_*($result)) ?
Boaz schreef op 18.08.2006 20:48
while(mysql_num_rows($select) > $i)

zou je daar niet van maken:
while($rij = mysql_fetch_*($result)) ?

Klopt. En dan kan die ene vóór de while weg anders mis je de eerste.
<?php
$select = "SELECT * FROM scheldwoorden";
$rijen = mysql_num_rows($select);

if($rijen != 0)
{
while($rij = mysql_fetch_array($select))
{
$row['bericht'] = eregi_replace($rij['woord'], '***',$row['bericht']);
}
}
?>

Dit werkt niet...

Ik begin het te leren, maar snap het nog niet :-p
<?php
$select = "SELECT * FROM scheldwoorden";
// query wel uitvoeren
$result = mysql_query($select) or die(mysql_error());
if($result)
{
while($rij = mysql_fetch_array($result))
{
$row['bericht'] = eregi_replace($rij['woord'], '***',$row['bericht']);
}
}
?>
<?php
$query = "SELECT woord FROM scheldwoorden;"; // Je gaat alleen woord gebruiken, dus waarom alles selecteren?

// Hier wordt de query uitgevoerd en als dat niet lukt een error weergegeven + het script wordt gestopt.
$result = mysql_query($query) or trigger_error(mysql_error(), E_USER_ERROR);

// Als je query meer dan 0 resultaten opleverde:
if(mysql_num_rows($result) > 0){
// Een gewone while om te fetchen ;)
while($ij = mysql_fetch_assoc($result))
// hier vervangen oid.
}
}
?>

Edit:
@SanThe:
$result = mysql_query($select) or die(mysql_error());
if($result)

heeft nog steeds geen zin, $result geeft nog steeds een resource terug.
@Boaz: Je hebt gelijk. Had ik ook al in het andere topic gezet. Bedankt voor de terechte note.

Edit: @Boaz: Die if() is ook niet nodig. Als de $rij=... in de while() niet één keer iets kan ophalen wordt de hele while niet uitgevoerd maar loopt het script gewoon door.
Boaz, ik heb je script gebruikt,

$ij vervangen door $rij :P

Maar nu heb ik een werkend script, maar ik snap m niet.

Kun je even d.m.v. // aangeven wat er allemaal gebeured
@PHP newbie: Ik heb er wat commentaar bij gezet, hoop dat het voldoende is, anders vraag je maar.

@SanThe, Wilde het voor de volledigheid toch 2x vermelden :)
Met die if, heb je gelijk hoeft niet, maar ik zag het hier staan dus heb een werkend stukje code gemaakt van wat ik zag. Maar het kan idd ook zonder.
// Een gewone while om te fetchen ;)

voor jou normaal, maar niet voor mij ;-)

Reageren