Pagina opsplitsen

Status
Niet open voor verdere reacties.

Stinuz

Terugkerende gebruiker
Lid geworden
14 jun 2003
Berichten
1.245
Dit is eigenlijk meer een HTML vraag, maar het gaat om een PHP script dus ik post hem toch hier. Het gaat om het volgende script, hierin wordt een naam van een wallpaper, de poster, en een clickable thumbnail naar de hele foto getoond.

PHP:
<?

include("config.php");

$topicQuery = "SELECT * FROM wallpapers";
$topicResult = mysql_query($topicQuery) or die (mysql_error());
  while($topicRow = mysql_fetch_array($topicResult))
  {
   extract($topicRow);
    $thumbnail = nl2br("$thumbnail");
    echo'
<td>
<b>'. $name .'</b>
<br>
By: <i>'. $username .'</i>
<br>
<a href=http://www.dimitrikorsakov.com/files/pics/wallpapers/'. $category .'/'. $subcategory .'/'. $wallpaper .'><img src=http://www.dimitrikorsakov.com/files/pics/wallpapers/'. $category .'/'. $subcategory .'/thumbs/tn_'. $wallpaper .' border=0></a>
</td><br>
';
}
{
}
?>

Nu is het probleem dat de foto's alleen van boven naar onder worden weergeven, maar de bedoeling is eigenlijk van links naar rechts, en dan na ongeveer 4 of 5 foto's op een nieuwe ''regel'' weer verder gaan. Iemand die weet hoe dit moet?

In HTML kan ik de pagina opzich gewoon opsplitsen maar aangezien ik informatie opvraag uit een database werkt dat niet :confused:
 
Iets beters kan ik zo niet bedenken...
PHP:
<?php
// Hoeveel op een rij?
$nor = 5;
// Vervangen door mysql_num_rows denk ik zo
$einde = 22;

echo' <table border="1">';
for($i=1; $i <= $einde;$i++){
  if(($i % $nor-1) == 0) {
    echo "<tr>\n";
  }
  echo " <td>". $i ."</td>\n";
  if(($i % $nor) == 0) {
    echo "</tr>\n";
  }
}
echo'</table>';
?>
implementeren mag je zelf doen ;)
 
Poeh dat wordt weer wat, de helft is weer Chinees :D

Goed, aan de slag dan maar!

EDIT: Poeh, wat ik ook probeer, ik ben niet verder gekomen dan een kalender achtig iets. Misschien begrijp je me verkeerd?

Ik heb dus een pagina met daar op thumbnails van foto's, maar die worden op deze manier volgens mij niet weer gegeven. 0.o
 
Laatst bewerkt:
Wat ik er van begrijp is dat je het nu zo hebt
Code:
img1
img2
img3
img4
img5
img6
//etc
maar je wilt het zo hebben
Code:
img1 img2 img3 img4 img 5
img6 //etc

PHP:
include("config.php");
// Aantal op een rij
$nor = 5;

echo' <table border="1">';
$topicQuery = "SELECT * FROM wallpapers";
$topicResult = mysql_query($topicQuery) or die (mysql_error());
while($topicRow = mysql_fetch_array($topicResult))  {
  extract($topicRow);
  $thumbnail = nl2br("$thumbnail");
  for($i=1; $i <= mysql_num_rows($topicResult);$i++){
    if(($i % $nor-1) == 0) {
      echo "<tr>\n";
    }
    echo ' <td><b>'. $name .'</b><br /> By:<i> '. $username .'</i>
     <a href="http://www.dimitrikorsakov.com/files/pics/wallpapers/'. $category .'/'. $subcategory .'/'. $wallpaper .'>
      <img src=http://www.dimitrikorsakov.com/files/pics/wallpapers/'. $category .'/'. $subcategory .'/thumbs/tn_'. $wallpaper .' border="0"></a>'. ."</td>\n";
    if(($i % $nor) == 0) {
      echo "</tr>\n";
    }
  }
}
echo'</table>';
?>
Zoiets...?
 
Laatst bewerkt:
Ik heb het alleen voor elkaar gekregen de numrows aan te geven, verders lukt het echt niet >.<

PHP:
$query   = "SELECT COUNT(name) AS numrows FROM wallpapers";
$result  = mysql_query($query) or die('Error, query failed');
$row     = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];


$nor = 5;
$einde = $numrows;

EDIT: Waarom ziet dit script er zo anders uit als de andere? Wat houd ''\n'' bijvoorbeeld in?
 
EDIT: Waarom ziet dit script er zo anders uit als de andere? Wat houd ''\n'' bijvoorbeeld in?

\n = nieuwe regel in broncode...
Zo kon ik duidelijk zien of ik op de juiste momenten een <td> of een <tr> deed.
 
PHP:
$query   = "SELECT COUNT(name) AS numrows FROM wallpapers";
$result  = mysql_query($query) or die('Error, query failed');
$row     = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];


$nor = 5;
$einde = $numrows;

Vast nog niet van de functie mysql_num_rows(); gehoord... :D

Die had ik verkeerd toegepast in de vorige code, ik heb em nu gewijzigd...
 
Ik vind het in vergelijking met andere scripts maar verwarrend :p

Zitten dingen tussen die ik niet ken dus weet ook niet wat ik er mee aan moet.

Als ik trouwens jou voorbeeld gewoon direct overneem krijg ik dit:

Parse error: syntax error, unexpected T_ECHO in C:\xampp\htdocs\forumsite\wallpapers.php on line 7

Denk dat ie de eerst echo niet zo leuk vind, maar waarom? :confused:
 
Plaats de bron maar even, dan weet ik in hoeverre je hem over hebt genomen. Kan zijn dat je een wijziging hebt gemist...

Line 7 is in bovenstaande script namelijk een stuk MySQL code...
 
Die error is nu ineens weg, heb nu de volgende:

Parse error: syntax error, unexpected '.' in C:\xampp\htdocs\forumsite\wallpapers.php on line 17

En als ik die laatste punt op lijn 17 weghaal krijg ik wel alle namen, en usernames, maar niet de foto's zelf. En alle namen en usernames worden individueel 5 keer weergeven :confused:

PHP:
<?

include("config.php");
$nor = 5;

echo' <table border="1">';
$topicQuery = "SELECT * FROM wallpapers";
$topicResult = mysql_query($topicQuery) or die (mysql_error());
while($topicRow = mysql_fetch_array($topicResult))  {
  extract($topicRow);
  $thumbnail = nl2br("$thumbnail");
  for($i=1; $i <= mysql_num_rows($topicResult);$i++){
    if(($i % $nor-1) == 0) {
      echo "<tr>\n";
    }
    echo ' <td><b>'. $name .'</b><br /> By:<i> '. $username .'</i>
     <a href="http://www.dimitrikorsakov.com/files/pics/wallpapers/'. $category .'/'. $subcategory .'/'. $wallpaper .'><img src=http://www.dimitrikorsakov.com/files/pics/wallpapers/'. $category .'/'. $subcategory .'/thumbs/tn_'. $wallpaper .' border="0"></a>'. ."</td>\n";
    if(($i % $nor) == 0) {
      echo "</tr>\n";
    }
  }
}
echo'</table>';
?>
 
Deze regel zal het denk ik beter doen...
PHP:
echo ' <td><b>'. $name .'</b><br /> By:<i> '. $username .'</i> 
     <a href="http://www.dimitrikorsakov.com/files/pics/wallpapers/'. $category .'/'. $subcategory .'/'. $wallpaper .'><img src=http://www.dimitrikorsakov.com/files/pics/wallpapers/'. $category .'/'. $subcategory .'/thumbs/tn_'. $wallpaper ."border='0'></a></td>\n";
 
Laatst bewerkt:
Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in C:\xampp\htdocs\forumsite\wallpapers.php on line 17

Het wordt steeds vager :eek:
 
Nee hoor, ik ben vergeten van de dubbele quotes bij border= enkele te maken...
/me gaat snel de post aanpassen
 
Heb net je aangepaste geprobeerd maar:

1. Ik krijg weer elke individuele foto 5 keer
2. De foto doet het niet want iets in de code klopt er niet, en dan wel hier:

/thumbs/tn_'. $wallpaper ."border='0'></a></td>\n";

Nu krijg ik dus dit als bestandsnaam:

