Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
2 Tabellen in einem Query
#1
Hallo liebe Community,

Ich bin gerade dabei eine Blätterfunktion zu basteln.

Leider musste ich gerade feststellen, dass ich nur eine Query-Abfrage machen darf und eine Query Abfrage innerhalb einer anderen Abfrage nicht funktioniert.

Nun weiß ich leider nicht weiter.

Ich möchte aus einem Forum Überschrift, Datum, Antworten, Ansichten und die eigentliche Message auslesen lassen.

Leider sind diese Variabeln in 2 verschiedenen Tabellen: mybb_posts und mybb_threads.

Meine aktuelle Abfrage hätte ich so gemacht:
PHP-Code:
$abfrage "SELECT * FROM forum_threads WHERE visible='1' AND fid='30' ORDER BY tid DESC LIMIT $start$eintraege_pro_seite"

und dann noch

PHP-Code:
$query_two mysql_query ("SELECT tid,message FROM ".$prefix."posts WHERE replyto='0' AND tid='".$threads["tid"]."'"); 

Gibt es eine Möglichkeit diese Sachen auszugeben, indem man nur einen Query braucht?

Wäre euch wirklich unendlich dankbar!Rolleyes

MfG
Waluigi
Zitieren
#2
Hallo Waluigi,

auf die Schnelle, deshalb ohne Garantie auf absolut richtige Syntax Wink :
PHP-Code:
// Abfrage
$query $db->query("
    SELECT t.subject, t.dateline, t.views, t.replies, p.message, p.replyto
    FROM "
.TABLE_PREFIX."threads t
    LEFT JOIN "
.TABLE_PREFIX."posts p ON (t.tid=p.tid)
    WHERE 1=1 AND t.fid = '30' AND t.visible = '1' 
    OR t.fid = '30' AND p.replyto = '0'
    ORDER BY t.tid DESC
    LIMIT 
$start$max_posts 
"
);
// Ergebnis
$spec_list $db->fetch_array($query); 

Die jew. Werte kannst du dann z. B. mit "{$spec_list['subject']}", "{$spec_list['dateline']}" etc. ausgeben.
Zitieren
#3
Kleine Frage noch.

Wie gebe ich die Variabeln genau aus?

1.
<div>{$spec_list['dateline']}</div>

2.
<div>".$spec_list['dateline']."</div>

3.
<div>"{$spec_list['dateline']}"</div>

4.
<div>".{$spec_list['dateline']}."</div>

Welche Ausgabe davon wäre dann richtig? Rolleyes
Zitieren
#4
Verwende die erste Variante. Wink
Zitieren
#5
irgendwie wird das replyto = '0' nicht angenommen. Der zeigt bei mir leider auch noch die an, die replyto auf einer anderen Zahl stehen haben Sad

Kann mir vielleicht einer helfen, diesen kleinen Fehler noch zu beheben?

MfG,
Waluigi
Zitieren
#6
Verwende bitte einmal diese Query:
PHP-Code:
// Abfrage
$query $db->query("
    SELECT t.subject, t.dateline, t.views, t.replies, p.message, p.replyto
    FROM "
.TABLE_PREFIX."threads t
    LEFT JOIN "
.TABLE_PREFIX."posts p ON (t.tid=p.tid)
    WHERE 1=1 AND t.fid = '30' AND t.visible = '1' AND p.replyto = '0'
    ORDER BY t.tid DESC
    LIMIT 
$start$max_posts 
"
);
// Ergebnis
$spec_list $db->fetch_array($query); 
Zitieren
#7
Vielen Dank!!!

Es klappt nun einwandfrei.

Danke Danke! Big Grin
Zitieren
#8
Ich hänge mich da gleich mal dazu^^

Aslo ich habe auch 2 Querys und würde die gerne in einer vereinen, jedohc versteh ich da einiges noch nicht so recht...

Query 1:
PHP-Code:
$db->query("SELECT uid, time FROM ".TABLE_PREFIX."threadviewer WHERE tid=".$tid." ORDER BY time DESC"

Query 2:
PHP-Code:
$db->query("SELECT * FROM ".TABLE_PREFIX."users WHERE uid=".$record['uid']) 

Ich würde das gerne so haben, dass ich die uid mit dem ersten Query verbinden kann und dann zu jeder Reihe aus dem ersten Query das passende Gegenstück aus der 2. Query habe.

Ist das überhaupt möglich?!

Würde mcih freuen, wenn mir da jemand behilflich sein könnte Wink

MfG Megaleecher
Höre nie auf besser zu werden, weil dann hast du aufgehört gut zu sein.
Zitieren
#9
Code:
SELECT t.time, u.*
FROM ".TABLE_PREFIX."threadviewer t
LEFT JOIN ".TABLE_PREFIX."users u ON (t.uid=u.uid)
WHERE t.tid=".$tid."
ORDER BY t.time DESC;

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Realisierung einer komplexen MySQL Query Riccardo 2 963 14.07.2009, 18:53
Letzter Beitrag: Riccardo
  Optimale MySQL Query zur Erfassung von Themen Inhalten in einem Unterforum XY Riccardo 4 1.339 23.06.2009, 00:43
Letzter Beitrag: Riccardo
  [Gelöst]MYSQL Fehler in UPDATE Query Jan 3 1.303 27.02.2007, 15:52
Letzter Beitrag: Jan