Data in html tabellen zetten

Hoe zet ik data uit een mysql database in html tabels? Ik bedoel 4 cellen breed met cellen bedoel ik <td> </td> en dan komt de rest in rijen en onder <tr> </tr> dus. Ik had iets geprobeerd maar dat werkte niet omdat die dan 4 cellen breed de zelfde data echode en moet 4 verschillende zijn ik hoop het een beetje begrijpbaar heb uitgelegd. Via google kwam ik er niet uit.

Hier dan het foute scrip:

[code:1:d6e9b52b46]
<?php
require_once(‘database.php’);
function content_producten() {
DB_Connect();
$producten_sql = “SELECT *
FROM Content_Items
WHERE Items_Category_ID = ‘3’
ORDER BY Items_ID”;
$producten_rs = mysql_query($producten_sql);
while($producten_data = mysql_fetch_array($producten_rs))
{
$producten_image_url = $producten_data[‘items_Image_URL’];
$producten_title = $producten_data[‘Items_Titel’];
$producten_price = $producten_data[‘Items_Price’];
$producten_date = $producten_data[‘Items_Date’];
$producten_auteur = $producten_data[‘Items_Auteur’];
$producten_intro = $producten_data[‘Items_Intro’];

			echo
			'&lt;table width=&quot;800&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;' .
			'&lt;tr&gt;' . 
			'&lt;td&gt;' . $producten_title . '&lt;/td&gt;' .
			'&lt;td&gt;' . $producten_title . '&lt;/td&gt;' .
			'&lt;td&gt;' . $producten_title . '&lt;/td&gt;' .
			'&lt;td&gt;' . $producten_title . '&lt;/td&gt;' .
			'&lt;/tr&gt;' .
			'&lt;/table&gt;';
		&#125;

}

content_producten();
?>
[/code:1:d6e9b52b46]

nog al logisch dat hij 4x hetzelfde weergeeft... omdat je 4x hetzelfde neerzet. Je moet het in een while lus zetten,

even in het kort:

while {
echo “<tr><td>” . $info 1 . " </td> <td> " .$info2… etc “</tr>” ;
}

en dan daarboven een query (moet je even zoeken op phphulp.nl / sitemasters.be)

Of heb je bijvoorbeeld allemaal data en die wil je gewoon in een tabel stoppen? Zonder dat er echt een rij is die bij elkaar hoort? Of zo iets… :expressionless:

producten_title is een array. Je kan dus niet zomaar producten_title oproepen, je moet ook de index meegeven. Je moet dus even een while loop maken met iets van

[code:1:b9061be5b2]
$teller = 0;
while($teller <= count($producten_title)){
echo ‘<td>’.$producten_title[$teller].’</td>’;
$teller++;}[/code:1:b9061be5b2]

dit is het idee, ik heb de syntax misschien niet helemaal juist, en er zitten misschien ook wel wat meer foutjes in je code.

Succes er mee!

het moet er gewoon uit de database zo in de tabellen op "item_id"

ok, als het goed is zijn je arrays al geordend op item_id omdat je ze op die volgorde uit de database leest. Als je daarna die loop zoals ik die beschreef toepast op de plaats waar je de data in je html wilt hebben staan dan moet het lukken.

Dus wat je moet doen is die echo die je nu hebt even aanpassen. Eerst gooi je al die <td>tjes er uit. Dan maak je van het stuk tot en met <tr> een aparte echo en van het stuk dat je overhoudt een andere echo. Tussen die 2 echos zet je het loopje.

Sorry ik snap het niet ik heb nu dit er van gemaakt: [code:1:233d5f2f1f] <?php require_once('database.php'); function content_producten() { DB_Connect(); $producten_sql = "SELECT * FROM Content_Items WHERE Items_Category_ID = '3' ORDER BY Items_ID"; $producten_rs = mysql_query($producten_sql); while($producten_data = mysql_fetch_array($producten_rs)) { $producten_image_url = $producten_data['items_Image_URL']; $producten_title = $producten_data['Items_Titel']; $producten_price = $producten_data['Items_Price']; $producten_date = $producten_data['Items_Date']; $producten_auteur = $producten_data['Items_Auteur']; $producten_intro = $producten_data['Items_Intro'];

			echo '&lt;table width=&quot;800&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot;&gt;' . '&lt;tr&gt;'; 
			$teller = 0; 
			while&#40;$teller &lt;= count&#40;$producten_title&#41;&#41;
			&#123; 
				echo '&lt;td&gt;' . $producten_title&#91;$teller&#93; . '&lt;/td&gt;'; 
				$teller++;
			&#125;
			echo '&lt;/tr&gt;' . '&lt;/tabel&gt;';
		&#125;

}

content_producten();
?>

[/code:1:233d5f2f1f]

ik krijg nu iets raars in beeld [url]http://jewelilly.xi-action.nl/class/content_test.php[/url]

EDIT: zie hieronder...

nu krijg ik : [url]http://jewelilly.xi-action.nl/class/content_test.php[/url]

probeer dit eens:

[code:1:8002007570]
<?php
require_once(‘database.php’);
function content_producten() {
DB_Connect();
$producten_sql = “SELECT *
FROM Content_Items
WHERE Items_Category_ID = ‘3’
ORDER BY Items_ID”;
$producten_rs = mysql_query($producten_sql);
while($producten_data = mysql_fetch_array($producten_rs))
{
$producten_image_url[] = $producten_data[‘items_Image_URL’];
$producten_title[] = $producten_data[‘Items_Titel’];
$producten_price[] = $producten_data[‘Items_Price’];
$producten_date[] = $producten_data[‘Items_Date’];
$producten_auteur[] = $producten_data[‘Items_Auteur’];
$producten_intro[] = $producten_data[‘Items_Intro’];
}
echo ‘<table width=“800” cellpadding=“0” cellspacing=“0”>’ . ‘<tr>’;

    foreach &#40;$producten_title as $value&#41; 
    &#123; 
       echo '&lt;td&gt;' . $value . '&lt;/td&gt;'; 
    &#125; 
      echo '&lt;/tr&gt;' . '&lt;/tabel&gt;'; 

}

content_producten();
?>
[/code:1:8002007570]

edit:
onderstaand foreach()-loopje is beter trouwens.
wil je ook de prijs er achter hebben bijvoorbeeld, dan doe je dat zo:

[code:1:8002007570]
foreach ($producten_title as $key => $value)
{
echo ‘<td>’ . $producten_title[$key] . ‘</td>’ . ‘<td>’ . $producten_price[$key] . ‘</td>’;
}
[/code:1:8002007570]

Ja das al beter. Maar dat laad alles naast elkaar maar dat moeten er maar 4 zijn en dan weer op de volgende rij weer 4 enz.

Ieder geval hartlijk dank voor jullie hulp al vast

Uiteraard. Ik doe ook dom... De <tr> </tr> stonden verkeerd....

[code:1:f19c0d2b3a]
<?php
require_once(‘database.php’);
function content_producten() {
DB_Connect();
$producten_sql = “SELECT *
FROM Content_Items
WHERE Items_Category_ID = ‘3’
ORDER BY Items_ID”;
$producten_rs = mysql_query($producten_sql);
while($producten_data = mysql_fetch_array($producten_rs))
{
$producten_image_url[] = $producten_data[‘items_Image_URL’];
$producten_title[] = $producten_data[‘Items_Titel’];
$producten_price[] = $producten_data[‘Items_Price’];
$producten_date[] = $producten_data[‘Items_Date’];
$producten_auteur[] = $producten_data[‘Items_Auteur’];
$producten_intro[] = $producten_data[‘Items_Intro’];
}
echo ‘<table width=“800” cellpadding=“0” cellspacing=“0”>’ ;

    foreach &#40;$producten_title as $key =&gt; $value&#41; 

{
echo ‘<tr><td>’ . $producten_title[$key] . ‘</td>’ . ‘<td>’ . $producten_price[$key] . ‘</td></tr>’;
}
echo ‘</tabel>’;
}

content_producten();
?>
[/code:1:f19c0d2b3a]

nee nu snap je me denk ik verkeerd ik wil zo iets als

|…bla1… |… bla2… |…bla3…|…bla4…|

|…bla5… |… bla6… |…bla7…|…bla8…|

|…bla9… |… bla10… |…bla11…|…bla12…|

en nog meer rijen en 4 cellen breed

Dan moet je inderdaad een teller bij gaan houden. Als die 4 is (of 3, als je bij 0 begint) een </td> echo'en.

Leuk, maar ik moet nu zelf helaas weg.
Ik hou je site in de gaten.
Als ik vannacht dronken thuiskom heb je 'm af. Deal? :smiley:

ik hoop dat je het tekeningetje snapt het is moeilijk in een text editor te tekenen en bla staat voor $producten_title

ik denk dat ik er nu uit ben mijn broer heeft nog even geholpen die is java IT'er. moet het aleen nog even omzetten voor mijn database

[code:1:76b4a951d9]
echo ‘<table width=“800” cellpadding=“0” cellspacing=“0”>’;
echo ‘<tr><td>product</td><td>prijs</td>><td>product</td><td>prijs</td>><td>product</td><td>prijs</td>><td>product</td><td>prijs</td></tr>’;
$resultset = mysql_query($sql_statement);
$kolomteller = 0;
while($regel = mysql_fetch_array($resultset))
{
// begin elke 1e kolom op een nieuwe regel
if($kolomteller == 0)
{
echo ‘<tr>’;
}
// print een kolom
$productnaam = $regel[‘Product_naam’];
$productprijs = $regel[‘Product_prijs’];
echo ‘<td>’ . $productnaam . ‘</td><td>’ . $productprijs . ‘</td>’;
//sluit na elke 4e kolom de regel af
if($kolomteller == 3)
{
echo ‘</tr>’;
}
//verander de kolomteller voor de volgende kolom
$kolomteller++;
//begin na kom 4 weer bij kolom 1
if($kolomteller == 4)
{
$kolomteller = 0;
}
}

//vul kolommen op als dat nodig is
if($kolomteller == 0)
{
$kolomteller = 4;
}
while($kolomteller < 4)
{
echo ‘<td></td><td></td>’;
$kolomteller++;
}
//sluit de tabel af
echo ‘</table>’;
[/code:1:76b4a951d9]