witam wszystkich,
Mam taki kod w php+mysql
public function gen_rejestr($dat_start="",$dat_end=""){
$counter=1;
$style = "valign='top' style='background-color: #ffffff; color: #6A6A6A; border: 1px solid #D7E5aa; border-collapse: collapse;'";
$fv_dane_firmy = tool_bag::sql_get("aux_value", "auxil", "aux_name = 'dane_firmy'");
$fv_dane_firmy = str_replace("\n", "<br>", $fv_dane_firmy);
$sqlik= "SELECT * from fv_widok_nabywca WHERE fv_date_wyst >= '$dat_start' AND fv_date_wyst <= '$dat_end'
AND fv_fv_type IN (0,2) ORDER BY fv_num"; // in (0,2)
$reks = mysql_query($sqlik) or die(mysql_error());;
$cialo = "<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=windows-1250'>
<meta name='generator' content='pspad editor, http://www.pspad.com'>
<title>Rejestr sprzeda?y z przedzia?u: [$dat_start] a [$dat_end]</title>
<style type='text/css' media='all'>
.gray {background-color: #e0e0e0; margin-top: 2; margin-bottom: 2; }
.gray_td {background-color: #e0e0e0; text-decoration: underline; text-align: center; border: 1px solid #000000; border-collapse: collapse; padding: 2px;}
.gray_wide {background-color: #e0e0e0; margin-top: 5; margin-bottom: 2; }
.fv_std_td{ border: 1px solid #000000; border-collapse: collapse; empty-cells: show; margin: 2px; font-size: 11px; padding: 5px;}
.do_zaplaty{ background-color: #e0e0e0; border: 1px solid #000000; border-collapse: collapse; empty-cells: show; margin-top: 5px; font-size: 12px; padding: 5px;}
.std_td{ border: 1px solid #000000; border-collapse: collapse; empty-cells: show; margin: 2px; font-size: 11px; }
td {font-size: 12px; font-family: arial;}
hr { height: 1px; background-color: none; color: slategray;}
</style>
</head>
<body LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
$fv_dane_firmy<br><br>
<center><h2>Rejestr z przedzia?u: od $dat_start do $dat_end</h></center>
<table width=100%>";
$al ="align=middle";
$cialo .= "<tr>
<td $al>LP</td>
<td $al>Typ Dokumentu</td>
<td $al>Numer Dokumentu</td>
<td $al>Data wystawienia</td>
<td $al>Data sprzeda?y</td>
<td $al>Dane Nabywcy</td>
<td $al>Obrót brutto razem<br>VAT razem</td>
<td $al>Netto 22% <br>VAT 22%</td>
<td $al>Netto 7% <br>VAT 7%</td>
<td $al>Netto 3% <br>VAT 3%</td>
<td $al>Netto 0% <br>VAT 0%</td>
<td $al>Zwolnione</td
</tr>
";
while ($fv_dane = mysql_fetch_array($reks))
{
if ($fv_dane[fv_fv_type] == "0") { $typ="Faktura VAT";}
else { $typ="Korekta do FV o nr: <b>$fv_dane[fv_fv2fv_kor]</b>"; }
$sql_licz2 = "SELECT sum(wart_netto) as nt, sum(wart_brutto) as br, sum(vat) as vat from (
SELECT fvwz_s_nazwa, sum(fvwz_s_ilosc) as fvwz_s_ilosc, fvwz_s_cena, fvwz_s_ilosc*fvwz_s_cena as wart_netto,
(fvwz_s_ilosc*fvwz_s_cena)*1.22 as wart_brutto,((fvwz_s_ilosc*fvwz_s_cena)*1.22)-(fvwz_s_ilosc*fvwz_s_cena) as vat
FROM fvwz_stuff
WHERE fvwz_s_id_faktura IN (
SELECT fvwz_s_id_faktura from fvwz_stuff WHERE fvwz_s_id_faktura = '$fv_dane[id_fvwz]')
GROUP BY fvwz_s_id_sprzet, fvwz_s_cena) as sraka";
$sql_licz = "SELECT fv_value_total as nt, fv_value_total*1.22 as br, (fv_value_total*1.22) - fv_value_total as vat from fvwz
WHERE id_fvwz = '$fv_dane[id_fvwz]'";
;
$reksios = mysql_query($sql_licz) or die(mysql_error());;
$podliczenia = mysql_fetch_array($reksios);
$podliczenia[br] = number_format($podliczenia[br], 2);
$podliczenia[nt] = number_format($podliczenia[nt], 2);
$podliczenia[vat] = number_format($podliczenia[vat], 2);
$nabywca = faktura_vat::dane_czlowieczka($fv_dane[fv_na_id],"br");
$fv_dane[fv_na_dane] = str_replace("\n", "<br>", $fv_dane[fv_na_dane]);
$cialo .= "<tr>
<td $style>$counter</td>
<td $style>$typ</td>
<td $style>$fv_dane[fv_num]</td>
<td $style>$fv_dane[fv_date_wyst]</td>
<td $style>$fv_dane[fv_date_sprz]</td>
<td $style>$nabywca</td
<td $style>$podliczenia[br]<br><br>$podliczenia[vat]</td
<td $style>$podliczenia[nt]<br><br>$podliczenia[vat]</td
<td $style>0,00<br>0,00</td
<td $style>0,00<br>0,00</td
<td $style>0,00<br>0,00</td
<td $style>0,00</td
</tr>
";
$counter++;
}
$cialo .= "</table>";
$sql_total2= "SELECT sum(wart_netto) as nt, sum(wart_brutto) as br, sum(vat) as vat from (
SELECT fvwz_s_nazwa, sum(fvwz_s_ilosc) as fvwz_s_ilosc, fvwz_s_cena, fvwz_s_ilosc*fvwz_s_cena as wart_netto,
(fvwz_s_ilosc*fvwz_s_cena)*1.22 as wart_brutto,((fvwz_s_ilosc*fvwz_s_cena)*1.22)-(fvwz_s_ilosc*fvwz_s_cena) as vat
FROM fvwz_stuff
WHERE fvwz_s_id_faktura IN (
SELECT id_fvwz from fv_widok_nabywca WHERE fv_date_wyst >= '$dat_start' AND fv_date_wyst <= '$dat_end' AND fv_fv_type IN (0))
GROUP BY fvwz_s_id_sprzet, fvwz_s_cena) as sraka";
$sql_total = "SELECT sum(fv_value_total) as nt, sum(fv_value_total)*1.22 as br, (sum(fv_value_total)*1.22) - sum(fv_value_total) as vat
from fvwz
WHERE fv_date_wyst >= '$dat_start' AND fv_date_wyst <= '$dat_end' AND fv_fv_type IN (0,2)";
$reksio = mysql_query($sql_total) or die(mysql_error());;
$podliczenia = mysql_fetch_array($reksio);
$podliczenia[br] = number_format($podliczenia[br], 2);
$podliczenia[nt] = number_format($podliczenia[nt], 2);
$podliczenia[vat] = number_format($podliczenia[vat], 2);
$cialo .= "<center><br><br>
<table width='250'>
<tr><td>??cznie BRUTTO: </td><td><b><u>$podliczenia[br]</u></b></td></tr>
<tr><td>??cznie NETTO: </td><td><b><u>$podliczenia[nt]</u></b></td></tr>
<tr><td>??cznie VAT 22%: </td><td><b><u>$podliczenia[vat]</u></b></td></tr>
</table>
</center>";
header("Content-type: text/html; charset=windows-1250");
header("Content-Disposition: attachment; filename=REJESTR-$dat_start-$dat_end.html");
header("Pragma: no-cache");
header("Expires: 0");
print $cialo;
}
i tam gdzie jest pole $nabywca wyrzuca scalone z bazy komórki jako cały adres, a ja potrzebuję osobno nazwę, adres oraz nip. pisał to dawno temu mój kolega ze studiów i niestety nie ma z nim kontaktu...
działa to ok ale wprowadzili od nowego roku jenolity plik kontorlny i ja zamiast rejestru jak powyżej potrzebuje dodatkowo rozdzielone pole właśnie nazwę,adres, nip jako trzy kolumny by to wysłać księgowej...
nie mogę tego rozgryzc jak podzielic to pole lub wrzucic tam odpowiednie pola z bazy...
teraz jest
NAZWA
ULICA
KOD MIEJSCOWOSC
NIP
a ja potrzebuje osobno kolumny NAZWA, ULICA, KOD+MIEJSCOWOSC, NIP.
nie wiem czy mozna podzielic juz ten wystepujacy rekord na linie czy z bazy wyciagnac odpowiednie pola i je wyswietlic...
jesli cos jeszcze byloby potrzebne by namierzyc pola prosze pisac podesle... probowalem to zrobic juz kilkanascie godzin i nie chce mi wpisac tych danych w wyniku...
pozdrawiam,