Toon posts:

[PHP] Plaatjes worden niet netjes ge- echo'ed

Pagina: 1
Acties:
  • 101 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb het volgende stuk code op de volgende pagina: http://www.mp3-drug.com/albums
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?
 $count = "0";
$sql = "SELECT * FROM albums ORDER BY Artist ASC LIMIT 0, 9";
$result = mysql_query($sql);

print " <table width=\"500\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" height=\"8\"><tr valign=\"top\">";

while ($row = mysql_fetch_object($result))
{

$row->Artist = stripslashes($row->Artist);
$row->Album = stripslashes($row->Album);
  $count++;

if($count>=3)
{
echo "</tr><tr valign=\"top\">";
echo  "<td height=\"88\" width=\"172\" bordercolor=\"0\">
                            <div align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><a href=\"albumdownload?id=$row->id&amp;a=$row->Artist&amp;s=$row->Album\" target=\"_blank\">$row->Artist</a></font><a href=\"albumdownload?id=$row->id&amp;a=$row->Artist&amp;s=$row->Album\" target=\"_blank\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><br>
                              [img]\"$row->image\"[/img]<br>
                              <font size=\"1\">$row->Album</font></font></a>
                              <p>
                            </div>
                          </td>";

$count = "0";
}
else
{
echo "<td height=\"88\" width=\"172\" bordercolor=\"0\">
                            <div align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><a href=\"albumdownload?id=$row->id&amp;a=$row->Artist&amp;s=$row->Album\" target=\"_blank\">$row->Artist</a></font><a href=\"albumdownload?id=$row->id&amp;a=$row->Artist&amp;s=$row->Album\" target=\"_blank\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><br>
                              [img]\"$row->image\"[/img]<br>
                              <font size=\"1\">$row->Album</font></font></a>
                              <p>
                            </div>
                          </td>";
}
}
?>

het is de bedoeling dat ie dus netjes 3 albums / rij print,en dat doet ie dan ook. Alleen bij de bovenste rij zoals je kan zien print ie er maar 2! Wie weet hoe dit kan...want ik wil gewoon netjes 3 rijen van 3, en niet 1 rij van 2, 2 van 3 en 1 van 1 !

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

gebruik aub ff [ php] en [ /php]

Doet iets met Cloud (MS/IBM)


  • Tim
  • Registratie: Mei 2000
  • Laatst online: 23-07 15:18

Tim

Ok, het normaal schrijven van je code lijkt me een goed begin, wat je nu doet is erg vaag..

Het probleem zit hem trouwens in dat je count al verhoogd voor je print

  • Bluestorm
  • Registratie: Januari 2000
  • Laatst online: 20-08-2022
Bij iedere derde laat je een nieuwe rij beginnen maar dat doe je zo:

1: <td></td>
2: <td></td>
3: </tr><tr><td></td>

dus dan krijg je bij de eerste keer natuurlijk maar 2 cellen in een rij...

Er zijn trouwens wel kortere manieren om dit aan te pakken:
PHP:
1
2
3
<?
if($count%3==0) echo "</tr><tr valign='top'>";
?>

zetten boven het stukje waarin je de cel laat zien voorkomt een hoop dubbele code...

daarnaast nog even:
$count="0"; => $count=0;

inspringen kan ook geen kwaad.

Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden


  • Tim
  • Registratie: Mei 2000
  • Laatst online: 23-07 15:18

Tim

Zo, dit lijkt me al een vooruitgang:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
 
echo '<table width="500" border="0" cellspacing="0" cellpadding="0" height="8">';
$sql = "SELECT * FROM albums ORDER BY Artist ASC LIMIT 0, 9";
$result = mysql_query($sql);
$nmr_rec = mysql_num_rows($result);
$nmr_rows = ceil($num_rec / 3);

for($i=0; $i<$nmr_rows; $i++)
{
  echo '<tr valign="top">';
  for($j=0; $j<3; $j++)
  {
    if (!$row = mysql_fetch_object($result)) break;
    echo '  <td height="88" width="172" bordercolor="0"><div align="center" style="font-family: Verdana, Arial, Helvetica, sans-serif; size: smaller;"><a href="albumdownload?id=' . $row->id .  '&amp;a=' . $row->Artist . '&amp;s=' . $row->Album . '" target="_blank">' . $row->Artist . '<br>[img]"'[/img]image .'" width="90" height="90" border="0"><br>' .$row->Album . '</a><p></div></td>';
  }
  echo '</tr>';
}
echo '</table>'; 
?>

Untested

Ik zou toch ook echt nog eens je source door kijken.. een a sluiten en daarna meteen de zelfde weer openen? of 3 font trags door elkaar, 3x dezelfde..

  • Bluestorm
  • Registratie: Januari 2000
  • Laatst online: 20-08-2022
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
 
echo '<table width="500" border="0" cellspacing="0" cellpadding="0" height="8"><tr valign="top">';

$sql = "SELECT * FROM albums ORDER BY Artist ASC LIMIT 0, 9";

$result = mysql_query($sql);

for($count=0; $row=mysql_fetch_object($result); $count++){

   if($count%3==0) echo '</tr><tr valign="top">';

   echo '  <td height="88" width="172" bordercolor="0"><div align="center" style="font-family: Verdana, Arial, Helvetica, sans-serif; size: smaller;"><a href="albumdownload?id=' . $row->id .  '&amp;amp;amp;amp;a=' . $row->Artist . '&amp;amp;amp;amp;s=' . $row->Album . '" target="_blank">' . $row->Artist . '<br>[img]"'[/img]image .'" width="90" height="90" border="0"><br>' .$row->Album . '</a><p></div></td>';

}

echo '</tr></table>'; 
?>

vind ik zelf toch makkelijker.

Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden


Verwijderd

Topicstarter
Dit gaat allemaal met for loops, maar is het niet gewoon in de while loop op te lossen?

  • Bluestorm
  • Registratie: Januari 2000
  • Laatst online: 20-08-2022
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
 
echo '<table width="500" border="0" cellspacing="0" cellpadding="0" height="8"><tr valign="top">';

$sql = "SELECT * FROM albums ORDER BY Artist ASC LIMIT 0, 9";

$result = mysql_query($sql);
$count=0;
while($row=mysql_fetch_object($result)){

   if($count%3==0) echo '</tr><tr valign="top">';

   echo '  <td height="88" width="172" bordercolor="0"><div align="center" style="font-family: Verdana, Arial, Helvetica, sans-serif; size: smaller;"><a href="albumdownload?id=' . $row->id .  '&amp;amp;amp;amp;amp;amp;a=' . $row->Artist . '&amp;amp;amp;amp;amp;amp;s=' . $row->Album . '" target="_blank">' . $row->Artist . '<br>[img]"'[/img]image .'" width="90" height="90" border="0"><br>' .$row->Album . '</a><p></div></td>';

   $count++;
}

echo '</tr></table>'; 
?>

wordt het dan...

Tenminste... dat [ denk / zie / weet ] ik... | Javascript obfuscator | foto's en video's uploaden

Pagina: 1