|
[ meduljak @ 15.03.2007. 21:19 ] @
| Baza se svaka dva dana kompletno brise, i ponovo pravi, i to radim preko ODBC drajvera iz accessa. Cini mi se da je to jedina varijanta posto nemam pravo da koristim LOAD (LOCAL) DATA INTO. Mislim da bi trebalo da radi i ako .tx fajl propustim kroz skriptu koja bi rasparcala niz, pa da onda importujem podatke u bazu, ali, o tom potom.
1. Problem: ispisujem niz koji sadrzi i rijeci i brojeve. Code:
$brojac=1;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
if ($brojac%2!=0) $boja='#ffffff'; else $boja='#E4E4E4';
print "\t<tr>\n";
foreach ($line as $col_value)
{
print "\t\t<td class=bg bgcolor=".$boja.">
<b> <div align=center><font face=verdana size=1.5 color=#CC3333>$col_value </td>\n";
}
print "\t</tr>\n";
$brojac++;
}
print "</table>\n";
Treba da zaokruzim brojeve tako da ih uvijek ispisujem sa dvije decimale, cak i kad je vrijednost nula, a tekst da ostane kako i jeste (float da predje na float (4,2), a char i varchar da se ne mijenja).
2. Probao sam i da napravim tabelu u html, pa da posebno ispisujem vrijednost svake promjenjive, sto bi mi vise odgovaralo jer bih mogao da zasebno formatiram svaku celiju, i da koristim printf, recimo, Code: printf("%.2f\n", "$neka_prom"); ali imam drugi problem: sta ako mi promjenjiva, pocinje sa brojem!? OK, ne moze pocinjati, ali ja dobijem bazu u accessu u kojoj je tako definisana. U upitu stavim obrnute navodnike i to radi, recimo:
Code: $query = 'SELECT `1-1`, `2-1`, ...
Probao sam na http://www.php.net/manual/en/language.variables.php nesto sa {}, ali mi ne funkcionise
|
[ Mali Misha @ 15.03.2007. 22:04 ] @
Mala napomena ako može: decimale su "ono" sa desne strane decimalnog zareza. Ono što te interesuje se može nazvati "cifre".
1) Evo probaj ovako nešto: printf("%02X",0);
[ meduljak @ 16.03.2007. 15:15 ] @
Citat: Mali Misha: Mala napomena ako može: decimale su "ono" sa desne strane decimalnog zareza. Ono što te interesuje se može nazvati "cifre".
:-)
Na decimale sam i mislio, tj "ono" sa desne strane zareza ;-), znaci da mi se npr. broj 2 ispisuje kao 2,00, ili 2,2 da se ispisuje kao 2,20, ili 2,123456 da se ispise kao 2,21,...isto tako da se 0 ispisuje kao 0,00.
Citat:
1) Evo probaj ovako nešto: printf("%02X",0);
Rjesava li se problem posto su neka polja textualnog tipa? Ispisujem tabele iz jedne sportske kladionice: liga, vrijeme odigravanja, domacin, gost, pa kvote, otprilike tako ide. Kvote hocu da mi ispisuje u gore pominjanom obliku, cijeli broj sa dvije decimale.
Kako da ugradim printf u onaj dio koda sa pocetka prvog posta?
[ Mali Misha @ 16.03.2007. 17:40 ] @
Citat: meduljak: :-)
Na decimale sam i mislio, tj "ono" sa desne strane zareza ;-), znaci da mi se npr. broj 2 ispisuje kao 2,00, ili 2,2 da se ispisuje kao 2,20, ili 2,123456 da se ispise kao 2,21,...isto tako da se 0 ispisuje kao 0,00.
Pa zar ti %.2f ne resava posao? (meni da)
Upotrebio si ga u prvom postu pa je za pretpostaviti da si probao..
[ meduljak @ 18.03.2007. 10:59 ] @
Ubacio sam printf na ovaj nacin:
Code: ...<div align=center><font face=verdana size=2 color=#CC3333>"?> <?php printf("%.2f","$col_value"); ?> <?php print "</td>\n";
Ostao mi je problem kako da prve cetiri kolone gdje su mi sadrzani tekstualni podaci budu preskoceni od ovog formatiranja, jer mi sad i njih ispisuje kao brojeve?
– citat
Rjesava li se problem posto su neka polja textualnog tipa? Ispisujem tabele iz jedne sportske kladionice: liga, vrijeme odigravanja, domacin, gost, pa kvote, otprilike tako ide. Kvote hocu da mi ispisuje u gore pominjanom obliku, cijeli broj sa dvije decimale.
[Ovu poruku je menjao meduljak dana 18.03.2007. u 17:50 GMT+1]
[ meduljak @ 19.03.2007. 22:25 ] @
Evo kako izgleda kod. Ako ko ima vremena nek pogleda.
Code: $brojac=1;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
if ($brojac%2!=0) $boja='#ffffff'; else $boja='#E4E4E4';
print "\t<tr>\n";
foreach ($line as $col_value)
{
print "\t\t<td class=bg bgcolor=".$boja.">
<b> "?>
<?php printf("%.2f","$col_value");?> <?php print "</td>\n";
}
print "\t</tr>\n";
$brojac++;
}
print "</table>\n";
Ovo izbaci sve kao brojeve, lijepo formatirane :-).
Da li neka petlja rjesava problem, da prve cetiri kolone ispisujem sa print, a ostale sa printf? Kako bi izgledala ta petlja
[ meduljak @ 20.03.2007. 14:48 ] @
Je li ima iko voljan da se ukljuci?
Pretpostavljam da je i pitanje i odgovor nekom jednostavno i da ce vjerovatno mnogi pomisliti da bih trebao da vise procavam php manual i sl, ali nemam puno vremena, pa zato i molim za pomoc.
I hvala jos jednom,
[ Miroslav Ćurčić @ 20.03.2007. 19:51 ] @
Ako nemaš mnogo kolona, do 6 recimo, lakše je da se maneš te foreach petlje pa da svaku kolonu lepo ispišeš sa svojim <td>-om i svojim formatiranjem,
a ako ima više onda:
Code:
foreach ($line as $kljuc=>$col_value) {
$vrednost= ($kljuc<4) ? $col_value : sprintf("%.2f","$col_value");
.
.
.
<?php echo $vrednost;?>
.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|