/thumbs/tn_wom%20(1).jpgborder='0'
 
Dat van die foto's moet je denk ik in de database zoeken... CODE IS AANGEPAST, WAS WEL DOOR MIJ VEROORZAAKT

Wellicht moet de FOR-lus voor de WHILE-lus...

PHP:
<?

include("config.php");
$nor = 5;

echo' <table border="1">';
$topicQuery = "SELECT * FROM wallpapers";
$topicResult = mysql_query($topicQuery) or die (mysql_error());
for($i=1; $i <= mysql_num_rows($topicResult);$i++){
  while($topicRow = mysql_fetch_array($topicResult))  {
    extract($topicRow);
    $thumbnail = nl2br("$thumbnail");
    if(($i % $nor-1) == 0) {
      echo "<tr>\n";
    }
    echo ' <td><b>'. $name .'</b><br /> By:<i> '. $username .'</i>
     <a href="http://www.dimitrikorsakov.com/files/pics/wallpapers/'. $category .'/'. $subcategory .'/'. $wallpaper .'">
    <img src="http://www.dimitrikorsakov.com/files/pics/wallpapers/'. $category .'/'. $subcategory .'/thumbs/tn_'. $wallpaper .'" border="0"></a></td>';
    if(($i % $nor) == 0) {
      echo "</tr>\n";
    }
  }
}
echo'</table>';
?>

Mocht het nu niet werken dan zal ik er later nog eens naar kijken... Ga zo eerst maffen
 
Laatst bewerkt:
En toen waren we weer terug bij af ;p

ze worden nu allemaal goed weergeven, maar dan wel van boven naar beneden :p

Maar als je moe bent moet je het voor nu maar even laten zitten, bedankt voor de moeite tot zo ver :thumb:
 
Laatst bewerkt:
Grr, irritant wanneer je iets niet weet...

Dus ik heb zelf maar een test db aangemaakt en ben aan het prutsen gegaan...

Het resultaat:
PHP:
<?

include("config.php");
// Hoeveel op een rij?
$nor = 5;

$topicQuery = "SELECT * FROM wallpapers";
$topicResult = mysql_query($topicQuery) or die (mysql_error());
$einde = mysql_num_rows($topicResult);
$i = 1;

//Luilakmode
$imgdir = "http://www.dimitrikorsakov.com/files/pics/wallpapers/";
//einde luilakmode
echo' <table border="1">';
while($topicRow = mysql_fetch_array($topicResult) AND $i <= $einde)  {
  extract($topicRow);
  $thumbnail = nl2br("$thumbnail");
  if(($i % $nor-1) == 0) {
    echo "<tr>\n";
   }
  echo ' <td>
          <b>'. $name .'</b><br /> By:<i> '. $username .'</i>
          <a href="' $imgdir . $category .'/'. $subcategory .'/'. $wallpaper .'">
          <img src="' $imgdir . $category .'/'. $subcategory .'/thumbs/tn_'. $wallpaper .'" border="0"></a></td>';
  if(($i % $nor) == 0) {
    echo "</tr>\n";
  }
  $i++;
}
echo'</table>';
?>
 
Zo, jij maakt er wel werk van zeg :eek:

Script deed het niet meteen want ik kreeg error's, moest de dubbele quotes weghalen en het volgende aanpassen:

' $imgdir . $category .'/
Werd op beide regels:
'. $imgdir .'/'. $category .'/

Nu werkt het script opzich goed, maar er zitten van die vervelende (en vooral lelijke) grijze lijntjes tussendoor. Is er een manier die weg te halen? :thumb:
 
Dit is eigenlijk meer een HTML vraag
;)

Verander onderstaand maar even
PHP:
echo' <table border="1">';
in
PHP:
echo' <table style="border: 1px solid #000000">';
Dan heb je wat nettere randjes, en anders moet je alleen <table> laten staan...

Resultaat was dus wat je bedoelde? Mijn eerste voorbeeld was gewoon een standaard tabel met de inhoud van de FOR-lus... Tja dat jij daar dan een kalender in ziet kan ik ook niets aan doen :D
 
hahaha het werkt allemaal perfect nu, thx :thumb:
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan