| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

10-04-2010, 15:45
|
|
Audrey1991
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 8
|
|
Seitenfunktion pro Monat
Hallo...
ich suche ein Tutorial das erklaert wie man eine Seitenfunktion einbaut die nach Moanten geht.
Da ich eine News Seite auf meiner Homepage habe, und ich immer nur die aktuellen Eintrage des Monats da haben moechte und unten wird dann zu dem vorherigen Monat verlinkt.
Versteht ihr was ich meine?
Ich hoffe ihr koennt mir weiterhelfen.. ich hab mich schon dumm und daemlich gesucht=(
|

10-04-2010, 15:52
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
mit den spärlichen Informationen wird man sicherlich keine konkreten Hinweise geben können.
Die News kommen aus einer DB oder? Dort ist dann in einer Spalte das Datum hinterlegt, ja? Sollen diese News jetzt gruppiert aber auf derselben Seite angezeigt werden oder nur die ausgewählten angezeigt werden und die anderen erstmal gar nicht? Wie erfolgt die Auswahl? Über Links, eine aufklappbare Baumstruktur, ...
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

10-04-2010, 16:01
|
|
Audrey1991
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 8
|
|
Ehm... ok ja, ich hab die New aus der Datenbank. Nun moechte ich, das zum Beispiel wenn ich die Seite News offne, nur die News von dem aktuellen Monat angezeigt werden. Wie im moment april.
und das unten auf der Seite der vorherige Monat ( Maerz) verlinkt wird.
Bin noch nicht wirklich gut im PHP... und versuche erstmal mich in kleinen schritten vorzuarbeiten.
Hier einmal code meiner News seite:
PHP-Code:
<?php include("db.php"); $abfrage = "SELECT * FROM News ORDER BY ID DESC"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo "<table width=\"80%\" border=\"0\">"; echo "<tr><td class=\"menue\" width=\"70%\">.$row->Titel_d.</td>"; echo "<td class=\"menue\">.$row->Datum.</td></tr>"; echo "<tr width=\"80%\"><td width=\"80%\" colspan=\"2\" bgcolor=\"#666666\"><p>$row->deutsch</p></td></tr></table><br>"; echo "<img src=\"Bilder/linie.gif\" class=\"noborder\">"; } ?>
PS: Sorry ich bin nicht so gut im erklaeren
|

10-04-2010, 17:30
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Also zuerst mal solltest du in der Abfrage die MySQL-Datumsfunktionen benutzen, um die Ergebnismenge schon einmal einzugrenzen. Im Skript würde ich einen GET-Parameter abfragen, der, wenn er gesetzt ist, den Monat festlegt, der angezeigt werden soll. Wenn er nicht gesetzt ist, wird der aktuelle Monat (z. B. date("Y-m")) verwendet. Damit baust du dann deine Where-Klausel für die Abfrage auf (natürlich SQL-Injection-sicher) und formatierst das Abfrageergebnis.
Dann kommen unten noch die Links zu den anderen Monaten hin, die zwar auf dasselbe Skript, aber mit unterschiedlichen GET-Parametern zeigen. Et voilà.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

10-04-2010, 17:50
|
|
Audrey1991
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 8
|
|
hmmm...
giibt es nicht richtige tutorials oder scripte davon??? weil so hab ich angst eher alles wieder zu ruinieren als es am ende hinzubekommen.a
|

10-04-2010, 18:18
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von Audrey1991
hmmm...
giibt es nicht richtige tutorials oder scripte davon???
|
Zu der Standardaufgabe „Blätterfunktion“ gibt es mehr als genug.
Du willst lediglich leicht davon abweichend keine Ausgabe von X Einträgen pro Seite, sondern alle eines Monats - das ist eine kleine Anpassung der Abfragelogik, mehr nicht.
Zitat:
|
weil so hab ich angst eher alles wieder zu ruinieren als es am ende hinzubekommen.a
|
Dann arbeite mit einer Kopie des Scriptes, nicht mit dem Original.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

10-04-2010, 18:57
|
|
Audrey1991
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 8
|
|
So ok... ich hab es jetzt mal mit einer einfachen blaetterfunktion ausprobiert...
Von dieser seite :
Seitenanzeige mit Umblättern bei Datensätzen aus einer MySQL Datenbank
jetzt zeigt er mir jedoch immer noch alle meine news auf einer seite an... und dann dadrunter kommt das:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /users/audrey-lohkamp/www/neuigkeiten2.php on line 114
.bpe a:link, .bpe a:visited, .bpe a:active { color: #0b4c8e; text-decoration: none; } .bpe a:hover { color: #0D7CEC; } 0 1 Weiter >>
mein code bislang ist dieser :
PHP-Code:
<?php include("db.php"); $abfrage = "SELECT * FROM News ORDER BY ID DESC"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo "<table width=\"80%\" border=\"0\">"; echo "<tr><td class=\"menue\" width=\"70%\">.$row->Titel_d.</td>"; echo "<td class=\"menue\">.$row->Datum.</td></tr>"; echo "<tr width=\"80%\"><td width=\"80%\" colspan=\"2\" bgcolor=\"#666666\"><p>$row->deutsch</p></td></tr></table><br>"; echo "<img src=\"Bilder/linie.gif\" class=\"noborder\">"; } ?> <?php include("db.php");
$select = mysql_query("select count(*) from News"); $result = mysql_fetch_array($select); $reihen = $result['count(*)']; $zeigen = floor($reihen / 5); if(!$start) { $start = 0.1; } $result = mysql_query("select * from News limit $start,5"); echo "<table>"; while ($zeile = mysql_fetch_array($result)) { echo "<tr><td>$zeile[3]</td></tr>"; } echo "</table>"; if($start > 0.1) { $zurueck = $start - 5; echo "<a href=\"$PHP_SELF?start=$zurueck\"><< Zurück</a>"; } for($i = 0; $i <= $zeigen; $i++) { echo " <a href=\"$PHP_SELF?start=$n\">$i</a> "; $n += 5; } $weiter = $start + 5; if($reihen > $weiter) { echo "<a href=\"$PHP_SELF?start=$weiter\">Weiter >></a>"; } ?>
kann mir jemand sagen was falsch ist???
zeile 114 ist ueberings diese :
while ($zeile = mysql_fetch_array($result)) {
|

10-04-2010, 19:01
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

10-04-2010, 19:14
|
|
Audrey1991
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 8
|
|
ich find leider wirklich nichts was mir hilft... ich weiss nicht nach was ich genau schauen muss...
:/
|

10-04-2010, 19:20
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
*seufz* Bitte nicht dümmer anstellen, als nötig ...
Hier ist beschrieben, welche Schritte du unternehmen sollst, um den Fehler zu analysieren: http://peterkropff.de/tutorials/php_...sql_fehler.htm
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

10-04-2010, 19:30
|
|
Audrey1991
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 8
|
|
hmm ok ich hab jetzt den mysq_error ding da eingesetzt und jetzt sagt der mir das :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0.1,5' at line 1
was bedeutet das?
|

10-04-2010, 19:39
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von Audrey1991
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0.1,5' at line 1
was bedeutet das?
|
Wenn das auf die LIMIT-Klausel bezogen ist (im verlinkten Artikel stand doch wohl, dass du dir die Query zur Kontrolle ausgeben lassen sollst, also mach das auch und poste das Ergebnis hier!), dann natürlich, dass das keine sinnvolle Angabe für LIMIT ist.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

10-04-2010, 19:46
|
|
Audrey1991
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 8
|
|
ich verstehe leider immer noch nur bahnhof... mein gott..  ihr muesst echt denken ich bin total daneben...
aber ich glaub ich sehe gerade nur den wald vor lauter baeumen nicht...
|

10-04-2010, 19:49
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Mach die genannte Kontrollausgabe, und poste das Ergebnis hier.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

10-04-2010, 20:14
|
|
Audrey1991
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 8
|
|
Und wie mach ich das??
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|