W kodzie raczej bledu nie ma. Jedno z zapytan bez Outer Joinow wykonuje sie dobrze:
<html>
<body>
<?php
$z_rok=$_POST['rok'];
$z_mc=$_POST['mc'];
$z_dzial=$_POST['dzial'];
$z_kontrah=$_POST['kontrah'];
$conn=odbc_connect('bheuro','','');
if (!$conn)
{exit("Connection Failed: " . $conn);} $sql="
select fakturav.nr_f, kod_o, kontrah.nazwa as naz_kontr, TOWAR_V.ILOSC_Z as ilos
c,TOWAR_V.CENA_EW as cenaew,TOWAR_V.CENA_NET as cenane, naz_tow.nazwa as naztow
from gm.FAKTURAV, gm.towar_v, gm.naz_tow, gm.kontrah
where fakturav.nr_f = towar_v.nr_f and towar_v.towar=naz_tow.towar and fakturav.
kod_o=kontrah.kod and fakturav.dzial=towar_v.dzial
and fakturav.dzial=$z_dzial and fakturav.rr=$z_rok and fakturav.mc=$z_mc and fak
turav.kod_o=$z_kontrah
";
$rs=odbc_exec($conn,$sql);
if (!$rs)
echo "<table border=1><tr>"; echo "<th>nrumer_faktury</th>"; echo "<th>kod_odbiorcy</th>"; echo "<th>nazwa_kontrahenta</th>"; echo "<th>cena_ewidencyjna</th>"; echo "<th>cena_netto</th>"; echo "<th>nazwa_towaru</th></tr>"; while (odbc_fetch_row($rs))
{
$nr_f=odbc_result($rs,"nr_f");
$kod_o=odbc_result($rs,"kod_o");
$nazwa_kontrah=odbc_result($rs,"naz_kontr");
$ilosc=odbc_result($rs,"ilosc");
$cenaew=odbc_result($rs,"cenaew");
$cenane=odbc_result($rs,"cenane");
$naztow=odbc_result($rs,"naztow");
echo "<tr><td>$nr_f</td>"; echo "<td>$nazwa_kontrah</td>"; echo "<td>$naztow</td></tr>";
}
odbc_close($conn);
?>
<br>
<form name="form1" method="post" action="index.php">
<input type="submit" name="Submit" value="POWROT">
</form>
</body>
</html>
To zapytanie dziala poprawnie, jezeli jest wykonane w ISQL Sybasa, wiez skonstru
owane jest dobrze - problemem jest przeniesienie tego do php.
Tak wyglada skrypt:
<html>
<body>
<?php
$z_rok=$_POST['rok'];
$z_mc=$_POST['mc'];
$z_dzial=$_POST['dzial'];
$z_kontrah=$_POST['kontrah'];
$conn=odbc_connect('bheuro','','');
if (!$conn)
{exit("Connection Failed: " . $conn);} $sql="
SELECT INDEKS_T."MAG", INDEKS_T."NR_PZ", INDEKS_T."RR", INDEKS_T."STAN_P", INDEKS_T."CENA_AKT"
,INDEKS_T."CENA_WALT", INDEKS_T."IL_P", NAZ_TOW."NAZWA"
FROM GM.INDEKS_T INDEKS_T
LEFT OUTER JOIN GM.NAZ_TOW NAZ_TOW ON INDEKS_T."BRAN
" = NAZ_TOW."BRAN
" AND INDEKS_T."POD_BRAN
" = NAZ_TOW."POD_BRAN
" AND INDEKS_T."ASORT" = NAZ_TOW."ASORT" AND INDEKS_T."TOWAR
" = NAZ_TOW."TOWAR
" LEFT OUTER JOIN GM.NAWAZ NAWAZ_USAGE2 ON INDEKS_T."KOD_N" = NAWAZ_USAGE2."KOD")
LEFT OUTER JOINGM.JEDN_M JEDN_M_USAGE3 ON INDEKS_T."JM" = JEDN_M_USAGE3."KOD"
WHERE
INDEKS_T.MAG = '01'
ORDER BY INDEKS_T.MAG, INDEKS_T.BRAN, INDEKS_T.POD_BRAN,
INDEKS_T.ASORT, INDEKS_T.TOWAR, INDEKS_T.KOD_N, INDEKS_T.NR_PZ, INDEKS_T.RR
";
$rs=odbc_exec($conn,$sql);
if (!$rs)
echo "<table border=1><tr>"; echo "<th>magazyn</th></tr>"; while (odbc_fetch_row($rs))
{
$mag=odbc_result($rs,"mag");
echo "<tr><td>$mag</td>";
}
odbc_close($conn);
?>
<br>
<form name="form1" method="post" action="index.php">
<input type="submit" name="Submit" value="POWROT">
</form>
</body>
</html>
poprawiam
---
nospor