Op de index pagina staan 6 linken in een tabel met daaronder een link om door te klikken naar de vervolgpagina met alle linken in die categorie.

Het is de bedoeling dat op deze vervolgpagina twee kollommen naast elkaar komen te staan met daar alle linken in.

Ik werk met div's.
Maar dit lukt me niet.
Dit is de code die ik nu heb:


<?php
	if(isset($_GET['meer'])){
	
	$kolommen = 2;
	$counter = 0;
	
	$query3 = 'SELECT shop_id,shop_naam,knop FROM webshop WHERE shop_id = '.$_GET['meer'].'';
	$result3 = mysql_query($query3) or die ("Sorry maar ik kan de webshop weergeven");
	while($row3 = mysql_fetch_object($result3)){
?>
<!-- De rechthoek met de webshop naam, plaatje en linken -->
<div class="webshop">
<?php
		//laat de shopnaam zien
		echo '<h1>'.$row3->shop_naam.'</h1>' ;
?>
<img class="shopplaatje" src="<?php echo $row3->knop ;?>" width="80" height="80" alt="<?php $row3->shop_naam ; ?>">
<?php
	$query = 'SELECT id,url,naam FROM webshoplink WHERE shop_id = '.$row3->shop_id.' ORDER BY naam';
	$result = mysql_query($query) or die ("Sorry maar ik kan de webshop naam niet weergeven");
	echo '<ul>';
	while($row = mysql_fetch_object($result)){
	
		//laat de shoplinken zien
		echo '<li><a href="webshop.php?shop_id='.$row->id.'" target="_blank">'.$row->naam.'</a></li>'.PHP_EOL; ;
		}
	echo '</ul>'.PHP_EOL;;
?>
<div class="linkterug"><a href="javascript:history.go(-1);">&lt;- Terug naar het overzicht</a> </div>
</div>
<!-- einde div webshop -->
<?php
//einde while lus
$counter++;
    if($counter==$kolommen){
	echo '</div>'.PHP_EOL.'<div class="webshopcontainer">';
        $counter = 0;
    }
	}
//einde if(isset($_GET['meer']))
}
?>
Wat gaat er precies mis dan ? Iets in de code of in de layout ?
Hij zet niet netjes 2 kollommen naast elkaar.

Je ziet maar 1 kollom met daar alle linken in.

Ik zou het zo graag willen hebben:

kollom 1 kollom 2
--------------- -----------------
1.link 2.link
3.link 4.link
5.link 6.link
--------------- -----------------

EDIT: Het lukt niet om het hier goed te laten zien,
link 2,4 en 6 staan in de tweede kollom.
Wat je dus wilt is de eerste helft links en de andere helft rechts.
Ik denk dat je het het beste in een array kan zetten. Die dan door de helft delen. Zo dus:

<?php
$count=0;
while($row = mysql_fetch_object($result))
{
$links[$count]='<a href=webshop.php?id='.$row->id.'>'.$row->naam.'</a>';
}
$aantal=count($links);
$midden=$aantal/2;
$midden=round($midden,0);
echo "<table>";
for($i=0;$i<=$midden;$i++)
{
$b=$i+$midden;
echo"<tr><td>".$links[$i]."</td><td>".@$links[$b]."</td></tr>";
}
echo "</table>";
?>
Het kan ook wel met div's als je dat wilt... zoiets:
<?php
$sql = "HAAL ALLES OP";
$res = mysql_query($sql);

$arrLeft = array();
$arrRight = array();

while($row = mysql_fetch_functie($res)) {
if (1 & $varOmTeControleren) { // Oneven
$arrLeft[] = $var;
}
else { // Even
$arrRight[] = $var;
}
}

echo "<div id=\"left\">\n";
foreach($arrLeft as $left) {
echo $left;
}
echo "</div>\n";

echo "<div id=\"right\">\n";
foreach($arrRight as $right) {
echo $right;
}
echo "</div>\n";
?>

Elwin
Wat je doet elwin klopt wel, het is enkel heel omslachtig. Ik zou voor de gemakkelijke manier gaan en je zou zelfs met aanpassing van stijn zijn code met divs kunnen werken.
Zo omslachtig is dit toch niet? Je kan het ook anders doen, bijvoorbeeld twee vars die de kolommen bijhouden en die dan direct in de div echoën ofzo.

Elwin
Het spijt me jongens, ik krijg het niet goed werkend in mijn script.

Ik heb ook nogal een ingewikkeld stukje geloof ik.

Het is een div met daarin een plaatje en de linken.
Die hele div moet zich dus herhalen naast de linker div zodat je er twee naast elkaar krijgt met alle linken erin.

Hier onder een plaatje.
Alle linken staan nu in 1 kollom(div)
Maar er moeten 2 kollommen (div's) naast elkaar komen met de linken netjes verdeelt.

Als ik je goed begrijp wil je dus in die ene div uiteindelijk het plaatje en twee kolommen met links naast elkaar hebben?

Wat je dan moet doen is binnen die ene div werken met nog 3 andere divjes waar je respectievelijk het plaatje, de eerste serie links en de tweede serie links in zet.

Maar goed, zou je misschien eens een stukje van je css kunnen laten zien die je nu voor die div gebruikt?
Zoiets dan:

<table>
 <tr>
  <td colspan="1" class=het_plaatje>
  </td>
  <td colspan=2>
  <?php //mijn script ?>
  </td> 
 </tr>
</table>
 

Beetje css en het klopt. Je kunt hieronder gewoon weer div's of andere dingen maken..

Die linker div met plaatje en linken kopieren en er bij plakken en float:left toevoegen. Misschien nog een width aan toevoegen - wanneer de links te lang zijn.

Reageren