• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Newsseite

Status
Für weitere Antworten geschlossen.

Loon3y

Neues Mitglied
Hallöchen..

da ich ja noch ziemlicher einsteiger auf diesem gebiet bin, muss ich einfach mal fragen. habe nun etwas schon danach gegoogelt, aber komme zu keinen ergebnis. wohlmöglich auch weil mir der nötige suchbegriff fehlt.

ich habe mir gedacht, dass ich auf meiner seite folgendes "realisiere":

- index-seite -> News. Ist ja auch klar..aber jetzt kommt das problem. ich mag nur sagen wir mal 3 news angezeigt bekommen. wenn dann eine 4te newsnachricht dazukommt, soll eine seite 2 entstehen und automatisch der unterste auf die 2te seite rutschen. Wie kann ich dies realisieren? brauch ich dazu eine komplette datenbank? Muss ich dazu aufsteigende indexe vergeben oder wie mache ich das?

-> und dann noch..ich würde auf der newsseite nur eine verkürzte ausgabe meiner news anzeigen und dann vai "weiterlesen" auf eine page verlinken wo der komplette newstext erscheinen soll. dafür möchte ich aber nicht für jeden newsartikel eine eigene datei anlegen. wäre es möglich das ich dies auch via php und / oder einer datenbank realisieren könnte?

Vielen Dank schoneinmal für die tips und hinweise.

Gruß
Loon3y
 
zu 1. Das Realisieren der zweiten Seite geht, indem Du Dir immer merkst, ab welcher News-Nr. Du anzeigst und wieviele pro Seite. Dann gibst Du entsprechend nur diese aus. Wird der Link zur Anzeige der zweiten Seite geklickt, übergibst Du als Startnews die nächste Nummer nach der aktuellen Seite. Also Seite 1: $start=1, $anz=3, im Link steht dann "?start=4" ($start+$anz) usw.
Ob Du eine Datenbank für Deine News verwendest oder Dateien, sei Dir überlassen. Jedem, wie er es am besten kann, und zu welchem Zweck es eingesetzt wird, wieviele Zugriffe auf die Daten stattfinden.

zu 2. Wenn ich News per Dateien realisieren würde, würde ich schon jede News in einer eigenen Datei ablegen. Aber wenn Du alle News in nur einer Datei hättest, müsstest Du nur wissen, wo jede neue News anfängt. Aber ob DB oder Dateien, Du hast ja in irgendeiner Variable den Text der News stehen. Davon gibst Du halt nicht alles aus, sondern nur einen Teilstring (substr).

Nochmal zum Verständnis: Eine Datenbank ist nur ein Mittel, Daten abzulegen. Eine Datenbank ist keine Programmiersprache, mit der man irgendwelche Abläufe realisieren kann. Deine Fragen klangen aber so, als wüsstest Du das nicht (richtig). Ob Datenbank oder Dateien ist fast wurscht. Es ist halt nur eine andere Datenquelle. Wie Du die Daten, die aus der Quelle kommen, darstellst, hat nichts damit zu tun, woher die Daten kommen.
Der Unterschied der Datenbank zu den Dateien ist bei größeren Datenmengen und mehreren Zugriffen der Geschwindigkeitsvorteil und normalerweise ein automagischer Locking-Mechanismus, dass nicht zwei Nutzer gleichzeitig auf die Daten zugreifen. Bei Dateien müsstest Du Dich u.U. um sowas kümmern, im schlimmsten Fall überschreibst Du Dir bei fehlendem Locking die Datei (wenn zwei gleichzeitig versuchen zu schreiben).

Gruß,
-Efchen
 
Hallöchen nochmals.

zu 1. Das Realisieren der zweiten Seite geht, indem Du Dir immer merkst, ab welcher News-Nr. Du anzeigst und wieviele pro Seite. Dann gibst Du entsprechend nur diese aus. Wird der Link zur Anzeige der zweiten Seite geklickt, übergibst Du als Startnews die nächste Nummer nach der aktuellen Seite. Also Seite 1: $start=1, $anz=3, im Link steht dann "?start=4" ($start+$anz) usw.
Ob Du eine Datenbank für Deine News verwendest oder Dateien, sei Dir überlassen. Jedem, wie er es am besten kann, und zu welchem Zweck es eingesetzt wird, wieviele Zugriffe auf die Daten stattfinden.

wie vergebe ich diese news-nr? mein code würde so ungefähr aussehen für die newsdatei:

Code:
            <div class="news_over">
                <h2 class="topic">News</h2>
                <h3 class="title"> Titel </h3>
                    Datum 
            <br /><br />
                    <div class="news">
                      <img  class="news_pic" src="#" width="102" height="108" alt="News" /> 
                           TEXT
                    </div>

            </div>

