/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
what the hell...
Fra : Johannes Skov Frands~


Dato : 13-09-05 11:05

Jeg ved det bare er en dum fejl men jeg kan bare ikke få øje på den:

Script:

$string = "\n".'<table>'."\n";
for($i = 0; $i<sizeof($file_list); $i++)
{
$string .= '<tr>'."\n";
for($j = 0; $j<$pictures_pr_line; $j++)
{
if($i >= sizeof($file_list))
{
$string .= ' <td>&nbsp;</td>'."\n";
}
else
{
$string .= ' <td><img title="'.$file_list[$i].'"
alt="'.$file_list[$i].'" src="'.$path.$file_list[$i].'" /></td>'."\n";
}
$i++;
}
$string .= '</tr>'."\n";
}
$string .= '</table>';

/*********************/

$file_list indeholder f.eks. 13 elementer
$pictures_pr_line indeholder f.eks. 2

resultat->

Script udskriver en tabel med 9 billeder?!

sætter jeg $pictures_pr_line til 3 udskriver det 10 billeder?!

lige meget hvd jeg gør for jeg ikke 13 billeder ud

Hvad er det lige jeg har overset her????

Joe

 
 
Bertel Lund Hansen (13-09-2005)
Kommentar
Fra : Bertel Lund Hansen


Dato : 13-09-05 11:28

Johannes Skov Frandsen skrev:

> Jeg ved det bare er en dum fejl men jeg kan bare ikke få øje på den:

Du opdaterer i to steder, og så har du en test der altid giver
falsk:

> $string = "\n".'<table>'."\n";
> for($i = 0; $i<sizeof($file_list); $i++)

Bemærk i++.
Bemærk at i er mindre end sizeof($file_list).

> {
> $string .= '<tr>'."\n";
> for($j = 0; $j<$pictures_pr_line; $j++)
> {
> if($i >= sizeof($file_list))

Det kan den aldrig blive, så det er hele tiden else-delen der er
aktiv.

> {
> $string .= ' <td>&nbsp;</td>'."\n";
> }
> else
> {
> $string .= ' <td><img title="'.$file_list[$i].'"
> alt="'.$file_list[$i].'" src="'.$path.$file_list[$i].'" /></td>'."\n";
> }
> $i++;

Bemærk i++.

> }
> $string .= '</tr>'."\n";
> }
> $string .= '</table>';

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Nezar Nielsen (13-09-2005)
Kommentar
Fra : Nezar Nielsen


Dato : 13-09-05 11:27

Johannes Skov Frandsen wrote:
> Jeg ved det bare er en dum fejl men jeg kan bare ikke få øje på den:
>
> Script:
>
> $string = "\n".'<table>'."\n";
> for($i = 0; $i<sizeof($file_list); $i++)

her itererer du $i ------------------^^^^

> {
> $string .= '<tr>'."\n";
> for($j = 0; $j<$pictures_pr_line; $j++)
> {
> if($i >= sizeof($file_list))

Du vil nok checke på $j i stedet for $i her..
....
> $i++;

og i bunden itererer du så $i igen..så prøv at fjerne den nederste
$i++; og rette $i til $j i din if..


--
Mvh. Nezar Nielsen
http://gorilla.dk

Nezar Nielsen (13-09-2005)
Kommentar
Fra : Nezar Nielsen


Dato : 13-09-05 12:07

Nezar Nielsen wrote:

>> if($i >= sizeof($file_list))
>
>
> Du vil nok checke på $j i stedet for $i her..

Faktisk er det jo ikke fint, du vil i virkeligheden checke om $j >=
sizeof($file_list) % $pictures_pr_line tror jeg.

--
Mvh. Nezar Nielsen
http://gorilla.dk

Johannes Skov Frands~ (13-09-2005)
Kommentar
Fra : Johannes Skov Frands~


Dato : 13-09-05 12:11

Nezar Nielsen wrote:
> Johannes Skov Frandsen wrote:
>
>> Jeg ved det bare er en dum fejl men jeg kan bare ikke få øje på den:
>>
>> Script:
>>
>> $string = "\n".'<table>'."\n";
>> for($i = 0; $i<sizeof($file_list); $i++)
>
>
> her itererer du $i ------------------^^^^
>
>> {
>> $string .= '<tr>'."\n";
>> for($j = 0; $j<$pictures_pr_line; $j++)
>> {
>> if($i >= sizeof($file_list))
>
>
> Du vil nok checke på $j i stedet for $i her..
> ...
>
>> $i++;
>
>
> og i bunden itererer du så $i igen..så prøv at fjerne den nederste
> $i++; og rette $i til $j i din if..
>
>


Det var itereringen den var gal med:


$string = "\n".'<table>'."\n";
$i=0;
while($i<sizeof($file_list)) //while i stedet for for-løkke
{
$string .= '<tr>'."\n";
for($j = 0; $j<$pictures_pr_line; $j++)
{
if($i >= sizeof($file_list))
{
$string .= ' <td>&nbsp;</td>'."\n";
}
else
{
$string .= ' <td><img title="'.$file_list[$i].'"
alt="'.$file_list[$i].'" src="'.$path.$file_list[$i].'" /></td>'."\n";
}
$i++;
}
$string .= '</tr>'."\n";
}
$string .= '</table>';
return $string;

/*******************/

tak for kickstartet.... nogen gange er man bare blind

Joe



Søg
Reklame
Statistik
Spørgsmål : 177517
Tips : 31968
Nyheder : 719565
Indlæg : 6408633
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste