Jockl
Hallo!
Ich habe zwar schon ein Basiswissen über PHP, MySQL aber für dieses kleine Skript brauche ich trotzdem etwas Hilfe
Auf
http://www.fpdwl.at könnt ihr oben rechts den Button: Letztes Update: xx.xx.xxxx sehen. Wenn man daraufklickt öffnet sich ein Popup mit der Liste der Updates. Bisher sind das einfache HTML-Dateien die ich miteinander verlinke.
Da ich diesen "Bereich" in mein neues Design bringen muss, will ich mir dabei auch gleich die Arbeit etwas erleichtern und ein kleines Skript schreiben. Die Updates sollen dabei ganz einfach in einer DB gespeichert werden. Das allerletzte Update soll dabei auf der Home-Seite angezeigt werden und mit dem Klick auf die Grafik sollen die Updates des aktuellen Monats angezeigt werden.
Außerdem soll bei der Eintragung eines Updates auch der Button neu beschriftet werden.
Hat da jemand vielleicht schon etwas ähnliches, bzw. hat jemand einen Vorschlag wie ich das ganze angehen soll?
Vielen Dank im Voraus
LG Jockl
[kamui]
Du erstellst eine neue Tabelle mit dem Namen "updates", die hat die Felder upid (INT 11, auto_increment, PRIMARY KEY), time (INT 11), version (VAR 255) & beschreibung (TEXT).
Auf der Hauptseite machst du dann folgenden Query "SELECT * FROM updates ORDER BY upid DESC LIMIT 1" (damit holst du immer den neuesten Eintrag).
Und in der anderen Seite, kannst du mit einer while()-Schleife das ganze auslesen.
Jockl
Vielen Dank für die ersten Infos!
Kann mir vielleicht jemand weiterhelfen bei der Beschriftung des Buttons? Sobald ein Update eingetragen werden soll, soll mit der Schriftart Tahoma die Grafik mit dem aktuellen Datum neu beschriftet werden.
Vielen Dank im Voraus
LG
Jockl
Zitat: |
Original von [kamui]
Und in der anderen Seite, kannst du mit einer while()-Schleife das ganze auslesen. |
Und wie kann ich in dieser while-Schleife definieren, dass nur die Einträge eines Monats erscheinen sollen?
[kamui]
Lass dir den Time-Code von Anfang des Monats in eine Variable machen ( $var = strtotime("01 Juny 2007"); ) und dann bei dem Query noch ein " WHERE time > $ var "
Jockl
Ich habe es jetzt sowieso anders gemacht. Es werden jetzt die letzten 15 Updates angezeigt. Nur habe ich jetzt das Problem, dass ich es nicht schaffe, dass mit einem weiter-Link immer die nächsten 15 angezeigt werden können.
[kamui]
... SELECT 15, 30
damit bekommst du Zeile 15 bis 30
Jockl
Zitat: |
Original von [kamui]
... SELECT 15, 30
damit bekommst du Zeile 15 bis 30
|
Ja schon klar, aber über über den weiter-Link sollen ja immer die nächsten 15 angezeigt werden. Wie geht das, dass er die zahlen immer um 15 erhöht?
[kamui]
php: |
1:
2:
3:
4:
5:
6:
7:
8:
|
<?
if (!$_GET['count']) $count = 1;
else $count = addslashes($_GET['count']);
$query = "SELECT ... LIMIT ".floor($count*15).", ".floor(($count*15)+15)."";
echo "<a href=\"?count=".floor($count+1)."\">nächste 15</a>";
?> |
|
Jockl
Vielen Dank vorerst!
Grundsätzlich funktioniert es auch, nur werden jetzt beim Aufruf des Skripts (
http://www.fpdwl.at/updates/updates.php) erst die Einträge ab dem 15. Eintrag angezeigt.
Zur Frage mit der Grafik:
http://www.fpdwl.at/updates/createimg.php
Soweit bin ich angekommen. Das Problem ist aber, dass die Schrift abgerundet wird. Weiß jemand ob ich das umstellen kann, damit die Grafik wie die anderen aussieht?
[IMG]http://www.fpdwl.at/images/berichte.gif[/IMG]
[kamui]
php: |
1:
2:
3:
4:
5:
6:
7:
8:
|
<?
if (!$_GET['count']) $count = 0;
else $count = addslashes($_GET['count']);
$query = "SELECT ... LIMIT ".(($count==0)?("15"):("".floor($count*15).", ".floor(($count*15)+15).""))."";
echo "<a href=\"?count=".floor($count+1)."\">nächste 15</a>";
?> |
|
Deine Frage mit dem Bild verstehe ich nicht, geht es dir um die Schriftart oder wie?
Jockl
Zitat: |
Original von [kamui]
Deine Frage mit dem Bild verstehe ich nicht, geht es dir um die Schriftart oder wie? |
Schriftart wird schon die richtige verwendet (Tahoma)
Nur sind bei den Originalgrafiken die Schriften nicht abgerundet.
Man sieht ja den Unterschied
http://www.fpdwl.at/images/news.gif
http://www.fpdwl.at/updates/createimg.php
EDIT: Jetzt werden mit dem Klick immer mehr Updates angezeigt, also nicht nur 15!
lycoos
Das ist eigentlich eine Klassesach um sich mit Ajax vertraut zu machen .... nur so als Tipp...
Jockl
Zitat: |
Original von lycoos
Das ist eigentlich eine Klassesach um sich mit Ajax vertraut zu machen .... nur so als Tipp... |
Und wie und wo
@ [kamui]: Kannst du mir vielleicht noch mit dem letzten Problem helfen, dass jetzt mit jedem Klick auf weiter nicht die nächsten 15 sondern die nächsten 30, 45, 60,.. Einträge angezeigt werden?
lycoos
Vielleicht das man einfach per klick die, ich nenne sie mal historischen Punkte, auf und zu klappen kann. Sprich ohne Neuladen....
derkleene
ich habe für meine Gästebücher die ich Programmiert habe, folgende Code Zeilen benutzt.
Kannst Dir ja anpassen.....
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
|
$start = (isset($_GET['start'])) ? abs((int)$_GET['start']) : 0;
$limit = 10; // Datensätze pro Ausgabeseite
$resultID = mysql_query("SELECT COUNT(ID) FROM .... ");
$total = mysql_result($resultID,0);
$start = ($start >= $total) ? $total - $limit : $start;
$holen = "SELECT ..... FROM .... LIMIT ".$start.",".$limit.";";
$result = mysql_query($holen) OR die(mysql_error());
if ($start > 0){
$newStart = ($start - $limit < 0) ? 0 : ($start-$limit);
$back="<a href='????.php?start=".$newStart."'>Zurück</a>";
}else $back="";
if ($start + $limit < $total){
$newStart = $start + $limit;
$vor="<a href='auslesen.php?start=".$newStart."'>Vor</a>";
}else $vor=""; |
|
mußt nur die richtigen DB Datein eintragen,
bei $back und $vor die richtige php Seite eintragen
und $back $vor dort eintragen wo der TExtlink erscheinen soll......
[kamui]
php: |
1:
2:
3:
4:
5:
6:
7:
8:
|
<?
if (!$_GET['count']) $count = 0;
else $count = addslashes($_GET['count']);
$query = "SELECT ... LIMIT ".(($count==0)?("15"):("".floor($count*15).", 15"))."";
echo "<a href=\"?count=".floor($count+1)."\">nächste 15</a>";
?> |
|
Probier es mal damit, hatte das mit dem LIMIT X, Y selbst noch nie genutzt und aus dem gelesenen Tutorial wohl falsch interpretiert
Jockl
Zitat: |
Original von [kamui]
Probier es mal damit, hatte das mit dem LIMIT X, Y selbst noch nie genutzt und aus dem gelesenen Tutorial wohl falsch interpretiert
|
Jetzt lädt die Seite überhaupt nicht!
xundy
Nur mal so nebenbei,
Integerwete maskiert man nicht mit addslashes
code: |
1:
|
addslashes($_GET['count']); |
|
sondern mit intval
code: |
1:
|
intval($_GET['count']); |
|
Mfg