anpera.net https://anpera.homeip.net/phpbb3/ |
|
Neuer Editor - Newseditor https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=4155 |
Seite 1 von 1 |
Autor: | skywalker031 [ Mo 26 Nov, 2007 12:24 ] |
Betreff des Beitrags: | Neuer Editor - Newseditor |
So, ich wieder mal. Wir haben den riddleeditor als vorlage genommen und einen Newseditor gebastelt. Jetzt ist nur das Problem, das auf der ersten Seite, die allerersten News stehen und auf der allerletzten, ganz unten, die neusten News. Auch fehlt noch das Datum und die Uhrzeit der News. 1) Wie kann man erreichen, dass auf der ersten Seite, ganz oben, die neusten und auf der letzten Seite, ganz unten, die ältesten News aufgelistet werden? 2) Wie bekomme ich als eigene Spalte, Datum und Uhrzeit der einzelnen News ausgegeben? Die Seitenblätternfunktion funktioniert, die Editfunktion geht, die Löschfunktion geht, News über Editor hinzufügen geht auch. Vielleicht kann jemand mal nen Blick drauf werfen und ne Lösung anbieten. [php]<?php // 17092004 /* riddle editor for 0.9.7 ext GER by anpera based on the code from creature editor by mightye modify to newseditor 13112007 */ require_once "common.php"; isnewday(4); page_header("Newseditor"); addnav("G?Zurück zur Grotte","superuser.php"); addnav("W?Zurück zum Weltlichen","village.php"); if ($_POST['save']<>""){ if ($_POST['id']!=""){ $sql="UPDATE news SET newstext='{$_POST['newstext']}',accountid='{$_POST['accountid']}',changedby='{$session['user']['name']}' WHERE newsid={$_POST['id']}"; output(db_affected_rows()." ".(db_affected_rows()==1?"Eintrag":"Einträge")." geändert."); }else{ $sql="INSERT INTO news (newstext,newsdate,accountid,changedby) VALUES ('{$_POST['newstext']}',NOW(),'{$_POST['accountid']}','{$session['user']['name']}')"; } db_query($sql) or output("`\$".db_error(LINK)."`0`n`#$sql`0`n"); } if ($_GET['op']=="del"){ $sql = "DELETE FROM news WHERE newsid={$_GET['id']}"; db_query($sql); if (db_affected_rows()>0){ output("News gelöscht`n`n"); }else{ output("News nicht gelöscht: ".db_error(LINK)); } $_GET['op']=""; } if ($_GET['op']==""){ $sql2 = "SELECT count(newsid) AS c FROM news"; $result2 = db_query($sql2); $row2 = db_fetch_assoc($result2); $totalnews = $row2['c']; $newsperpage=50; $pageoffset = (int)$_GET['page']; if ($pageoffset>0) $pageoffset--; $pageoffset*=$newsperpage; $from = $pageoffset+1; $to = min($pageoffset+$newsperpage,$totalnews); $limit=" LIMIT $pageoffset,$newsperpage "; if ($_GET['subop']=="search"){ $search="%"; for ($x=0;$x<strlen($_POST['text']);$x++){ $search .= substr($_POST['text'],$x,1).""; } $search.="%"; $search=" newstext LIKE '".addslashes($search)."' "; $sql = "SELECT * FROM news WHERE $search ORDER BY newsid $limit"; }else{ $sql = "SELECT * FROM news ORDER BY newsid $limit"; } $result = db_query($sql) or die(db_error(LINK)); addnav("News hinzufügen","newseditor.php?op=add"); addnav("Seiten"); for ($i=0;$i<$totalnews;$i+=$newsperpage){ addnav("Seite ".($i/$newsperpage+1)." (".($i+1)."-".min($i+$newsperpage,$totalnews).")","newseditor.php?page=".($i/$newsperpage+1)); } output("<form action='newseditor.php?subop=search' method='POST'>Wortsuche: <input name='text'><input type='submit' class='button' value='Suchen'></form>",true); addnav("","newseditor.php?subop=search"); output("<table><tr><td>Ops</td><td width='50%'>News</td><td>Acctid</td></tr>",true); addnav("","newsditor.php"); for ($i=0;$i<db_num_rows($result);$i++){ $row = db_fetch_assoc($result); output("<tr><td valign='top'> [<a href='newseditor.php?op=edit&id={$row['newsid']}'>Edit</a>|". "<a href='newseditor.php?op=del&id={$row['newsid']}' onClick='return confirm(\"Bist du dir sicher, dass du diese News löschen willst?\");'>Del</a>] </td><td>",true); addnav("","newseditor.php?op=edit&id={$row['newsid']}"); addnav("","newseditor.php?op=del&id={$row['newsid']}"); output($row['newstext']); output("</td><td>",true); output($row['changedby']); output("</td></tr>",true); } output("</table>",true); }else{ if ($_GET['op']=="edit" || $_GET['op']=="add"){ if ($_GET['op']=="edit"){ $sql = "SELECT * FROM news WHERE newsid={$_GET['id']}"; $result = db_query($sql) or die(db_error(LINK)); if (db_num_rows($result)<>1){ output("`4Fehler`0, diese News wurde nicht gefunden!"); }else{ $row = db_fetch_assoc($result); } } output("<form action='newseditor.php' method='POST'>",true); output("<input name='id' value=\"".HTMLEntities($_GET[id])."\" type='hidden'>",true); output("<table border='0' cellpadding='2' cellspacing='0'>",true); output("<tr><td>News:</td><td><textarea name='newstext' class='input' cols='50' rows='9'>".HTMLentities($row['newstext'])."</textarea></td></tr>",true); output("<tr><td>Accountid: </td><td><input name='accountid' maxlength='10' size='10' value=\"".HTMLentities($row['accountid'])."\"></td></tr>",true); output("<tr><td colspan='2'><input type='hidden' name='save' value='Save'><input type='submit' class='button' name='submit' value='Speichern'></td></tr>",true); output("</table>",true); output("</form>",true); addnav("","newseditor.php"); }else{ } addnav("Zurück zum Newseditor","newseditor.php"); } page_footer(); ?>[/php] |
Autor: | Eliwood [ Mo 26 Nov, 2007 17:11 ] |
Betreff des Beitrags: | |
Nur so ne Frage - reicht dir denn der in der news.php nicht? Da kann man News löschen und selbst eingeben Oo |
Autor: | Linus [ Mo 26 Nov, 2007 17:29 ] |
Betreff des Beitrags: | |
Ändere in allen SQL-Abfragen das: $this->bbcode_second_pass_code('', 'ORDER BY newsid $limit') und mach daraus: $this->bbcode_second_pass_code('', 'ORDER BY newsid DESC $limit') Dann sollten die hohen IDs eigendlich oben stehen^^ |
Autor: | skywalker031 [ Di 27 Nov, 2007 01:20 ] |
Betreff des Beitrags: | |
Prima, es funzt. Wie bekomme ich nun noch die Realtime und Realdatum in den Editor? vielleicht als eigene Spalte vor den eigentlichen Newszeilen. |
Autor: | MySql [ Do 29 Nov, 2007 21:34 ] |
Betreff des Beitrags: | |
>_< Google ist ab und zu ein sehr , sehr guter Freund des Menschen. o_o |
Autor: | Eliwood [ Do 29 Nov, 2007 22:05 ] |
Betreff des Beitrags: | |
Und Hilfsbereitschaft scheint eine Tugend zu sein, die nicht vielen Menschen gegeben ist. Die Realzeit bekommst du mithilfe der Funktion date(). |
Autor: | MySql [ Do 29 Nov, 2007 22:40 ] |
Betreff des Beitrags: | |
[OT] Ohne jetzt stress anfangen zu wollen aber : Das musst du gerade sagen! Ich weiß nicht in wie vielen Threads du das schon geschrieben hast! [/OT] |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |