Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze skryptem :/
Forum PHP.pl > Forum > Gotowe rozwiązania
Ive
napisałem skrypt php (wyświetlacz newsów) i coś jest źle ;/ (efekt zobaczysz tu
a kod daje tu:
[php:1:f1dba2a274]<?php
$ile_na_stronie = 5;

$plik = file("news.txt");
$ile_news = sizeof($plik);

if(trim($n)=="" || !is_numeric($n)) {

$n = "1";

}
$x = ($n*$ile_na_stronie)-$ile_na_stronie;
$y = $x+$ile_na_stronie;
for($i=$x;$i<$y;$i++) {

$nr = $czesc[0];
$ile_kom = count(file("komentarze/$nr.txt"));
$czesc = explode("|*|/*|", $plik[$i]);
echo("<p><img src="emb/$czesc[2]" width="50" height="50" align="left">Temat: $czesc[3]<br>Data: $czesc[4]<br>Autor: $czesc[1]<br>Nr newsa: $czesc[0]</p><p>$czesc[5]</p><p align=right><a href="koment.php?ktory=$nr" target=_blank>Komentarzy [ $ile_kom ]</a><br>");

}
$ile_stron = ceil($ile_news/$ile_na_stronie);
for($i=1; $i<=$ile_stron;$i++) {

echo("<a href="?n=$i">$i</a> | ");

}
?>[/php:1:f1dba2a274]
i nie wiem co jest w tym kodzie źle ;/ jeśli ktoś by mógł pomóc byłbym bardzo wdzięczny biggrin.gif
spenalzo
Brak pliku ".txt"
MaKaO
Jak masz zmienną $ile_kom = count(file("komentarze/$nr.txt")); to dawaj do w warunku if($nr){ albo if(isset($nr)){ bo w innym wypadku gdy $nr nie jest podane on wypisuje że nie ma pliku komentarze/.txt bo brakuje $nr smile.gif I to chyba tyle bo tylko o tym błąd widziałem...
Ive
sorry do końca nie uzzasadniłem o jaki błąd mi chodzi smile.gif bo ja napisałem tylko 1-ego newsa a skrypt wyświetla 5 :/ błąd zapewne zrobiłem tu:[php:1:4d9ab7f845]<?
//ściałem troszkę kodu do tego momentu smile.gif
$x = ($n*$ile_na_stronie)-$ile_na_stronie;
$y = $x+$ile_na_stronie;
for($i=$x;$i<$y;$i++) {
//dalej coś tam jeszcze jest smile.gif
?>[/php:1:4d9ab7f845]
ale nie wiem jak to poprawić i gdzie wogóle błąd zrobiłem w tych wierszach :oops:
Omega
laugh.gif Powiedz co miałeś z matmy?questionmark.gif laugh.gif
Po pierwsze:
[php:1:121b5fc973]<?php
$x = ($n*$ile_na_stronie)-$ile_na_stronie;
?>[/php:1:121b5fc973]
jest trochę bez sensu bo można:
[php:1:121b5fc973]<?php
$x = ($n-1)*$ile_na_stronie;
?>[/php:1:121b5fc973]

Jeżeli dobrze rozumiem, to $n jest ilością stron, na których można powiedzieć newsy zostały wyświetlone. W takim razie, zmienne $x i $y powinienes na koniec powiększyć jeszcze o jeden, np. w taki sposób:

[php:1:121b5fc973]<?php
$x++;
$y++;
?>[/php:1:121b5fc973]

biggrin.gif
Ive
chciałem powrócić do tego tematu bo problem nadal mam nierozwiązany sad.gif mam pętle for która wyświetla mi newsy i wygląda tak:
[php:1:29ab22aa4a]<?php
$start = ($n-1)*$ile_na_stronie; // określenie początku
$stop = $start+$ile_na_stronie; // określenie konća i tu jest błąd jakiś :/
for($i=$start;$i<$stop;$i++) { // początek pętli
?>[/php:1:29ab22aa4a]
proszę o pomoc bo poprzednim razem nic nie wyszło sad.gif
KaMeLeOn
[php:1:357a1c43c1]<?php
// ...
$start = ($n-1) * $ile_na_stronie;
$stop = $start + $ile_na_stronie;
if( $ile_news < $stop )
{
$stop = $ile_news;
}
for($i=$start ; $i<$stop ; $i++)
{
//...
}
?>[/php:1:357a1c43c1]
Ive
dzięki wszystko działa!!!!!!! biggrin.gif
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.