output ophalen uit 2 tabellen met zelfde veldnamen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jacob Goor

Jacob Goor

28/11/2012 14:40:59
Quote Anchor link
Dit is mijn query
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
="SELECT orders.*, klanten.*, adressen.*, adressen_1.* FROM (((orders LEFT JOIN klanten ON orders.klantID = klanten.ID) LEFT JOIN adressen ON orders.ladresID = adressen.adresID) LEFT JOIN adressen AS adressen_1 ON orders.eadresID = adressen_1.adresID)";
?>


adressen en adressen_1 hebben dezelfde structuur. Ik probeer nu als volgt de gegevens op te halen:

echo '<td>'.$a_laad->adressen.naam1.'</td>';
echo '<td>'.$a_laad->adressen_1.naam1.'</td>';

Dit werkt niet. Wie kan mij helpen?
 
PHP hulp

PHP hulp

14/11/2024 18:28:41
 
Marvin H

Marvin H

28/11/2012 15:00:07
Quote Anchor link
plaats je volledige query en execute eens... aan de hand hiervan is het lastig te bepalen. Nog een tip: gebruik nooit een SELECT * , maar schrijf alle te selecteren velden gewoon uit...
 
Jacob Goor

Jacob Goor

28/11/2012 15:05:21
Quote Anchor link
Hallo Marvin. Bedankt voor je reactie. Ik zet hier de hele pagina, maar het gaat eigenlijk om de output echo '<td>'.$a_laad->adressen_1.naam1.'</td>'; Ik wil graag weten hoe ik hierin kan verwijzen naar de juiste tabel.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Speedway Dispo Programm</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<link rel="shortcut icon" href="images/Trs.ico" type="image/x-icon" />
</head>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
echo '<div id="Header">';
echo '<body>';
include ("IncludeHeader.inc");
echo '</div>';

echo '<div id="Knoppen">';
include ("Knoppenbalk.inc");
echo '</div>';

include ('opendatabase.inc');

echo '<div id="homebody">';
echo '<font size="3px" style="COLOR: #ffffff ; BACKGROUND-COLOR: #ff9b50" ><b> Auftr&auml;gen&nbsp;</b></font>';

echo '<center>';
echo '<br><br>';
$ordsel=mysql_query("SELECT orders.*, klanten.*, adressen.*, adressen_1.* FROM (((orders LEFT JOIN klanten ON orders.klantID = klanten.ID) LEFT JOIN adressen ON orders.ladresID = adressen.adresID) LEFT JOIN adressen AS adressen_1 ON orders.eadresID = adressen_1.adresID)");
echo '<table border="2">';
while($a_laad = mysql_fetch_object($ordsel)){
      echo '<tr>';
      echo '<td>'.$a_laad -> unieknummer.'</td>';
      echo '<td>'.$a_laad -> klantcode.'</td>';
      echo '<td>'.$a_laad -> firmanaam.'</td>';
      echo '<td>'.$a_laad->adressen.naam1.'</td>';
      echo '<td>'.$a_laad->adressen.naam1.'</td>';
      echo '<td>'.$a_laad -> laded.'</td>';        
      echo '</tr>';
          }

echo '</table>';




echo '</div>';

echo '<div id="homebottom">';
include ("IncludeBottom.inc");
echo '</div>';

?>

</body>
</html>
 

28/11/2012 15:22:55
Quote Anchor link
Ligt het niet aan de left join addressen as addressen_1 as ..
Heb zo'n vermoeden dat het daar fout gaat.

Been geen pro maar dat viel mij op.
 
Erwin H

Erwin H

28/11/2012 16:07:11
Quote Anchor link
Tabel naam wordt NOOIT meegegeven in de resultaten. Als je dus adressen.naam1 en adressen_1.naam1 selecteert komen ze dus allebei als naam1 in je resultaten.... en ja, dat kan dus niet. De tweede die wordt opgehaald overschrijft de eerste.

Oplossing:
1) zoals al gezegd, geen * gebruiken, maar alle op te halen kolommen uitschrijven
2) als er kolommen bij zijn met dubbele namen aliassen gebruiken (bijvoorbeeld: SELECT adressen.naam1 AS ad_naam1, adressen_1.naam1 AS ad1_naam1)
 
Jacob Goor

Jacob Goor

28/11/2012 16:39:12
Quote Anchor link
Hallo Erwin.

Dit lost mijn probleem op.

Dank je wel

Toevoeging op 28/11/2012 17:16:40:

Wat moet ik doen als ik in beide tabellen twee gelijke namen heb?

SELECT adressen.naam1 AS ad_naam1, adressen.plaats AS ad_plaats werkt niet

SELECT adressen.naam1,plaats AS ad_naam1,ad_plaats werkt ook niet

Toevoeging op 28/11/2012 19:39:55:

Ik ben er helemaal uit. Bedankt aan de meedenkers.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.