PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   mehrere Tabellen mit teilweise gleichem Titel mit PHP abfragen (http://www.selfphp.de/forum/showthread.php?t=21840)

tobi28862 23.07.2009 01:30:28

mehrere Tabellen mit teilweise gleichem Titel mit PHP abfragen
 
Hallo,

leider habe ich über die Suchfunktion nichts passendes gefunden, entschuldigt falls ich mich dabei zu blöd angestellt habe.

Folgendes:
2 Tabellen in einer DB, "project" und "task". Beide haben als PS die Spalte "id".
Folgender Code bringt mir keine Textausgabe:

PHP-Code:

$sql $db->query('SELECT project.id, project.name, task.id, task.project_id, task.name FROM project, task WHERE project.id = task.project_id');
while(
$row $sql->fetch_assoc()) 
{  
  echo 
'<td><a href="' $link $row['project.id'] . '">' $row['task.name'] . '</a></td>';    
...


Dazu gehört natürlich noch mehr Code, aber worauf ich hinaus will ist wohl ersichtlich.
Auch mit JOIN gehts nicht, deshalb liegt es wohl am fetch_assoc. Unter PHPmyAdmin kann ich die SQL-Abfrage problemlos durchführen.
Hat jemand eine einfache Lösung? Ich wäre sehr dankbar dafür :-)

Gute Nacht!


P.S.: ohne Voranstellung des Tabellennames in den Variablen klappts, aber ich kann halt nicht mehr genau auswählen, welche Tabelle ich haben will. Dazu müsste ich dann immer "project" und "task" in der Abfrage vertauschen.

Indyk 23.07.2009 08:11:00

AW: mehrere Tabellen mit teilweise gleichem Titel mit PHP abfragen
 
Hallo tobi28862,

versuch es mal mit aliasen
Code:

SELECT
 task.id as taskId,
 project.id as projectId
FROM
 ....

dann sollte es ohne weitere probleme möglich sein die elemente in einem assoziativen array anzusprechen.

Zudem könntest du dir $row ausgeben lassen um zu sehen welchen schlüssel die gewünschten felder haben damit du nicht raten musst.

PHP-Code:

echo '<pre>'print_r($rowTRUE) .'</pre>'


tobi28862 23.07.2009 09:46:08

AW: mehrere Tabellen mit teilweise gleichem Titel mit PHP abfragen
 
Danke! Das hat mir geholfen!
Ist zwar nicht super-komfortabel, da ich alle SQL-Queries umschreiben muss, aber es geht.


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:37:18 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.