Sphorax 0 Report post Posted September 28, 2004 also ich möchte aus einem bestimmten board (es wird ein news board) die news "grabben" und sie in einen ticker, also so ein marquee ding anzeigen. es sollen die überschriften des threads sowie gleichzeitig der link "ticken"... nur wie schaff ich das? das der aus der datenbank die threadnamen holt und diese dann auf der boardübersichtsseite anzeigt??? Share this post Link to post
Sphorax 0 Report post Posted September 29, 2004 hmm versteht mein problem eventuell keiner? hab ich mich bekloppt ausgedrückt? :huh: Share this post Link to post
Blackman 0 Report post Posted September 29, 2004 (edited) Die Sache ist eben nicht immer so einfach, wie sich's anhört ... Ganz nebenbei möchte ich dir von marque abraten, denn das ist so ein pseudo-standard den eigentlich nur der IE unterstütz ... Naja, mittlerweile andere Browser auch. Aber ich will dich ja nicht zu sehr aufhalten, dass musst du wissen, ich geb dir jetzt mal hier ein bisschen ansätze, und mach hier mal nicht die Anleitung für absolute Idioten, hoffe das ist okay ? Möchtest du die News denn gerne IMMER sehen, oder nur auf der Hauptseite, das ist schonmal wichtig zu wissen ... Für immer, wäre die functions.php zuständig, für die Hauptseite die Boards.php . Der Code sollte ca. so aussehen, ich kann dir noch genauer sagen wo du ihn einbauen sollst, wenn ich wüsste wo er stehen soll ! // MOD NEWS BEGIN $news = "<marquee scrollamount="10" scrolldelay="100">"; $news .= "<b>"; // Einlesen der News $DB->query("SELECT tid, title, state, posts FROM `ibf_topics` WHERE forum_id = X ORDER BY date DESC LIMIT X"); while ($t = $DB->fetch_row() ) { $news .= "<a href='{$ibforums->base_url}showtopic=".$t['tid']."'>"; $news .= $t['title']." (".$t['posts'].")"; $news .= "</a>"; } $news .= "</b>"; $news .= "</marquee>"; $ibforums->skin['template'] = str_replace( "<!-- NEWS -->" , "$news" , $ibforums->skin['template'] ); // MOD NEWS END Jetzt musst du nur noch in der richtigen Skindatei ein <!-- NEWS --> einfügen, dort wo sie dann später stehen sollen ... Aber so als Warnung: Ich hab den Code nicht geprüft, und nicht getestet, das würd ich machen wenn du mir genauer sagst, wo es denn nu hin soll... BLACK Edited September 29, 2004 by Blackman Share this post Link to post
Sphorax 0 Report post Posted September 29, 2004 also ich hab das hier: // MOD NEWS BEGIN $news = "<marquee scrollamount="10" scrolldelay="100">"; $news .= "<b>"; // Einlesen der News $DB->query("SELECT tid, title, state, posts FROM `ibf_topics` WHERE forum_id = 13 ORDER BY date DESC LIMIT 10"); while ($t = $DB->fetch_row() ) { $news .= "<a href='{$ibforums->base_url}showtopic=".$t['tid']."'>"; $news .= $t['title']." (".$t['posts'].")"; $news .= "</a>"; } $news .= "</b>"; $news .= "</marquee>"; $ibforums->skin['template'] = str_replace( "<!-- NEWS -->" , "$news" , $ibforums->skin['template'] ); // MOD NEWS END in die functions.php direkt unter: //------------------------------------------------ // Load the info from the database. //------------------------------------------------ eingesetzt. daraufhin kam dieser fehler: mySQL query error: SELECT tid, title, state, posts FROM `ibf_topics` WHERE forum_id = 13 ORDER BY date DESC LIMIT 10 mySQL error: Unknown column 'date' in 'order clause' mySQL error code: Date: Wednesday 29th of September zu deinen fragen: also ja es soll boardübergreifend die news ganz oeben stehen. ich möchte sie sogar noch über den boardwrapper einfügen (anders gehts leider nicht). um es dir mal zu veranschaulichen: http://www.xtcforum.de/board/index.php?&skinid=9 es soll direkt über dem logo stehen, dort ist eine tabelle mit aneinander gereihten hintergungbildern(also noch in der tabelle mit den bildern), dort drüber soll der ticker gehen. Nunja, das mit dem marquee ist auch nur vorläufig. ich möchte ja schliesslich später auch, das der ticker anhält, wenn jemand mit der maus hinüber fährt. also wird da sicherlich ein javascriptticker hinkommen. is halt nur provisorisch. Achso, danke schonmal für die hilfe die du mir bis jetzt gegeben hast. Share this post Link to post
Blackman 0 Report post Posted September 29, 2004 (edited) Das der Fehler kommt ist klar, irgendein Idiot hat auch nen Fehler in der SQL Abfrage gemacht ... Wer das wohl war ? *G* Ändern wir den Code ein kleines bisschen *g* // MOD NEWS SCROLL BEGIN $news = "<marquee scrollamount=\"10\" scrolldelay=\"100\">"; $news .= "<b>"; // Einlesen der News $DB->query("SELECT tid, title, state, posts FROM `ibf_topics` WHERE forum_id=13 ORDER BY last_post DESC LIMIT 15"); while ($t = $DB->fetch_row() ) { $news .= "<a href='{$ibforums->base_url}showtopic=".$t['tid']."'>"; $news .= $t['title']." (".$t['posts'].")"; $news .= "</a>"; $news .= " "; } $news .= "</b>"; $news .= "</marquee>"; $ibforums->skin['template'] = str_replace( "<!-- NEWS -->" , "$news" , $ibforums->skin['template'] ); // MOD NEWS SCROLL END Einfügen tust du's bitte über: //--------------------------------------- // Close this DB connection //--------------------------------------- $DB->close_db(); GAAAANZ easy *G* Nun gehen wir noch in die Datei skin_global.php Suchen das hier function BoardHeader($time="") { global $ibforums; return <<<EOF <script language='Javascript' type="text/javascript"> <!-- function shout_pop() { window.open('{$ibforums->vars['home_url']}/sources/mods/minichat/onlyshout.php?name={$ibforums->member['name']}&id={$ibforums->member['id']}','MiniChat','width=250,height=550,resizable=yes,scrollbars=yes'); } function buddy_pop() { window.open('index.{$ibforums->vars['php_ext']}?act=buddy&s={$ibforums->session_id}','BrowserBuddy','width=250,height=500,resizable=yes,scrollbars=yes'); } function chat_pop(cw,ch) { window.open('index.{$ibforums->vars['php_ext']}?s={$ibforums->session_id}&act=chat&pop=1','Chat','width='+cw+',height='+ch+',resizable=yes,scrollbars=yes'); } function multi_page_jump( url_bit, total_posts, per_page ) { pages = 1; cur_st = parseInt("{$ibforums->input['st']}"); cur_page = 1; if ( total_posts % per_page == 0 ) { pages = total_posts / per_page; } else { pages = Math.ceil( total_posts / per_page ); } msg = "{$ibforums->lang['tpl_q1']}" + " " + pages; if ( cur_st > 0 ) { cur_page = cur_st / per_page; cur_page = cur_page -1; } show_page = 1; if ( cur_page < pages ) { show_page = cur_page + 1; } if ( cur_page >= pages ) { show_page = cur_page - 1; } else { show_page = cur_page + 1; } userPage = prompt( msg, show_page ); if ( userPage > 0 ) { if ( userPage < 1 ) { userPage = 1; } if ( userPage > pages ) { userPage = pages; } if ( userPage == 1 ) { start = 0; } else { start = (userPage - 1) * per_page; } window.location = url_bit + "&st=" + start; } } //--> </script> und schreiben drunter: <!-- NEWS --> Hab jetzt leider die SKIN Datei nich im Original da, aber das sollte von der Position so in etwa richtig sein ... Edited September 29, 2004 by Blackman Share this post Link to post
Sphorax 0 Report post Posted September 29, 2004 (edited) Parse error: parse error, unexpected T_LNUMBER in /var/www/web209/html/board/sources/functions.php on line 2181 edit: wenn ich es an der stelle einfüge wo ich es hatte giobt es keinen fehler...ich probier mal eben noch ob es auch klappt.... Edited September 29, 2004 by Sphorax Share this post Link to post
Blackman 0 Report post Posted September 29, 2004 (edited) schon ausgebessert *G* Die Zeile musst du ersetzen; $news = "<marquee scrollamount=\"10\" scrolldelay=\"100\">"; Edited September 29, 2004 by Blackman Share this post Link to post
Sphorax 0 Report post Posted September 29, 2004 (edited) ähm ich seh da keinen unterschied zur vorherigen zeile.. :/ ich kann doch das <!-- news--> auch direkt in den boardwrapper setzen oder? macht doch keinen unterschied?! Edited September 29, 2004 by Sphorax Share this post Link to post
Blackman 0 Report post Posted September 29, 2004 Die hab ich gleichzeitig mit abgeändert ... Naja, bei mir läufts jedenfalls so, hatte den gleichen Fehler, und hab dann die Zeile noch geändert, unterscheid sollte sein: die beiden \ vor den " Naja wenns das nicht war, dann poste mir mal bitte Zeile 2180 und 2181 und 2182 von deiner functions.php Share this post Link to post
Sphorax 0 Report post Posted September 29, 2004 hey jetzt hat es geklappt... war mein fehler, ich hatte es nochmals an die falsche stelle gesetzt. aber nochmal danke, genauso hatte ich mir das vorgestellt.. wenn ich dafür irgendwas für dich tun kann, dann lass es mich wissen. Share this post Link to post
Blackman 0 Report post Posted September 29, 2004 Hast nen Job übrig ? Am besten noch in der Nähe von Nürnberg ? Damit wär mir geholfen :) Share this post Link to post
Sphorax 0 Report post Posted September 29, 2004 lol, sorry leider nicht...bin selber armer studi und such nen 400 job für nebenbei... hier in magdeburg is des noch schwieriger ;) Share this post Link to post
Blackman 0 Report post Posted September 29, 2004 Schade, schade, schade ... Aber eins gibts noch ... Drück doch bitte auf den Erledigt-Knopf ... Nicht das Andy wieder sauer wird :) Share this post Link to post