gleichnamige Felder aus 2 Tabellen aufrufen

julia29

Erfahrenes Mitglied
Hi,
ich möchte nach einer Verknüpfung von 2 Tabellen die jeweiligen Felder einer Variablen zuweisen. Nun stelle ich fest, dass in Tabelle 1 und Tabelle 2 einige Felder mit genau dem gleichen Feldnamen versehen sind. Wie kann ich eine Eindeutigkeit erreichen?

PHP:
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
    {
     $id = $row->id;
     $intro = $row->introtext;
     $title = $row->title;
     $title_2 = $row->(`jos_sections`.`title`);

# ich habe es auch schon so versucht:
     $title_2 = $row->`jos_sections`.`title`;

beide Varianten klappen nicht.
Wie muss ich es richtig schreiben um für $title_2 das Feld 'title' aus der Tabelle 'jos_sections' zuzuweisen.
mfg
Julia
 
Hi,

Du könntest auch in Deiner Abfrage Aliase verwenden:

Code:
SELECT tabelle1.title AS t1_title, tabelle2.title AS t2_title
   FROM tabelle1 JOIN tabelle2 ...

LG
 
Wenn du die Kopfspalte des Resultats vom Query zeigst kann man es dir ganz genau sagen.

Oder probier das: Statt es als Objekt zu holen, nimm ein assoziiertes Array:
PHP:
$row = mysql_fetch_assoc($result);
echo $row["jos_sections.title"];
(ohne die Backticks) http://de.php.net/manual/de/function.mysql-fetch-assoc.php

hier der komplette Code-Teil
PHP:
$abfrage = "SELECT `jos_content`.*, `jos_sections`.*
FROM `jos_content`
LEFT JOIN `jos_sections` ON `jos_content`.`sectionid` = `jos_sections`.`id`
LIMIT $start, $eintraege_pro_seite";

$result = mysql_query($abfrage);
while($row = mysql_fetch_assoc($result))
    {
    	$id = $row->id;
    	$title = $row["jos_content.title"];
    	$title_2 = $row["jos_sections.title"];

    	$intro = $row->introtext;
    	$creat = $row->created;    	
    	$mod = $row->modified;
    	$sectionid = $row->sectionid;


Ja, Fehler ist weg, aber es werden noch keine Daten angezeigt.
Wie bekomme ich Werte in die Variablen?
 
Ja, Fehler ist weg, aber es werden noch keine Daten angezeigt.
Wie bekomme ich Werte in die Variablen?

Führt dein Query zu einem Ergebnis, wenn man ihn zum Beispiel in phpMyAdmin oder ähnlichem ausführt?

PHP:
    	$id = $row->id;
    	$title = $row["jos_content.title"];
    	$title_2 = $row["jos_sections.title"];
Merkst du bei diesen Zeilen was? Du willst immernoch das $row als Objekt behandeln bezüglich "id". Nich machen ;)

Aliase wie von kuddeldaddeldu vorgeschlagen wären auch gut um den Code lesbarer zu machen, besser unterscheiden zu können und dann kann man auch wieder auf mysql_fetch_object umsteigen wenn man will.
 
Zurück