Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyświetlaniem newsów ;[
Forum PHP.pl > Forum > Gotowe rozwiązania
Ive
Zrobiłem system newsów i teraz chciałem do niego dorobić wyświetlacza newsów tylko że nie mogę sad.gif Problem jest w tym że każdy nowy news zapisuje się w nowym pliku (1.txt, 2.txt itd.) i każdy plik z komentarzami do tych newsów także w nowym pliku (1.txt, 2.txt itd.) tylko że newsy są w katalogu "news" a komentarze w katalogu "komentarze".

Próbowałem z funkcją while ale nie wyszło i nie umiem tego kodu po prostu napisać.

Gdyby ktoś mógł mi udzielić jakichś wskazówek lub odrazu gotowy kod najlepiej ( biggrin.gif ) byłbym bardzo wdzięczny.

Z góry BIG THX dla wszystkich którzy będą starali się mi pomóc smile.gif
eS...
a może byś kod pokazałquestionmark.gif
Ive
Cytat
Próbowałem z funkcją while ale nie wyszło i nie umiem tego kodu po prostu napisać.


Napisałem przecież że nie umiem kodu napisać ;/

Jeśli komuś po prostu nie chce się pisać kodu to mi powinny wystarczyć same wskazówki jak zrobić tego wyświetlacza smile.gif
zulus
no to może zawartość jednego pliku z komentarzami i jednego z newsami :?:
Kinool
zalezy jak masz zapisane newsy w plikach ale jezeli kazdy news jest w oddzielnym pliku to ... mozesz zrobic tak (w dodatkowym pliku np. newsy.txt przechowywac nazwy tych plikow np w takiej postaci


1.txt
2.txt
3.txt

itd. (lub jak tam masz poznazywane pliki z newsami)

potem wczytujesz zawartosc tego np.

$fnews=file(newsy.txt);
$ilosc=count($fnews);

i teraz
$fnews[0] - zawiera nazwe plku z pierwszym newsem
$fnews[1] - zawiera nazwe plku z newsem nr 2.
itp.

majac to i znajac ilosc elementow tablicy $fnews robisz petle

for ($i=0; $i>$iloscl; $i++) {
$f=fopen($fnews[i], r);
$zawartosc=fgets($f, fsize($f));

echo "News nr. $i<br>$zawartosc<br><br>";
}

jeszcze bys musial poorawic wyswieltanie poprawnosci nr tzn tablica zaczyna sie od 0 a ty powinienes miec news nr 1 wiec

$nrpop=$i+1;
echo "News nr. $nrpop <br>$zawartosc<br><br>";

teraz jeszcze trzeba wyswietlac newsy w kolejnosci od najstarszego do najnowszego mozna to zrobic na 2 sposoby

w pliku z nazwami newsow wpisujesz najnowszego newsa na gorze tak by mial nr 0 lub petle zaczynamy od konca czyli

for ($i=ilosc; $i=0; $i--)

tak przynajmniej mi sie wydaje ze powinno zadzialc

(pewnie zrobilem kupe bledow w skladni i ortografi smile.gif ) ale to dlatego ze php zajmuje sie od kilku dni a sprawa ortow to dysortografia biggrin.gif

pozdrawiam
Ive
dzięki postaram się zastosować do twoich wskazówek biggrin.gif
Seth
UZYWAJ BBCodeu !!!!
Ive
Cytat
UZYWAJ BBCodeu !!!!
Przepraszam ale do kogo ten post?
KaMeLeOn
Cytat
Przepraszam ale do kogo ten post?

A czy to ważne... przypomnienie nie zaszkodzi...
Ive
tylko że mi teraz mam problema bo ja zapisuje newsy w innej formie ;/
nie walę od razu tagów html'a tylko zapisuje tak:
1
Ive
ive.jpg
Test
2003-07-16
Test

czyli:
$nr_newsan$nickn$embn$tematn$datan$tresc

a to co ty mi zaproponowałeś (Kinool) to jest tylko do użycia jakbym zapisywał od razu z tagami :/

Please o dalsze wskazówki jak to zrobić.
Omega
Powiedz czy wszystkie komentarze do newsa trzymasz w jednym pliku...? Bo jesli tak, to każdy plik z newsem będzie miał odpowiadający plik z komentarzami. Wtedy nazywaj je tak samo. Wyświetlając wyświetlaj je w odrazu tagach HTML np.:
[php:1:dc6d6dc9fc]<?php
echo "<div style="font-family: arial;">$nick</div>";
?>[/php:1:dc6d6dc9fc]

Nie wiem czy o to chodziło. Prześlij mi skrypt, a pomogę...
endibull@go2.pl
Tylko dokładnie napisz o co chodzi... smile.gif
Omega
Myślę że cos takiego powinno pomuc...
[php:1:0e7b55e4e8]<?php
include( "header.php" );

$news_dir_path = "./news";
$news_dir_dp = opendir( $news_dir_path );
while( $news_element = readdir( $news_dir_dp ) )
{
if ( $news_element != '.' and $news_element != '..') $news_elementy[] = $news_element;
}
closedir( $news_dir_dp );

foreach( $news_elementy AS $element )
{
$news = file( "./news/" . $element );
$comment = file( "./komentarze/" . $element );
$time = explode( " || ", $news[4] );
echo "Autor: $news[1]<br>";
echo "Tytuł newsa: $news[3]<br>";
echo "Data: $time[0] Godzina: $time[1]<br>";
echo "Treść:<br>";
echo "$news[5]<br><br>";
if ( $comment[0] )
{
echo "Komentarz:<br>";
echo "$comment[0]<br><br>";
}
}
?>[/php:1:0e7b55e4e8]
Ive
Wielkie DZIĘKI biggrin.gif ale wyskakują mi błędy które widze pierwszy raz ;/ http://www.evildb.host.sk/news_gamer/pokaz2.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.