Auslesen aus mehreren Datenbanken
Philip Naggert
- php
0 chrigu0 kaepten
0 Stefan L0 romy0 Philip Naggert
Hallo,
ich möchte bei meinem Newssystem die News sowie die User aus 2 Datenbanken auslesen und das mit einer SELECT-Abfrage:
$tmp="SELECT * FROM news_posts, liga_user WHERE news_posts.user = liga_user.id AND rubrik='$rubrik' ORDER by timestamp DESC LIMIT 0,5";
}
$connect->do_query($tmp);
while($connect->getrow()) {
$id=$connect->field("id");
$titel=$connect->field("titel");
$artikel=$connect->field("artikel");
$datum=$connect->field("datum");
$img=$connect->field("img");
$nickname=$connect->field("nickname");
$profilid=$connect->field("id");
.... hier gehts dann halt weiter, ist aber nicht relevant!
Nun sehr Ihr vielleicht schon das Problem, denn in beiden Tabellen gibt es einen Wert namen "id", einmal in news_posts und einmal in liga_user...
liga_user: id = userid
news_posts: id = newsid
Jetzt habe ich das Problem beim zuordnen, denn der Wert "id" wird nun einmal $id und einmal $profilid zugeordnet.
Wie kann ich dem Script nun klarmachen, dass $id die ID von news_posts sein soll und $profilid die ID von liga_user?
Hoffe, ich hab mich nicht zu kompliziert ausgedrückt, danke für Eure Hilfe
Philip
hi,
ich weiss nicht, ob ich dich genau verstehe..
aber du kannst mit mysql beim auslesen die spaltennamen ändern. z.b.
SELECT liga_user.id as userid, news_posts.id as newsid FROM liga_user,news_posts
du hättest somit die feldee userid und newsid als resultat..
gruss chrigu
Hi Philip
Ja das hätt ich auch geschrieben:
SELECT liga_user.id as userid, news_posts.id as newsid FROM liga_user,news_posts
Ist ein reines SQL "Problem". Hier kannst Du nachlesen:
http://www.little-idiot.de/mysql/mysql-117.html
cheers
kaepten
hi philip
zum einen liest du mit deiner abfrage aus 2 verschieden tabellen einer datenbankaus
SELECT * FROM news_posts, liga_user WHERE news_posts.user = liga_user.id AND rubrik='$rubrik' ORDER by timestamp DESC LIMIT 0,5
$connect->do_query($tmp);
while($connect->getrow()) {$id=$connect->field("id");
$titel=$connect->field("titel");
$artikel=$connect->field("artikel");
$datum=$connect->field("datum");
$img=$connect->field("img");
$nickname=$connect->field("nickname");
$profilid=$connect->field("id");
und zur lösung deines problems, musst du die tabellennamen mit angeben
so z.b.
$profilid=$connect->field("tabelle.id");
Hi,
ich möchte bei meinem Newssystem die News sowie die User aus 2 Datenbanken auslesen und das mit einer SELECT-Abfrage:
ichz habe schon wer weiss was gedacht und nun sehe ich dass DU zwei Tabellen meist, nicht 2 Datenbanken ;)
$tmp="SELECT * FROM news_posts, liga_user WHERE news_posts.user = liga_user.id AND rubrik='$rubrik' ORDER by timestamp DESC LIMIT 0,5";
}
$id=$connect->field("id");
Du machst es doch schon in der Abfrage richtig, was spricht gegen
$id=$connect->field("new_posts.id");
bzw. (ich kenne jetzt dein dbms nicht) kann man bei der Abfrage schon direkt aliasse vergeben
a la : select new_posts.id as pid, ... (pid wäre dann dein Afragename)
ciao
romy
Super, hat wunderbar geklappt, danke Euch!!! War schon am verzweifeln... Dieses Forum ist einfach genial