Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z ilością wyświetlania
Forum PHP.pl > Forum > Gotowe rozwiązania
Dawka
Witam.

Mam następujący problem: Mam skrypt, który pobiera linki do newsów i powinien wyświetlać wyznaczoną ilość linków w bloku. Wyświetla natomiast za dużo linków.

Oto kod skryptu:

Kod
<?
$ilosc_linkow = 6;
//pobieranie id kategorii ..
function news_include($id_kat)
{
//$id_kat = $_GET['id_kat'];
if ($dir = @opendir("baza/news")) {
while (($filee = readdir($dir)) !== false) {
if (eregi("base$",$filee)){
$file[]=$filee;
}
}
closedir($dir);
}
sort($file, SORT_NUMERIC);

for($i=0;$i<count($file);$i++)
{
$x = explode(".", $file[$i]);
$y = explode(",", $x[0]);
$kate = $y[1];
if($kate == $id_kat)
{
$news[] = $file[$i];
}
}

if($ilosc_linkow<count($news)){$ilosc_linkow=count($news);}
for($i=0;$i<$ilosc_linkow;$i++)
{
$x = count($news)-$i;
$pliknewsa=file("baza/news/".$news[$x]);
$odczyt = explode("||", $pliknewsa[0]);
$id = explode(".", $news[$x]);
//Skracanie zadługiego tytulu
$length = strlen($odczyt[0]); // sprawdzanie dlugosci tytulu
$odczyt[0] = substr ($odczyt[0], 0, 25);
if($length > 25)
{
$odczyt[0]="$odczyt[0]...";
}
echo("<li> <a href=\"?news=\"".$id[0]."\ title=\"".$odczyt[0]."\">".$odczyt[0]."</a></li>");
}
}
?>



Skypt includuje komenda:

Kod
<?php include("news_include.php"); news_include(1);?>


gdzie (1) to nazwa kategorii które są kolejno 0,1,2

link do strony: http://www.michaelowen.pl/indexxx2.php

Proszę o pomoc
WereWolf
Cytat(Dawka @ 17.12.2006, 09:38:10 ) *

na tej stronie nie ma nic konkretnego...


nie wiem czy dobrze rozumiem, ale podejrzewam, że błąd leży tutaj:
  1. <?php
  2. if($ilosc_linkow<count($news)){$ilosc_linkow=count($news);}
  3. ?>


skrypt sprawdza wielkość $ilosc_linkow i porównuje ją z ilością wszystkich newsów...
jeśli jest mniejsza, to przypisuje jej liczbę wszystkich newsów... czyli dajmy na to, ustawiasz liczbę 6, a wszystkich newsów masz 9
skrypt przypisuje wtedy liczbę 9 i wyświetla Ci wszystkie newsy, zamiast zadanych 6...

jeśli dobrze zrozumiałem celowość tego działania, to raczej powinno być odwrotnie... jeśli podasz większą liczbę, niż masz newsów, dajmy na to - podajesz liczbę 6, a newsów masz 3... skrypt powinien wtedy zmniejszyć liczbę_linków do 3, czyli powinno być:

  1. <?php
  2. if($ilosc_linkow>count($news)){$ilosc_linkow=count($news);}
  3. ?>
Dawka
też tak myślałem, ale nie w tym leży błąd, bo gdy zmieniam znak nierówności, to wtedy skrypt nic nie wyświetla

a na stronie te linki powinny być pod belką Newcastle United... i są ale jest ich za dużo
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-2025 Invision Power Services, Inc.