Page 1 of 1

Decimal number problem

Posted: Mon Nov 24, 2003 4:19 pm
by wladimirw
Hi there,
PHP file that I send to You should do following: to clear of all needless characters from .TXT file and to form .HTML price-list.
Everything is now working properly except decimals that are alwayas showed like nulls (eg: 25,00 but it should be 25,67 ).
Please could you finish file for me?
Or if its easy, just tell me?

Thanks for your help,
Vladimir


/// USING PHP THIS PRICES.TXT FILE USE TO BE CLEANED FROM CHARACTERS LIKE THIS "ÄÄÄÄÄÄ------" AND IT SHOULD BE CONVERT TO "NICELOOKING" .HTML PRICE-LIST ///



utorak, 18. novembar 2003. godine

CENOVNIK za WEB - DIN

-------------------------------- -----------
ARTIKAL CENA
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ


Osnovne ploce
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
MBA Asus A7N8X-VM 400/8x/5.1/l 6.560,60
MBA Asus A7N8X-X nForce 4.731,54
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ



Procesori
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
CPU AMD XP 1700+ 3.015,47
CPU AMD XP 1800+ 3.100,22
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ



Cooleri
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
COOL HDD 2fan 282,48
COOL Speeze 5F273B1L3 564,96
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ



---------------------------------------------


/// HERE IS PHP FILE ///




<?php
$cenovnikwidth = 680;
$artikalwidth = 480;

$pocetakvrste = 0;
$duzinavrste = 30;
$pocetakartikla = 0;
$duzinaartikla = 30;
$dodajpredartikal = "&nbsp;";
$pocetakcene = 31;
$duzinacene = 20;
$dodajnacenu = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

$znak_decimale = ",";
$znak_separatora_hiljada = ".";

$broj_decimala = 2;
$izlaz_decimale = ",";
$izlaz_hiljada = ".";

$pocetakcenovnika = "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ";

$pocetakartikla = "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ";

$krajartikla = "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ";

$krajcenovnika = "---------------------------------------------";

$zamenista[1] = "Osnovne ploce";
$zamenisa[1] = "Matiène ploèe";
$zamenista[2] = "Cooleri";
$zamenisa[2] = "Kuleri";

?>
<html>
<head>
<title>PRICES</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
document.write("<SCR" + "IPT LANGUAGE='JavaScript' SRC='global.js' TYPE='text/javascript'><\/SCR" + "IPT>");
//-->
</SCRIPT>
<link href="cen.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="#FFFFFF" topmargin="10" leftmargin="10">
<table width="<?=$cenovnikwidth?>" border="0" cellpadding="2" cellspacing="0" class="bordbrd01">

<?

$sadrzaj = file ("prices.txt");
$cenovnikpoceo = false;
$vrsta = false;
$artikal = false;
$prvavrsta = false;
$prviartikal = false;

while (list ($kljuc, $linija) = each ($sadrzaj)) {
$trenutnalinija = trim($linija);

if (strlen($trenutnalinija) == 0)
continue;

if ($trenutnalinija == $pocetakcenovnika) {
$vrsta = true;
$artikal = false;
$prvavrsta = true;
continue;
}

if ($trenutnalinija == $pocetakartikla) {
$artikal = true;
$prviartikal = true;
continue;
}

if ($trenutnalinija == $krajartikla) {
$vrsta = true;
$artikal = false;
$prvavrsta = false;
continue;
}

if ($trenutnalinija == $krajcenovnika) {
$vrsta = false;
$artikal = false;
continue;
}

if ($vrsta) {

foreach ($zamenista as $kljuc => $vrednost) {
if ($trenutnalinija == $vrednost)
$trenutnalinija = $zamenisa[$kljuc];
}

if ($prvavrsta) {
?>
<tr bgcolor=<?=$backcolorvrsta?>>
<td class="tblhead" width="<?=$artikalwidth?>" align="center"><?=trim(substr($trenutnalinija, $pocetakvrste, $duzinavrste))?></td>
<td class="tblhead">&nbsp;</td>
</tr>
<?
}
else {
?>
<tr bgcolor=<?=$backcolorvrsta?>>
<td class="tblhead" width="<?=$artikalwidth?>" align="center"><?=trim(substr($trenutnalinija, $pocetakvrste, $duzinavrste))?></td>
<td class="tblhead">&nbsp;</td>
</tr>
<?
}

$vrsta = false;
continue;

}

if ($artikal) {

foreach ($zamenista as $kljuc => $vrednost) {
if ($trenutnalinija == $vrednost)
$trenutnalinija = $zamenisa[$kljuc];
}

$trenutnilink = strtoupper(trim(substr($trenutnalinija, $pocetakartikla, $duzinaartikla)));
$trenutnilink = str_replace(" ", "_", $trenutnilink);
$trenutnilink = str_replace("/", "_", $trenutnilink);
$trenutnilink = $trenutnilink . ".htm";

if ($prviartikal) {
if (file_exists($trenutnilink)) {
?><tr onMouseOver="trOnMouseOver(this, false)" onMouseOut="trOnMouseOut(this)" onClick="popup('<?=$trenutnilink?>', 'TNT Artikal')"><?
}
else {
?><tr onMouseOver="trOnMouseOver(this, true)" onMouseOut="trOnMouseOut(this)"><?
}
?>
<td class="tbl" width="<?=$artikalwidth?>"><?=$dodajpredartikal . trim(substr($trenutnalinija, $pocetakartikla, $duzinaartikla))?></td>
<td class="tbl" align="right"><?=vrati_cenu(trim(substr($trenutnalinija, $pocetakcene, $duzinacene)), $znak_decimale, $znak_separatora_hiljada, $broj_decimala, $izlaz_decimale, $izlaz_hiljada) . $dodajnacenu?></td>
</tr>
<?
}
else {
if (file_exists($trenutnilink)) {
?><tr onMouseOver="trOnMouseOver(this)" onMouseOut="trOnMouseOut(this)" onClick="popup('<?=$trenutnilink?>', 'TNT Artikal')"><?
}
else {
?><tr onMouseOver="trOnMouseOver(this, true)" onMouseOut="trOnMouseOut(this)"><?
}
?>
<td class="tbl" width="<?=$artikalwidth?>"><?=$dodajpredartikal . trim(substr($trenutnalinija, $pocetakartikla, $duzinaartikla))?></td>
<td class="tbl" align="right"><?=vrati_cenu(trim(substr($trenutnalinija, $pocetakcene, $duzinacene)), $znak_decimale, $znak_separatora_hiljada, $broj_decimala, $izlaz_decimale, $izlaz_hiljada) . $dodajnacenu?></td>
</tr>
<?
}
$prviartikal = false;
continue;
}

}
?>

</table>
</body>
</html>

<?
function vrati_cenu($cena, $znak_decimale, $znak_separatora_hiljada, $broj_decimala, $izlaz_decimale, $izlaz_hiljada) {

$cena = str_replace ($znak_separatora_hiljada, "", $cena);
$cena = str_replace (" ", "", $cena);
$nova_cena = number_format($cena, $broj_decimala, $znak_decimale, $znak_separatora_hiljada);
$temp_char = "@";
$nova_cena = str_replace ($znak_separatora_hiljada, $temp_char, $nova_cena);
$nova_cena = str_replace ($znak_decimale, $izlaz_decimale, $nova_cena);
$nova_cena = str_replace ($temp_char, $izlaz_hiljada, $nova_cena);

return $nova_cena;

}
?>

Posted: Mon Nov 24, 2003 4:51 pm
by Weirdan
read [php_man]setlocale[/php_man] manual page, especially last user's comment.