Hoi allemaal, even een vraagje. Ik ben bezig met een fotohoek. Nu wil ik de verschillende foto's van de users naast elkaar in een tabel krijgen. Maar op de één of andere manier blijven de gegevens maar onder elkaar verschijnen. Heeft iemand een tipje van de sluier voor mij?
En wat heb je dan aan html / php code om tot dat resultaat te komen?
Dit is een tabel rij:


<table>
  <tr>
    <td><img src="..." /></td>
    <td><img src="..." /></td>
    <td><img src="..." /></td>
    ...
  </tr>
</table>
Sorry, ik was niet helemaal duidelijk. Ik haal de gegevens uit mysql. En het lukt mij maar niet dat ik de gegevens naast elkaar krijg... ik ben nog niet heel goed in PHP, dus misschien denk ik veel te simpel :)
Even in simpele vorm heb ik het zo gedaan:

<table width="700" border="1" cellspacing="0" cellpadding="0">
<tr>

<?php echo "<td>".$rij[naam]."</td>" ?>

</tr>
</table>

http://www.cavalierpage.com/fotohoek/index2.php

Ik heb al een LIMIT ingesteld, zodat die maar maximaal 5 entries gebruikt en dat past in één tabelregel.

Kan iemand mij aangeven wat ik verkeerd doe en in welke richting ik moet denken? Dan kan ik weer verder met puzzelen... :) Alvast bedankt!
Dank je wel! Ik had mijn while($rij = mysql_fetch_array($query)) { nog voor mijn tabel staan, dus dat verklaarde het probleem... langzaam leer ik wel :)
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

$teller = 0;
$naast_elkaar = 3;

echo '<table>' . PHP_EOL;
while(....................)
{
echo ($teller % $naast_elkaar) == 0 ? '<tr>' . PHP_EOL : '';
echo '<td> en hier de info of het plaatje </td>' . PHP_EOL;
$teller++;
echo ($teller % $naast_elkaar) == 0 ? '</tr>' . PHP_EOL : '';
}
echo ($teller % $naast_elkaar) != 0 ? '</tr>' . PHP_EOL : '';
echo '</table>' . PHP_EOL;

?>
Ik kom nu toch weer op een volgend probleempje... het lukt mij nu dus wel om de namen naast elkaar in een tabel te krijgen, maar nu wil onder de naam de foto en daaronder de datum:
___________________________

| Naam 1 | Naam 2 | Naam 3 |
___________________________

| Foto 1 | Foto 2 | Foto 3 |
___________________________

| Datum 1 | Datum 2 | Datum 3 |
___________________________

Ik heb van alles geprobeerd, maar ik krijg er allemaal rare variaties uit. Met alleen de namen zag mijn code er zo uit:

<table border="0" cellspacing="5" cellpadding="0"><tr>

<?php
while($rij = mysql_fetch_array($query)) {
echo '<td class="stippelblauwonder" align="center">'.$rij[naam].'</td>';
}
?>
</tr></table>

N.B. Ik heb al een LIMIT ingesteld, zodat die maar maximaal 5 entries gebruikt en dat past in één tabelregel. Er hoeven dus geen ingewikkelde codes in met kolommen tellen etc.

Kan iemand mij weer een stukje op weg helpen? Dan kan ik weer verder met puzzelen... :) Alvast bedankt!
Die code van mij is niet ingewikkeld. Die kan je zo knippen en plakken. Op regel 6 geef je aan hoeveel je er naast elkaar wilt hebben. Op regel 9 zet je jouw while() neer en op regel 12 zet je alle gegevens die je wilt zien.
Hoihoi, ik probeer de code te gebruiken en met één regel gaat het prima. Maar ik weet niet zo goed hoe ik de code erin moet zetten als ik wil dat je eerst een regel hebt met naam, dan foto en daaronder de datum (en dat 5 keer naast elkaar). Onder andere probeer ik dit:

<?php
$teller = 0;
$naast_elkaar = 5;

echo '<table>' . PHP_EOL;
while($rij = mysql_fetch_array($query))
{
echo ($teller % $naast_elkaar) == 0 ? '<tr>' . PHP_EOL : '';
echo '<td>'.$rij[naam].'</td>' . PHP_EOL;
echo '<tr>' . PHP_EOL;
echo '<td>'.$rij[datum].'</td>' . PHP_EOL;
$teller++;
echo ($teller % $naast_elkaar) == 0 ? '</tr>' . PHP_EOL : '';

}
echo ($teller % $naast_elkaar) != 0 ? '</tr>' . PHP_EOL : '';
echo '</table>' . PHP_EOL;

?>

Maar dan ziet het er zo uit:

Zino
2008-09-05 asta
2008-09-04 asta
2008-09-04 Fido
2008-09-02 Zoë
2008-08-30

Als jullie me daar nog mee zouden kunnen helpen...?

P.S. Wat doet PHP_EOL...?
Ik ben nu tot de volgende oplossing gekomen (zonder opmaak):

<?php
$sql = "SELECT * "
. "FROM fotohoek "
. "WHERE laatzien = 'ja' "
. "ORDER BY id DESC "
. "$limit ";
?>

<?php
$query = mysql_query("$sql")
or exit ("Ongeldige query " . mysql_error());
?>

<table><tr>

<?php
while($rij = mysql_fetch_array($query))
{
echo '<td>'.$rij[naam].'</td>';
} ?>

</tr><tr>

<?php

$query = mysql_query("$sql")
or exit ("Ongeldige query " . mysql_error());

while($rij = mysql_fetch_array($query))
{
echo '<td>'.$rij[datum].'</td>';
} ?>

</tr></table>

Het lijkt mij wat omslachtig, dus als er een kortere manier voor is, hou ik mij aanbevolen! Maar nu werkt het in ieder geval :)

Bedankt voor het meedenken!

Reageren