werte aus 2 table übergeben

stefan0815

Grünschnabel
hallo zusammen,

ich habe folgendes prob.
ich habe ein forum das in 2 sections aufgeteilt ist, ein internes und ein externes.
Nun wollte ich eine statistic hierfür anfertigen. Zählung der artikel und auflistung funktioniert soweit. Nun werden aber bei der auflistung der letzten beiträge auch die der internen beiträge angezeigt . Die texte der auszulesenden daten liegen in dem tbl_foren_data, die Sections der foren aber in tbl_foren die mit area=0 (intern) und area=1 (extern) angegeben werden.

$sql = "SELECT id, text, autorname, autor, tstamp, forum, topicid FROM $tbl_foren_data ORDER BY id LIMIT 8";
if(!$query = mysql_query($sql, $db_conn))
{
dberror();
}
for($i=0; $dat = mysql_fetch_array($query); $i++)
{
if($i %2 == 0) { $bgcol = $cm_col_cell1; } else { $bgcol = $cm_col_cell2; }

if($dat[autor] > 0) { $lastautor = unidat($dat[autor], 'playername', $tbl_users); }

else { $lastautor = $dat[autorname]; }

$tstamp = date('d.m.Y H:i', $dat[tstamp]);
$name = unidat($dat[forum], 'name', $tbl_foren);
$text = substr($dat[text], 0, 25);

um jetzt nur die Foren-Einträge der area=1(extern) anzuzeigen müsste ich noch angeben das er nur die der $tbl_foren mit dem entsprechender id auflistet... doch da komme ich einfach nicht weiter... hat viel. jemand nen rat
 
EDIT: 'OK, kann gar nicht funktionieren ^^ versuch doch mal, einfach bei der tbl_foren_data eine Spalte mit "typ" reinzumachen, und setze da ein "1" für intern und "0" für extern (oder wie auch immer)
 
Zuletzt bearbeitet:
geht leider nicht da es ein fertiges script ist und die areas fest vergeben sind, diese werden eben nur im $tbl_foren angezeigt. wobei die daten, sprich texte usw. im $tbl_foren_data abgelegt werden.
$tbl_foren_data ->id, text, autorname, autor, tstamp, forum usw...
$tbl_foren -> area=1 (extern), area=0 (intern) usw..
habe es auch schon mit dieser variante probiert...
$area=1;
$sql = "SELECT id, text, autorname, autor, tstamp, forum, topicid FROM $tbl_foren_data ORDER BY id IN (SELECT $area=area FROM $tbl_foren) DESC LIMIT 8";
es wird hier kein fehler ausgespuckt, doch funktsn subs. nicht auf jedem server und ein besseres ergebnis bekomme ich auch nicht, sprich die internen foren sind immer noch da
 
habe jetzt mal etwas anderes versucht und hat auch geklappert...
mit einer if - else funktion geht alles wunderbar....

PHP:
$area = unidat($dat[forum], 'area', $tbl_foren); ### um den wert 0 or 1 zu bekommen
if($area =="1")

 echo "auszgebender Inhalt";

elseif($area =="0")

 echo "typisch...";

danke trotzdem ....
 
Zurück