d.h. ich müsste dann in diesen post beim "news_over" eine news-nr mit vergeben die fortlaufend ist. wie funktioniert das? mit welchen html-befehl? oder brauch ich dafür einen php-code? Anschließend muss ich dann in der index-datei per php-code angeben das wenn ich bei nr.4 bin eine 2te seite aufkommt?

hm...momentan noch schwer verständlich, hättest du vllt eine seite wo dies ein bisschen erklärt wird? werde natürlich auch noch googlen..vllt find ichs ja schneller ;) *g*...aber ist schon schwer zu finden wenn man nicht so recht weiß wies geht :)

zu 2. Wenn ich News per Dateien realisieren würde, würde ich schon jede News in einer eigenen Datei ablegen. Aber wenn Du alle News in nur einer Datei hättest, müsstest Du nur wissen, wo jede neue News anfängt. Aber ob DB oder Dateien, Du hast ja in irgendeiner Variable den Text der News stehen. Davon gibst Du halt nicht alles aus, sondern nur einen Teilstring (substr).

ok..naja der gedanke mit datenbank kam ja eigentlich nur auf, weil ich im glauben bin das es dadurch einfacher zu regeln wäre. hm...was mich eben so n bisschen irritiert ist, dass ich dann für jeden news eine komplette seite schreiben muss....was ja dann wenn ich irgendwann bei news-nr 30 angekommen bin heißen würde, dass ich 30 seiten hätte..? Wäre es da ratsam einen extra ordner anzulegen? oder sollte man diese im hauptverzeichnis lassen?

Aber nochmal zurück zu meiner eigentlichen frage...wenn ich dann in der news-zeile da oben "weiterlesen" einfügen würde, dann würde ich doch auch wieder via <a href=""...> auf eine neue datei verweisen wo alles ausführlich geschrieben steht? oder erledigt sich das durch den teilstring?

Nochmal zum Verständnis: Eine Datenbank ist nur ein Mittel, Daten abzulegen. Eine Datenbank ist keine Programmiersprache, mit der man irgendwelche Abläufe realisieren kann. Deine Fragen klangen aber so, als wüsstest Du das nicht (richtig).

Habe mich wohl nicht richtig ausgedrückt, aber das mag wohl dadran liegen, dass ich da noch so wenig Ahnung davon habe ;) bzw eigentl garkeine..belesen kann man sich...aber naja...wenn man es nicht weiter anwendet wird man es auch nicht verstehen können.

Der Unterschied der Datenbank zu den Dateien ist bei größeren Datenmengen und mehreren Zugriffen der Geschwindigkeitsvorteil und normalerweise ein automagischer Locking-Mechanismus, dass nicht zwei Nutzer gleichzeitig auf die Daten zugreifen. Bei Dateien müsstest Du Dich u.U. um sowas kümmern, im schlimmsten Fall überschreibst Du Dir bei fehlendem Locking die Datei (wenn zwei gleichzeitig versuchen zu schreiben).

Naja das wird wohl keine rolle psielen das es meine seite ist und nur ich news posten werde und kein anderer. Das heißt ich werde sie auch immer im Editor schreiben müssen die news und dann eben hochladen.

Liebe Grüße
Loon3y
 
wie vergebe ich diese news-nr?
Selber.
Du hast die News ja irgendwo gespeichert und irgendwie durchnummeriert. Daraus ergibt sich die News-Nr. In einer Datenbank würde ich die News über ein Feld "id" durchnummerieren, bei Dateien würde ich die Nummer im Dateinamen unterbringen.

mein code würde so ungefähr aussehen für die newsdatei
Wir sind ja nicht im HTML-Forum, also verzichte ich mal darauf, die Semantik des ganzen zu kommentieren :-)

wie funktioniert das? mit welchen html-befehl? oder brauch ich dafür einen php-code?
Seit wann gibts denn in HTML Befehle oder Variablen? Mit HTML hat das alles nichts zu tun. HTML zeichnet nur Deinen Inhalt logisch aus.
Natürlich brauchst Du PHP. Sonst könntest Du Deine Daten ja nicht aus einer externen Quelle ermitteln.
Da steht dann z.B. sowas wie
PHP:
<p>Zeige News <?php print $von; ?> bis <?php print $von+$anzahl-1; ?>.</p>
Und
PHP:
<a href="news.php?von=<?php print $von+$anzahl; ?>">Nächste Seite</a>
<a href="news.php?von=<?php print $von-$anzahl; ?>">Vorherige Seite</a>

hm...momentan noch schwer verständlich, hättest du vllt eine seite wo dies ein bisschen erklärt wird? werde natürlich auch noch googlen..vllt find ichs ja schneller ;) *g*...aber ist schon schwer zu finden wenn man nicht so recht weiß wies geht :)
Hört sich für mich an, als bräuchtest Du Grundlagen in der Programmierung.
Nein, ich weiß da keinen Link.

ok..naja der gedanke mit datenbank kam ja eigentlich nur auf, weil ich im glauben bin das es dadurch einfacher zu regeln wäre.
Würde ich prinzipiell so sehen. Mancheiner sagt zwar, man müsse nicht immer alles mit Datenbank machen, ber wenn ich doch eine habe und ich weiß, dass sie mir viel Arbeit abnimmt...

hm...was mich eben so n bisschen irritiert ist, dass ich dann für jeden news eine komplette seite schreiben muss
Musst Du nicht. Eine (HTML/PHP-)Seite für alle. Per Parameter übergibst Du, welche News aufgelistet oder angezeigt werden sollen.
Du bräuchtest für jede News eine eigene Datei mit dem Inhalt, wenn Du das nicht mit Datenbanken machen würdest (zumindest wäre es mit einzelnen Dateien einfacher).

2 Fragen beantwortet, 34 neue aufgetan? :-)
 
Zuletzt bearbeitet von einem Moderator:
2 Fragen beantwortet, 34 neue aufg:-)etan?
ja, endschuldige !

Selber.
Du hast die News ja irgendwo gespeichert und irgendwie durchnummeriert. Daraus ergibt sich die News-Nr. In einer Datenbank würde ich die News über ein Feld "id" durchnummerieren, bei Dateien würde ich die Nummer im Dateinamen unterbringen.

naja die news werden in die index.php via include aus der datei news.php geholt. d.h., so wie ich das jetzt interpretiere, müsste ich für jeden newsschnipsel, auch wenns nur ein einzeiler ist, eine datei erstellen? Momentan habe ich mal 3 news getippt und alle 3 in der news.php drin.

Wir sind ja nicht im HTML-Forum, also verzichte ich mal darauf, die Semantik des ganzen zu kommentieren :-)
kannst du ruhige machen...also was ist daran nicht so gut? wegen h2 und h3? hm..ich habe header h1 -> dann was es ist news/update/sonstiges h2 -> überschrift h3. ist das falsch gedacht oder muss ich in diesem newsabschnitt wieder mit h1 anfangen? das textliche steht natürlich im <p>...


Da steht dann z.B. sowas wie
PHP:
<p>Zeige News <?php print $von; ?> bis <?php print $von+$anzahl-1; ?>.</p>
Und
PHP:
<a href="news.php?von=<?php print $von+$anzahl; ?>">Nächste Seite</a>
<a href="news.php?von=<?php print $von-$anzahl; ?>">Vorherige Seite</a>
Hört sich für mich an, als bräuchtest Du Grundlagen in der Programmierung.
Nein, ich weiß da keinen Link.
wohl möglich..ist ja irgendwie alles nur eigeninitative bislange gewesen und durch zich tutorials gewuselt um nach antworten auf irgendwelche fragen zu suchen..

Musst Du nicht. Eine (HTML/PHP-)Seite für alle. Per Parameter übergibst Du, welche News aufgelistet oder angezeigt werden sollen.
Du bräuchtest für jede News eine eigene Datei mit dem Inhalt, wenn Du das nicht mit Datenbanken machen würdest (zumindest wäre es mit einzelnen Dateien einfacher).
jetzt stellt sich mir nochmals die frage...ich bin momentan auf dem stand das ich 2 verschiedene "news"-abschnitte für eine news-nachricht (nachricht-nachricht?). D.h. einmal die kurzfassung und einmal dann über "weiterlesen" die langfassung". oder habe ich nur eine Newsdatei wo ich dann sagen wir mal bis punkt "x" anzeige den rest kann man beim klicken lesen?


So viele Fragen. Ich hoffe es macht nicht zuviel Mühe nun mir das irgendwie so "beizubringen"..endschuldigt.

Gruß
Loon3y
 
Ist schon okay, wenn Du fragst. :-)
Irgendwie musst Du ja an das Wissen kommen. Ist halt etwaas schwierig in nem Forum, vor allem, wenn die Programmier-Basics fehlen. Weil Deine Fragen doch ziemlich in Richtung Programmierlogik gehen und eigentlich weder mit HTML, noch PHP oder Datenbanken zu tun haben.

Also gehen wir das doch mal systematisch an.

Entscheide Dich, ob Du Dateien oder eine Datenbank verwenden willst. Ich würde, wenn ich sowieso mysql hätte, eine Datenbank anlegen.
In die kommen Deine News. Eine Tabelle mit eindeutiger id (INTEGER), einem kurzen Titel (VARCHAR) und einem Langtext (TEXT).

Auf einer Übersichtsseite ist es Dein Ziel, alle vorhandenen News aufzulisten. Dazu fragst Du in der Datenbank alle News ab. Meinetwegen sowas wie
select titel from news order by id

Das heißt, Du bekommst eine Liste von Titeln, die Du per HTML als Liste ausgeben kannst.

Wenn Du nun erreichen willst, dass nur eine bestimmte Zahl News auf einer Seite ausgegeben werden, dann brauchst Du einen fixen Wert $anzahl, der definiert, wie viele News auf eine Seite passen, z.B. $anzahl=3.

Der News-Anzeigeseite übergibst Du eine Variable "von". Im Link sieht das so aus: news.php?von=1, übergibst Du nichts, nimmst Du 1 an. Irgendwo muss man ja anfangen.

Im PHP-Script wird diese Variable abgefragt:
PHP:
<?php
  $von=$_REQUEST["von"];
  if ($von<1)
    $von=1;
?>
Jetzt weiß Dein Script, an welcher Stelle Du anfangen sollst, News auszugeben. Nämlich bei Nummer $von.

Daraufhin könntest Du Dein select-Statement anpassen:

PHP:
<?php
  $result=mysql_query("select titel from news where id>=$von and id<".($von+$anzahl)", $db) or die(mysql_error());
?>
Jetzt gibt Dir die Datenbank nur die Titel zurück, deren ID mindestens $von und kleiner ist als $von+$anzahl.
Die gibst Du aus.

Wie die Links für Vorwärts und rückwärts Blättern aussehen, hab ich im letzten Posting geschrieben.

Ein Link auf den vollständigen Newstext:
<a href="news.php?show=$id">
Wobei Du $id dann auch aus der Datenbank holen musst, das haben wir bisher nicht gemacht.
Im Script wird dann ganz oben abgefragt, ob $_REQUEST["show"] gesetzt ist. Wenn ja, dann soll nicht die Liste, sondern eine einzelne News-Detailseite angezeigt werden.

Ist das schonmal hilfreich?
Hab ich Dein Problem denn richtig verstanden?
 
Ist schon okay, wenn Du fragst. :-)

na dann bin ich beruhigt ! :)

Ist das schonmal hilfreich?
Hab ich Dein Problem denn richtig verstanden?
hilfreich aufjedenfall, wenn ich im moment etwas schwer verständlich. für mich ist immernoch die frage da wie ich so eine datenbank erstelle und ich ob ich da dateien mit bestimmten endungen anlegen muss oder einfach den ganzen code nur in die index-datei tun muss? ^^ Das Problem ist ich habe noch nie mit einer Datenbank gearbeitet, ich könnte mich jetzt mal bei xampp durchwurschteln, da ist denke ich mysql mit dabei...aber mal schauen !

Wenn ich noch fragen habe, was sicherlich leider der fall sein wird :( , werde ich wieder hier schreiben ! ;)

Werde natürlich noch weiterhin hier reinschauen falls noch irgendwelche tips und hinweiße kommen werden.

Es wäre schön wenn du mir noch auf das thema bzgl der "semantik" antworten könntest. Fallst du strikt die forenregeln einhalten willst (sind ja im php-teil des forums), kannste du, sofern es dir nichts ausmacht, mir kurz auch eine pn schreiben.

Vielen Dank und Schachtelsatz for the win !

Loon3y :)
 
für mich ist immernoch die frage da wie ich so eine datenbank erstelle und ich ob ich da dateien mit bestimmten endungen anlegen muss oder einfach den ganzen code nur in die index-datei tun muss?
Dann solltest Du Dich erstmal mit Datenbanken befassen, denn wenn das Verständnis fehlt, dann wird das auch nichts mit nem Newsscript. Das eine hat mit dem anderen erstmal nichts zu tun.
Wenn Du eine Datenbank verwenden willst, dann legst Du gar keine Dateien an. Dann hast Du eine Datenbank, in die Du die News idR über das Frontend phpMyAdmin eingeben kannst.
Wenn Du keine Datenbank verwenden willst, dann legst Du beliebige Dateien an.

Das Problem ist ich habe noch nie mit einer Datenbank gearbeitet, ich könnte mich jetzt mal bei xampp durchwurschteln, da ist denke ich mysql mit dabei...aber mal schauen !
Ja, da ist mysql und phpmyadmin mit dabei. Alles, was Du brauchst. Ein Problem ist das allerdings nicht, dass Du noch nie damit gearbeitet hast, zum Problem wird es nur, wenn Du es nicht lernen willst, oder Panik kriegst, weil Du was neues lernen sollst :-)

Mein Vorschlag: Starte Deinen phpMyAdmin, lege einen Benutzer an, da gibts einen Punkt "Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte". Danach gehst Du in die Datenbank und legst eine Tabelle mit Deinen News an. Dazu überlegst Du Dir, was Du für die News alles brauchst:
eine eindeutige ID als Primärschlüssel
ein Datum, vielleicht eine Uhrzeit?
Ein Titel
Eine Beschreibung
Vielleicht ein Bild dazu? Also die URL des Bildes dann.

Das wird wahrscheinlich alles sein.
Dann befasst Du Dich mit SQL, solche Kommandos kannst Du auch in phpMyAdmin direkt eingeben. Damit probierst Du rum, wie Du an die Daten kommst, wie Du eine bestimmte News bekommst, wenn Du die ID kennst, und wie Du die Zahl der News für eine Seite in der Liste reduzierst.

Danach lernst Du, wie Du SQL-Kommandos mit PHP absetzt (mysql_query).

Dann machst Du Dein Newsscript :-)

Es wäre schön wenn du mir noch auf das thema bzgl der "semantik" antworten könntest.
Nachdem die Wahrscheinlichkeit, dass Du genau diesen Code verwenden wirst, wenn Du alle anderen Probleme gelöst hast, die davor stehen, eher gegen Null geht, muss ich da jetzt nicht wirklich drauf eingehen.
Da stand nur was von "Datum" ohne, dass das ausgezeichnet war und es kamen <br> vor, die man besser mit margin hinbekommt.

Viel Erfolg!
-Efchen
 
Dann solltest Du Dich erstmal mit Datenbanken befassen, denn wenn das Verständnis fehlt, dann wird das auch nichts mit nem Newsscript. Das eine hat mit dem anderen erstmal nichts zu tun.
Wenn Du eine Datenbank verwenden willst, dann legst Du gar keine Dateien an. Dann hast Du eine Datenbank, in die Du die News idR über das Frontend phpMyAdmin eingeben kannst.
Wenn Du keine Datenbank verwenden willst, dann legst Du beliebige Dateien an.

ok das hab ich gestern mal so angefangen....verständnis ist dafür schon da, jetzt muss ich eben nur am ball bleiben. Es ist als privatanwender immer nicht so einfach wenn man sich informationen aus dem internet sucht / bekommt und dann diese anwenden soll. sobald eine neue frage aufkommt kann man nicht fragen sondern muss googlen ^^


Ja, da ist mysql und phpmyadmin mit dabei. Alles, was Du brauchst. Ein Problem ist das allerdings nicht, dass Du noch nie damit gearbeitet hast, zum Problem wird es nur, wenn Du es nicht lernen willst, oder Panik kriegst, weil Du was neues lernen sollst :-)

Ach ich bin da eigentlich nicht so. Ich interessiere mich sehr dafür, also werd ich auch den willen besitzen mich da reinzuhängen. ;)


Mein Vorschlag: .......

Danach lernst Du, wie Du SQL-Kommandos mit PHP absetzt (mysql_query).

Dann machst Du Dein Newsscript :-)

Das mit der Datenbank anlegen hat gestern soweit schon geklappt, werde heute dann bei dem php absetzen weitermachen. Besten Dank für den Richtungsweiser ;)

Nachdem die Wahrscheinlichkeit, dass Du genau diesen Code verwenden wirst, wenn Du alle anderen Probleme gelöst hast, die davor stehen, eher gegen Null geht, muss ich da jetzt nicht wirklich drauf eingehen.
Da stand nur was von "Datum" ohne, dass das ausgezeichnet war und es kamen <br> vor, die man besser mit margin hinbekommt.

Den oberen Satz versteh ich nicht so ganz *g* es ist immer schön wenn man schachtelsätze schreiber, aber jemand anderes versteht die dann meist nie...sollte ich mir vllt auch mal merken ^^ könntest du das bitte nochmal erklären wie es gemeint ist?

Danke und Gruß

Loon3y
 
Ich seh schon, Du kommst klar. Ich hab auch nichts anderes erwartet :-)

Mit dem tollen Satz ;) meinte ich, dass Du diesen Code, so wie Du ihn gepostet hast, wahrscheinlich nicht verwenden wirst. Deswegen wäre es jetzt doof, den zu bewerten.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben