/ 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
Tabel i løkke.
Fra : Unsafe


Dato : 22-09-05 13:41

Hej med jer.

Jeg har fra et tidliger spørgsmål jeg har stillet fået en kode
til at udskrive eks:

<table style="width: 100%" cellspacing="0" cellpadding="2">
*While løkke her*
<td>Noget</td>
<td>Noget</td>
<td>Noget</td>
<td>Noget</td>
*Afslutning*
</table>

Og hvis der eks, kun er tilføjet 3. Så skal det sidste rum (4)
selvfølgelig bare stå tomt.

Dette er min kode indtil vidre,

<?
include("includes/mysql.php");

function myFriends()
{
$res = mysql_query("SELECT * FROM galleri WHERE user_id = '3'
ORDER BY id DESC") or die(mysql_error());
$a = array();
while ($row=mysql_fetch_assoc($res))
{
$a[] = $row;
}
$s = "";

for($i=0; $i<count($a); $i+=4)
{
$src = "images/galleri/".$a[$i]["bnavn"]."";
$maxWidth = 100;
$maxHeight = 100;

$srcSize = getImageSize($src);
$imgWidth = $srcSize[0];
$imgHeight = $srcSize[1];

if($imgWidth > $maxWidth)
{
$imgWidth = $maxWidth;
$imgHeight = $imgHeight * ($imgWidth / $maxWidth);
}

if($imgHeight > $maxHeight)
{
$imgHeight = $maxHeight;
$imgWidth = $imgWidth * ($imgHeight / $maxHeight);
}

$s .= "<tr>";

for($b=0;$b<4;$b++)
{
if(!empty($a[$num]['overskrift']))
{
$num = $i + $b;
$s .= "<td>".$a[$num]["overskrift"]." <img
src=\"". $src ."\" width=\"". $imgWidth ."\" height=\"".
$imgHeight ."\"></td>";
}
else
{
$s .= "<td>&nbsp;</td>";
}
}

$s .= "</tr>\n";
}
return $s;
}
?>

<table>
<tbody>
<?=myFriends()?>
</tbody>
</table>

www.unsafe.dk/ny/test.php der kan i se hvordan det ser ud.

Der kommer bare ingen ting.


Håber i kan hjælpe, ved ikke hvordan jeg ellers kunne forklare
det, håber i forstår.

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Dennis Micheelsen (22-09-2005)
Kommentar
Fra : Dennis Micheelsen


Dato : 22-09-05 14:34


"Unsafe" <webmaster@unsafe.dk> wrote in message
news:4332a66e$0$49019$14726298@news.sunsite.dk...
[snip]
>
> for($b=0;$b<4;$b++)
> {
> if(!empty($a[$num]['overskrift']))
> {
> $num = $i + $b;
> $s .= "<td>".$a[$num]["overskrift"]." <img
> src=\"". $src ."\" width=\"". $imgWidth ."\" height=\"".
> $imgHeight ."\"></td>";
> }
> else
> {
> $s .= "<td>&nbsp;</td>";
> }
> }
[snip]

umiddelbart ser det ud til at det er i den for løkke det går galt .. har du
prøvet at fjerne if-else for at se hvad der så sker?

//Dennis



Bent Stigsen (22-09-2005)
Kommentar
Fra : Bent Stigsen


Dato : 22-09-05 15:11

Unsafe wrote:
[snip]
> $res = mysql_query("SELECT * FROM galleri WHERE user_id = '3'
> ORDER BY id DESC") or die(mysql_error());
> $a = array();
> while ($row=mysql_fetch_assoc($res))
> {
> $a[] = $row;
> }
> $s = "";
>
> for($i=0; $i<count($a); $i+=4)
> {
> $src = "images/galleri/".$a[$i]["bnavn"]."";

$src bliver sat til hvert fjerde billede og senere brugt i loop 4
gange. Det er formentlig ikke det du har tiltænkt.

[snip]
> for($b=0;$b<4;$b++)
> {
> if(!empty($a[$num]['overskrift']))
> {
> $num = $i + $b;

$num bruges inden den tildeles en værdi.

> $s .= "<td>".$a[$num]["overskrift"]." <img
> src=\"". $src ."\" width=\"". $imgWidth ."\" height=\"".
> $imgHeight ."\"></td>";

[snip]


Der er andre metoder til at opnå det samme. Prøv evt. med noget ala...

$numcols = 4; //antal kolonner i tabel
$col = 0; //aktual kolonne
$s='';

while ($row=mysql_fetch_assoc($res)) {

//start række hvis ved 1. kolonne
if ($col==0) $s .= '<tr>';

$src = "images/galleri/".$row["bnavn"];
//...
$s .= '<td>...</td>'

//roterer $col 0-1-2-3-0-1...
$col = ($col+1)%$numcols;

//slut række hvis tilbage til 1. kolonne
if ($col==0) $s .= '</tr>';
}
//udfuld med tomme celler hvis række ikke afsluttet
while ($col>0) {
$s .= '<td>&nbsp;</td>';
$col = ($col+1)%$numcols;
if ($col==0) $s .= '</tr>';
}


/Bent

Unsafe (22-09-2005)
Kommentar
Fra : Unsafe


Dato : 22-09-05 17:31

Bent Stigsen wrote in dk.edb.internet.webdesign.serverside.php:
> Unsafe wrote:
> [snip]
> > $res = mysql_query("SELECT * FROM galleri WHERE user_id = '3'
> > ORDER BY id DESC") or die(mysql_error());
> > $a = array();
> > while ($row=mysql_fetch_assoc($res))
> > {
> > $a[] = $row;
> > }
> > $s = "";
> >
> > for($i=0; $i<count($a); $i+=4)
&gt; > {
> > $src = "images/galleri/".$a[$i]["bnavn"]."";
>
> $src bliver sat til hvert fjerde billede og senere brugt i loop 4
> gange. Det er formentlig ikke det du har tiltænkt.
>
> [snip]
> > for($b=0;$b<4;$b++)
> > {
> > if(!empty($a[$num]['overskrift']))
> > {
> > $num = $i + $b;
>
> $num bruges inden den tildeles en værdi.
>
> > $s .= "<td>".$a[$num]["overskrift"]." <img
&gt; > src=\"". $src ."\" width=\"". $imgWidth ."\" height=\"".
> > $imgHeight ."\"></td>";
>
> [snip]
>
>
> Der er andre metoder til at opnå det samme. Prøv evt. med noget ala...
>
> $numcols = 4; //antal kolonner i tabel
> $col = 0; //aktual kolonne
> $s='';
>
> while ($row=mysql_fetch_assoc($res)) {
>
> //start række hvis ved 1. kolonne
> if ($col==0) $s .= '<tr>';
>
> $src = "images/galleri/".$row["bnavn"];
> //...
> $s .= '<td>...</td>'
>
> //roterer $col 0-1-2-3-0-1...
> $col = ($col+1)%$numcols;
>
> //slut række hvis tilbage til 1. kolonne
> if ($col==0) $s .= '</tr>';
> }
> //udfuld med tomme celler hvis række ikke afsluttet
> while ($col>0) {
> $s .= '<td> </td>';
> $col = ($col+1)%$numcols;
> if ($col==0) $s .= '</tr>';
> }
>
>
> /Bent





Jeg er ikke så god til php. kan i evt være søde at rette koden som den
skal se ud ? så ville i virke hjælpe mig super meget


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Bent Stigsen (22-09-2005)
Kommentar
Fra : Bent Stigsen


Dato : 22-09-05 20:22

Hvis ellers din mail virker, ligger der noget du måske kan bruge.

/Bent

Unsafe (23-09-2005)
Kommentar
Fra : Unsafe


Dato : 23-09-05 12:33

Bent Stigsen wrote in dk.edb.internet.webdesign.serverside.php:
> Hvis ellers din mail virker, ligger der noget du måske kan bruge.
>
> /Bent


Yes ! Fedt det virker nu

Mange mange tak :)


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste