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/