You are not logged in.

  • Login

1

Sunday, May 22nd 2011, 11:46pm

Zwei verschiedene Spalten von verb. DB auslesen

Hallo, ich habe zwei versch. DB's
- aktivitaeten
- wermachwas

Wie der Name schon sagt, gibt der User bei "wermachtwas" ein was er gerade macht ( z.B. schaut gerade TV ) und bei "akivitaeten" wird die aktivität vom User angezeigt ( z.B. hat sich gerade angemeldet ).

Nun habe ich zwei Spalten welche mit dem Inhalt gefüllt werden
- aktivitaeten -> aktivitaet
- wermachwas -> cont

Weiterhin habe ich gemeinsamme Spalten ( id, user, datum )

Ich habe nun die beiden DB's miteinander verbunden :

Source code

1
$getaa=mysql_query("SELECT * FROM ".$dbx."_aktivitaeten LEFT JOIN ".$dbx."_wermachtwas ON ".$dbx."_aktivitaeten.id = ".$dbx."_wermachtwas.id");


Nun möchte ich nach Datum sortiert die beiden Inhalte ( aktivitaet ) und ( cont ) ausgeben.

Wie bekomme ich das hin, wäre auch mit einem Tipp einverstanden, ih wüsste jetzt nur wie ich es untereinander ausgeben kann.

Source code

1
2
3
4
5
6
.... GROUP BY user ORDER BY datum DESC LIMIT 0,10");
while($aa=mysql_fetch_array($getaa)) {
$getff=mysql_query("SELECT * FROM ".$dbx."_user WHERE id='".$aa[user]."'");
$ff=mysql_fetch_array($getff);
echo " ucfirst($ff[user]).$aa[aktivitaet].";
echo " ucfirst($ff[user]).$aa[cont].";


Danke im Voraus - Grüße aus Kaufbeuren - Jens

2

Tuesday, May 24th 2011, 7:09pm

Hi,
Ich verschieb das mal ins Datenbank Forum.
Eigentlich willst du die Inhalte doch nicht mit einem JOIN nebeneinander bringen, sondern mit einem UNION untereinander bringen.

Beispiel:

SQL Code

1
2
3
4
5
6
SELECT * FROM (
  SELECT aktivitaet, date FORM aktivitaeten WHERE userid = 500
  UNION
  SELECT cont, date FROM wermachwas WHERE userid = 500
)
ORDER BY date DESC

3

Wednesday, May 25th 2011, 4:05pm

nur zur Info
Datenbank != Tabelle

4

Wednesday, May 25th 2011, 9:13pm

@Ali g
Danke

@Torben Brodt
Habe nun folgende Abfrage :

Source code

1
2
3
4
5
6
7
SELECT * FROM 
(
  SELECT aktivitaet, datum FROM aktivitaeten 
  UNION
  SELECT cont, datum FROM wermachtwas 
)
ORDER BY datum DESC LIMIT 8


Brauche ich hier nicht auch ein Alias

5

Thursday, May 26th 2011, 8:35pm

Ja stimmt. Einfach ein x nach der Klammer ergänzen.

6

Thursday, May 26th 2011, 10:46pm

Quoted

Ja stimmt. Einfach ein x nach der Klammer ergänzen.


??????????

7

Thursday, May 26th 2011, 11:01pm

Siehe Zeile 6

SQL Code

1
2
3
4
5
6
7
SELECT * FROM 
(
  SELECT aktivitaet, datum FROM aktivitaeten 
  UNION
  SELECT cont, datum FROM wermachtwas 
) x
ORDER BY datum DESC LIMIT 8

8

Thursday, May 26th 2011, 11:20pm

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
$getaa=mysql_query("SELECT * FROM 
(
  SELECT aktivitaet, datum FROM ".$dbx."_aktivitaeten 
  UNION
  SELECT cont, datum FROM ".$dbx."_wermachtwas 
)x
ORDER BY datum DESC LIMIT 8
");

while($aa=mysql_fetch_array($getaa))
{
echo $aa[aktivitaet];
]


Irgendwie sehe ich den Wald vor lauter Bäumen nicht. Kann mal jemand mit 'ner Axt kommen.

Quoted

mysql_fetch_array(): supplied argument is not a valid MySQL result resource

9

Thursday, May 26th 2011, 11:26pm

.... doch jetzt scheint es zu funktionieren. Danke

Similar threads

Social bookmarks