 | Wichtig!: |
Dieses Tutorial ist auf den Grundlagen des ACPs von webvids erstellt worden. Wer es an sein eigenes anpassen möchte, sollte gewisse Grundkenntnisse haben.
Zunächst muss eine Tabelle in der Datenbank erstellt werden. Dazu fügt ihr diesen SQL Code im phpMyAdmin ein:
 | My-SQL Code: |
CREATE TABLE IF NOT EXISTS todoliste (
id int(255) unsigned NOT NULL auto_increment,
autor int(255) NOT NULL,
zu_erledigen varchar(255) NOT NULL,
timestamp int(55) NOT NULL,
erledigt varchar(4) NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Um Punkte einzutragen oder diese auch zu editieren muss ein .php Dokument erstellt werden. Nennt es einfach edit_todolist.php
<?php include("header.php"); ?>
<?php if(value("users WHERE id = '".$_SESSION["login"]."'","rang") >=
1) { // Wenn eingeloggt und Rang größer oder gleich 1 ?>
<?php
$zusatz = ""; $zusatz2 = "";
if(value("users WHERE id = '".$_SESSION["login"]."'","rang") == 2) {
// Nur für Rang 2
$zusatz = "WHERE autor = '".$_SESSION["login"]."'";
$zusatz2 = "AND autor = '".$_SESSION["login"]."'";
}
if($_REQUEST["action"] == "new") { // Neuer Punkt soll eingefügt
werden
mysql_query("INSERT INTO todoliste (autor, timestamp, zu_erledigen,
erledigt) VALUES ('".$_SESSION["login"]."', '".time()."',
'".umbruch($_REQUEST["todo"])."', 'nein')"); // Eintragung in
Datenbank
echo '<div align="center">Neuer Punkt wurde eingetragen.</div>'; //
Ausgabe der Bestätigung
} elseif($_REQUEST["action"] == "delete") { // Wenn gelöscht
if(exist("todoliste WHERE id = '".zahl($_REQUEST["id"])."'")) {
mysql_query("DELETE FROM todoliste WHERE id =
'".zahl($_REQUEST["id"])."'");
echo '<div align="center">Punkt wurde gelöscht.</div>'; //
Bestätigung zur Löschung
}
} elseif($_REQUEST["action"] == "edit") { // Wenn editiert werden
soll
if(exist("todoliste WHERE id = '".zahl($_REQUEST["id"])."' ")) { //
Wenn Punkt existiert
?>
<h3>Editieren</h3>
<form action="edit_todolist.php?action=edit2&id=<?=
zahl($_REQUEST["id"]) ?>" enctype="multipart/form-data" method="post">
<table width="100%">
<tr>
<td width="50%"><label for="todo">Zu erledigen?</label></td>
<td width="50%"><input type="text" name="todo" id="todo" value="<?=
value("todoliste WHERE id =
'".zahl($_REQUEST["id"])."'","zu_erledigen") ?>" /></td>
</tr>
<tr>
<td width="50%"><label for="todo">Erledigt?</label></td>
<td width="50%"><input type="radio" name="erledigt" value="ja"> ja
<input type="radio" name="erledigt" value="nein"> nein</td>
</tr>
<tr>
<td width="50%"></td>
<td width="50%"><input type="submit" value="Punkt editieren" /></td>
</tr>
</table>
</form>
<?php
}
} elseif($_REQUEST["action"] == "edit2") { // Wenn auf editieren
geklickt wurde
if(exist("todoliste WHERE id = '".zahl($_REQUEST["id"])."' ")) { //
Wenn Punkt existiert
mysql_query("UPDATE todoliste SET zu_erledigen =
'".umbruch($_REQUEST["todo"])."', erledigt =
'".umbruch($_REQUEST["erledigt"])."' WHERE id =
'".zahl($_REQUEST["id"])."'"); // Änderung in Datenbank
echo '<div align="center">Punkt wurde editiert.</div>'; // Bestätigung
}
}
?>
<?php if(value("users WHERE id = '".$_SESSION["login"]."'","rang") >=
1) { // Wenn Rang größer gleich 1 ?>
<h1>To-Do-Liste verwalten</h1>
<table width="100%">
<?php
$seite = (isset($_REQUEST["seite"]) ? zahl($_REQUEST["seite"]) : 0);
$proseite = 10; // Anzahl Punkte pro Seite
$erg = mysql_query("SELECT * FROM todoliste ".$zusatz." ORDER BY
timestamp DESC LIMIT ".$seite.", ".$proseite) or die(mysql_error());
// Verbindung mit Datenbank
while($row=mysql_fetch_object($erg)) { // Ausgabe der Punkte mit
Schleife
?>
<tr>
<td><?= $row->zu_erledigen ?></td>
<td><?= datum($row->timestamp) ?></td>
<td>von <?= value("users WHERE id = '".$row->autor."'","name") ?></td>
<td><a href="edit_todolist.php?action=edit&id=<?= $row->id
?>">Editieren</a></td>
<td><a href="edit_todolist.php?action=delete&id=<?= $row->id
?>">Löschen</a></td>
</tr>
<?php
}
?>
</table>
<?= seite("todoliste
".$zusatz,$seite,$proseite,"editcredits.php?seite=") ?>
<br />
<?php } ?>
<h3>Neues zu erledigen</h3>
<br /><br />
<form action="edit_todolist.php?action=new" method="post"
enctype="multipart/form-data">
<table width="100%">
<tr>
<td width="50%"><label for="todo">Was ist zu erledigen?</label></td>
<td width="50%"><input type="text" name="todo" id="todo" /></td>
</tr>
<tr>
<td width="50%"></td>
<td width="50%"><input type="submit" value="Neues zu erledigen"
/></td>
</tr>
</table>
</form>
<?php } ?>
<?php include("footer.php"); ?>
Erläuterungen zu den einzelnen Schritte habe ich per Kommentar neben an geschrieben, damit ihr auch wisst, wann genau was gemacht wird. Mit dem Script könnt ihr nun neue Punkte eintragen, sie bearbeiten (also dort auch den Status umändern, sofern ihr etwas erledigt habt) und löschen.
Zur Ausgabe der Punkte könnt ihr eine Datei mit dem Namen todoliste.php erstellen. Dort fügt ihr einfach dieses Script ein.
<?php include('header.php'); ?>
<h1>To Do Liste</h1>
<table width="50%" align="center">
<tr>
<?php
$prozeile = 1; // Anzahl Punkte in einer Zeile
$proseite = 25; // Anzahl Punkte auf einer Seite
$i = 1; // Initialisierung für Zählervariable
$erg = mysql_query("SELECT * FROM todoliste ORDER BY timestamp DESC")
or die(mysql_error());
while($row=mysql_fetch_object($erg)) { // Ausgabe der Punkte in einer
Schleife
if($i%$prozeile == 0 && $i != 1) { echo "</tr><tr>"; }
?>
<td><?= $row->zu_erledigen ?></td>
<td><img src="img/icons/<?= $row->erledigt ?>.gif" border="0"></td>
<?php $i++; } ?>
</tr>
</table>
<br />
<?= seite("todoliste".$w,$seite,$proseite,"todoliste.php?seite=") ?>
<?php include('footer.php'); ?>
Bei der Ausgabe sollte es dann ungefähr so ausehen:

Wenn ihr etwas in die Datenbank eintragt wird in die Spalte \"erledigt\" ein nein eingetragen und in der while-Schleife durch <?= $row->erledigt ?> ausgegeben, sodass dann dort ein nein erscheint. Ich habe es kleinen Icons verknüpft, die ja.gif und nein.gif heißen. Solltet ihr also etwas erledigtund es in der Verwaltung auch geändert haben, so erscheint ein ja und es wird durch img auch das ja.gif Icon aufgerufen.
x3chuckx3
Toll Danke *__* (6*)