ODBC - ACCESS

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator


raz_atoth
PHPRomania Supporter
Mesaje: 26
Membru din: Vin Apr 01, 2005 12:42 am

Mesajde raz_atoth » Joi Apr 19, 2007 3:42 pm

LEFT JOIN tblProdus as p ON lngProdus=lngProdus

Mi se pare mie sau coloanele pentru care faci 'joinul' sunt identice?

Avatar utilizator
chucki21
Average Member
Mesaje: 95
Membru din: Lun Feb 06, 2006 3:21 pm

Mesajde chucki21 » Joi Apr 19, 2007 3:46 pm

o eroare de scriere imic er scuze la aceea egalitate lngProdus=lngProdus am uitat sa scriu a.lngProdus=p.lngProdus de fapt in script e cum am scris acum a doua oara.Eroarea ramane ..

Avatar utilizator
chucki21
Average Member
Mesaje: 95
Membru din: Lun Feb 06, 2006 3:21 pm

Mesajde chucki21 » Vin Apr 20, 2007 9:33 am

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);
?>

Avatar utilizator
chucki21
Average Member
Mesaje: 95
Membru din: Lun Feb 06, 2006 3:21 pm

Mesajde chucki21 » Vin Apr 20, 2007 11:20 am

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;";


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 16 vizitatori