Hallo allemaal, vanwege een slecht database ontwerp zit ik nu opgescheept met klein probleempje
het gaat hier over prijzen van artikelen, die staan in de database als bijvoorbeeld 1250 maar moeten op de pagina 12,50 worden
weet iemand hier een nette oplossing voor?
ik kan substr wel gebruiken maar dat vind ik een nogal ranzige oplossing eigenlijk
dus als iemand een idee heeft, laat het horen :)
Kan je niet de kolom als Double maken. En dan eenmalig even een script er over heen:
<?php
$query = mysql_query("SELECT id, prijs FROM artikelen")
while ($artikel = mysql_fetch_row($query))
{
// Nu moet je de waarde $artikel[1] als het goede maken
$nwPrijs = number_format($artikel[1], 2, ',', '');
// En nu record, voor record de gegevens aanpassen
mysql_query("UPDATE artikelen SET prijs = '$nwPrijs' WHERE id = '$artikel[0]'");
echo "Migreren Record $artikel[0]: OK<br>";
}
?>
[Edit: mijn perl-hoofd dacht te logisch na voor php]
<?php
$query = mysql_query("SELECT id, prijs FROM artikelen")
while ($artikel = mysql_fetch_row($query))
{
// Nu moet je de waarde $artikel[1] als het goede maken
$nwPrijs = preg_replace('/(\d+)(\d{2})/',"\$1,\$2", $artiekel[1]);
// En nu record, voor record de gegevens aanpassen
mysql_query("UPDATE artikelen SET prijs = '$nwPrijs' WHERE id = '$artikel[0]'");
echo "Migreren Record $artikel[0]: OK<br>";
}
?>
dat is alleen omdat de rest van het systeem erop werkt.
en ik mag niets aan het bestaande systeem veranderen dus helaas, anders zou ik het nu nog hebben omgezet