Hallo,

Ik heb een tabel met daarin een kolom, achternaam.

In de kolom staat de volledige achternaam dus inclusief voorvoegsels. Deze voorvoegsels wil ik uit de kolom achternaam halen en verplaatsen naar de kolom voorvoegsel.

Ik heb onderstaande query gedraaid maar deze werkte niet goed, bij alle gevonden records werd de voorvoegsel en de achternaam van uit eerst gevonden record geplaatst, ik had dus opeens een heleboel mensen een andere achternaam gegeven ......... ;-)

<?php
$query = "SELECT achternaam FROM client WHERE achternaam LIKE 'van der %'";
$result = mysqli_query($con,$query);
while($row = mysqli_fetch_array($result)) {
	$voorvoegsel = strtolower(substr($row['achternaam'], 0, 7));
	$achternaam_nieuw = substr($row['achternaam'], 8);
	mysqli_query($con, "UPDATE client SET voorvoegsel = '" . $voorvoegsel . "', achternaam = '" . $achternaam_nieuw . "'WHERE achternaam LIKE 'van der %'");		
} 
?>


Iemand enig idee waar het fout gaat?

En hoe ik dit efficienter kan aanpakken als ik dit voor nog meer voorvoegsels wilt doen zoals van, van den, de etc. etc.

Met vriendelijke groeten,

Arie

[size=xsmall]Toevoeging op 14/03/2014 15:35:44:[/size]

Laat maar ............. ;-)

Zat gewoon ff te slapen, de WHERE conditie moest zijn WHERE ID = $row['ID']

Groeten,
Arie

De GBA telt 333 verschillende voorvoegsels, dus ik zou het anders oplossen.
Dat vermoeden had ik al (al heb ik ze niet 333 maar kom een aardig eind ......... ;-) ) maar de grote vraag is ......... hoe anders op te lossen?
Bedankt voor de link, kan ik gelijk kijken of ik er nog een paar over het hoofd had gezien ....... ;-)

Hopelijk dat er een 'SQL goeroe' mij op weg kan helpen om dit een beetjew eeficient aan te pakken!

Groeten,

Arie

Reageren