ODBC - ACCESS
Moderatori: Moderatori, Start Moderator
Afisez mai jos tot codul din pagina poate cineva are succes.Eu sincer de 2 zile ma tot uit la el a nu se intelege continuu :) dar chiar nu imi dau seama unde poate fi gresala.Ideea este ca daca in interogare folosesc aliasuri de genul "AliasBazaDeDate.camp" nu imi afiseaza nimic in pagina forma actuala.Daca scot aliasurile imi afiseazadar va dati seama ca am nevoie de ele pt o interogare cu mai multe joinuri.Am luat si varianta sa scot aliasuri, fie mi-am zis dar tot degeaba ca daca folosesc al doilea JOIN nu imi mai afiseaza nimic.
[b]Erorile sunt de genul:[/b]
[i]Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'a.lngOperatorTara=o.lngOperator LEFT JOIN tblProdus as p ON a.lngProdus=p.lngProdus'., SQL state 37000 in SQLExecDirect in C:\wamp\www\ACCESS\access.php on line 10
Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in C:\wamp\www\ACCESS\access.php on line 28[/i]
[b]CODUL:[/b]
<?php
$odbc = odbc_connect("leg.ODBC.ACCESS", "", "") or die ("ESUATA");
$sql= "SELECT a.lngTichet,a.lngNumar,a.txtNumarVehicul,a.lngProdus,p.txtNume,
a.lngDelegat,a.lngFurnizor,a.lngCumparator,a.lngTipLivrare,a.lngTara,a.lngOperatorTara,o.txtNume
FROM tblTichetArhiva as a
LEFT JOIN tblOperator as o ON a.lngOperatorTara=o.lngOperator
LEFT JOIN tblProdus as p ON a.lngProdus=p.lngProdus;";
$query = odbc_exec($odbc,$sql);
echo "<table border=1>";
echo "<tr>";
echo "<td>TICHET</td>";
echo "<td>NUMAR</td>";
echo "<td>VEHICUL</td>";
echo "<td>PRODUS</td>";
echo "<td>NUME PRODUS</td>";
echo "<td>DELEGAT</td>";
echo "<td>FURNIZOR</td>";
echo "<td>CUMPARATOR</td>";
echo "<td>LIVRARE</td>";
echo "<td>TARA</td>";
echo "<td>COD OPERATOR</td>";
echo "<td>NUME OPERATOR</td>";
echo "</tr>";
while($row = odbc_fetch_array($query))
{
echo "<font size=2>";
echo "<tr>";
echo "<td>".$row['a.lngTichet']."</td>";
echo "<td>".$row['a.lngNumar']."</td>";
echo "<td>".$row['a.txtNumarVehicul']."</td>";
echo "<td>".$row['a.lngProdus']."</td>";
echo "<td>".$row['p.txtNume']."</td>";
echo "<td>".$row['a.lngDelegat']."</td>";
echo "<td>".$row['a.lngFurnizor']."</td>";
echo "<td>".$row['a.lngCumparator']."</td>";
echo "<td>".$row['a.lngTipLivrare']."</td>";
echo "<td>".$row['a.lngTara']."</td>";
echo "<td>".$row['a.lngOperatorTara']."</td>";
echo "<td>".$row['o.txtNume']."</td>";
echo "</tr>";
echo "</font>";
}
echo "</table>";
odbc_close($odbc);
?>
[b]Erorile sunt de genul:[/b]
[i]Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'a.lngOperatorTara=o.lngOperator LEFT JOIN tblProdus as p ON a.lngProdus=p.lngProdus'., SQL state 37000 in SQLExecDirect in C:\wamp\www\ACCESS\access.php on line 10
Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in C:\wamp\www\ACCESS\access.php on line 28[/i]
[b]CODUL:[/b]
<?php
$odbc = odbc_connect("leg.ODBC.ACCESS", "", "") or die ("ESUATA");
$sql= "SELECT a.lngTichet,a.lngNumar,a.txtNumarVehicul,a.lngProdus,p.txtNume,
a.lngDelegat,a.lngFurnizor,a.lngCumparator,a.lngTipLivrare,a.lngTara,a.lngOperatorTara,o.txtNume
FROM tblTichetArhiva as a
LEFT JOIN tblOperator as o ON a.lngOperatorTara=o.lngOperator
LEFT JOIN tblProdus as p ON a.lngProdus=p.lngProdus;";
$query = odbc_exec($odbc,$sql);
echo "<table border=1>";
echo "<tr>";
echo "<td>TICHET</td>";
echo "<td>NUMAR</td>";
echo "<td>VEHICUL</td>";
echo "<td>PRODUS</td>";
echo "<td>NUME PRODUS</td>";
echo "<td>DELEGAT</td>";
echo "<td>FURNIZOR</td>";
echo "<td>CUMPARATOR</td>";
echo "<td>LIVRARE</td>";
echo "<td>TARA</td>";
echo "<td>COD OPERATOR</td>";
echo "<td>NUME OPERATOR</td>";
echo "</tr>";
while($row = odbc_fetch_array($query))
{
echo "<font size=2>";
echo "<tr>";
echo "<td>".$row['a.lngTichet']."</td>";
echo "<td>".$row['a.lngNumar']."</td>";
echo "<td>".$row['a.txtNumarVehicul']."</td>";
echo "<td>".$row['a.lngProdus']."</td>";
echo "<td>".$row['p.txtNume']."</td>";
echo "<td>".$row['a.lngDelegat']."</td>";
echo "<td>".$row['a.lngFurnizor']."</td>";
echo "<td>".$row['a.lngCumparator']."</td>";
echo "<td>".$row['a.lngTipLivrare']."</td>";
echo "<td>".$row['a.lngTara']."</td>";
echo "<td>".$row['a.lngOperatorTara']."</td>";
echo "<td>".$row['o.txtNume']."</td>";
echo "</tr>";
echo "</font>";
}
echo "</table>";
odbc_close($odbc);
?>
Am gasit.Pentru cei care se vor lovi de asa ceva doua variante am:
$sql= "SELECT .lngTichet,a.lngNumar,a.txtNumarVehicul,a.lngProdus,p.txtNume as numProd,a.lngDelegat,
a.lngFurnizor,a.lngCumparator,a.lngTipLivrare,a.lngTara,a.lngOperatorTara,o.txtNume as numOperator
FROM (tblTichetArhiva a
LEFT JOIN tblOperator o ON a.lngOperatorTara=o.lngOperator)
LEFT JOIN tblProdus p ON a.lngProdus=p.lngProdus";
(sau)
$sql= "SELECT .lngTichet,a.lngNumar,a.txtNumarVehicul,a.lngProdus,p.txtNume as numProd,
a.lngDelegat,a.lngFurnizor,a.lngCumparator,a.lngTipLivrare,a.lngTara,a.lngOperatorTara,o.txtNume as numOperator
FROM tblTichetArhiva as a, tblOperator as o, tblProdus as p
WHERE a.lngOperatorTara=o.lngOperator AND a.lngProdus=p.lngProdus;";
$sql= "SELECT .lngTichet,a.lngNumar,a.txtNumarVehicul,a.lngProdus,p.txtNume as numProd,a.lngDelegat,
a.lngFurnizor,a.lngCumparator,a.lngTipLivrare,a.lngTara,a.lngOperatorTara,o.txtNume as numOperator
FROM (tblTichetArhiva a
LEFT JOIN tblOperator o ON a.lngOperatorTara=o.lngOperator)
LEFT JOIN tblProdus p ON a.lngProdus=p.lngProdus";
(sau)
$sql= "SELECT .lngTichet,a.lngNumar,a.txtNumarVehicul,a.lngProdus,p.txtNume as numProd,
a.lngDelegat,a.lngFurnizor,a.lngCumparator,a.lngTipLivrare,a.lngTara,a.lngOperatorTara,o.txtNume as numOperator
FROM tblTichetArhiva as a, tblOperator as o, tblProdus as p
WHERE a.lngOperatorTara=o.lngOperator AND a.lngProdus=p.lngProdus;";
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 22 vizitatori
