Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dane z Tablicy jako Komenda [zaawansowane]
Forum PHP.pl > Forum > PHP
atay
nie wiedziałem jak to dokładnie wyjaśnić w temacie, dokładnie postaram się wyjaśnic tutaj:
mam tablice wygladajacą tak (znajduję sie na początku skryptu):
[php:1:e68f16cebc]
$naglowek[0][0]='Nazwa pliku';
$naglowek[0][1]=0;
$naglowek[0][2]="width="200" bgcolor="#99CCFF"";
$naglowek[0][3]="<div align=center><strong>";
$naglowek[0][4]="</strong></div>";
$naglowek[0][5]="<font class="opisbig">".$pliki[$licz][6]."</font>"
[/php:1:e68f16cebc]
funkcją którą wykonuję to:
[php:1:e68f16cebc]komorka("<font class="opisbig">".$pliki[$licz][6]."</font>");[/php:1:e68f16cebc]
no i chciałbym zamiast środka funkcji podstawić $naglowek[0][5], tyle ze jak on sie przypisze na początku pliku w tablicy to $pliki[$licz][6] nie bedzie dynamiczne ($pliki[$licz][6] będzie cały czas miał tą samą wartość gdy zostanie przypisana na początku), a wykonuje to się w pętli.
Czy jest jakis sposób na obejście tego tak jak myślę ?
spenalzo
Cytat
no i chciałbym zamiast środka funkcji podstawić $naglowek[0][5], tyle ze jak on sie przypisze na początku pliku w tablicy to $pliki[$licz][6] nie bedzie dynamiczne ($pliki[$licz][6] będzie cały czas miał tą samą wartość gdy zostanie przypisana na początku), a wykonuje to się w pętli.

Eee, przepraszam - o co chodzi?
atay
mam funkcję komorka, odpowiadajaca za wyswietlenie komorki tabeli (<td>) z textem w srodku, podanym jako argument.
strona to: http://atay.ksiezyc.pl/download/

plik php jest dość duży i odpowiada za listing katalogu.
dwie przykładowe funkcje to
[php:1:d76b582b0d]<?php
komorka("<font class="opisbig">".$pliki[$licz][6]."</font>");
komorka("<font class="opis">".date('y-m-d H:i',filemtime($pliki[$licz][1])));
?>[/php:1:d76b582b0d]

jak widac argumenty funkcji "komorka" roznia sie od siebie znacznie, co uniemożliwia zrobienie mi tego w pętli ... nawet mam problem z wytłumaczneiem tego smile.gif

chcialbym zastapic linijki komorka(".....") na komorka($naglowek[$dodaj++][5]), gdzie byloby to w pętli, a w funkcję komórka jako argument podawany byłby aktualny parametr z wczesniej podanej tablicy. Jeśli zrobię to podstawiając normalnie to problem jest w tym że zmienna "<font class="opisbig">".$pliki[$licz][6]."</font>" nie jest generowana dynamicznie, tylko na początku już ustalana i funkcja o której pisałem będzie wypisywała cały czas to samo ze zmienną $pliki[$licz][6] dla wartości [$licz] takiej jaka ustalona była przy deklarowaniu tablicy.
spenalzo
Nie wiem czy dobrze zrozumiałem :-) ale może daj [manual:f0c6656ee7]if[/manual:f0c6656ee7], który sprawdza, czy nie jest to 6 komórka i wtedy zamiast $dodaj daje 0.
kulfoniasty
hym... zdaje mi się że zrozumiałem.

skoro ma być w pętli to tak.....
[php:1:e3ab89844c]<?php
while (list($k,$v)=each($naglowek)){
if (is_array($v)){
while (list($k1,$v1)=each($v)){
komorka($v1);
}
}else{
komorka($v);
}
}
?>[/php:1:e3ab89844c]

czy o to chodziło questionmark.gif
kulfoniasty
hym... czyli jednak zle zrozumialem sad.gif
atay
wlasnie zorientowalem sie jak moge w przystepny sposob to wyjasnic
[php:1:bf7f0d3913]<?php
$zmienna=funkcja1($argumentfunkcji1[$licz]);

while each($jakastampetla)
echo $zmienna;
$licz++;
?>[/php:1:bf7f0d3913]

i którtkie wyjaśnienie, $zmienna nie moge zrobic w petli, bo jest ich tyle, że bardzo spowolnilo by to prace skryptu, a chodzi o to, by przy komendzie echo, język automatycznie odwoływał się do $zmienna i generował ją poraz drugi, tak by argument [$licz] miał już inną wartość, co sprawi że $zmienna będzie już inna.
adwol
Cytat
i którtkie wyjaśnienie, $zmienna nie moge zrobic w petli, bo jest ich tyle, że bardzo spowolnilo by to prace skryptu, a chodzi o to, by przy komendzie echo, język automatycznie odwoływał się do $zmienna i generował ją poraz drugi, tak by argument [$licz] miał już inną wartość, co sprawi że $zmienna będzie już inna.

Przeczytałem Twoje trzy tłumaczenia i nadal nie wiem o co chodzi. Dobrze rozumiem, że chcesz dynamicznie generować $zmienna i w pętli wyświetlać jej zawartość?
[php:1:420a593203]<?php
for ($licz = 0; $licz < $n; $licz++)
{
$zmienna=funkcja1($argumentfunkcji1[$licz]);
echo $zmienna;
}
?>[/php:1:420a593203]
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.