Ik heb het volgende script:

------toestellen.php-------
<?php
$hostname = "db";
$user = "";
$password = "";
$database = "";

mysql_connect($hostname, $user, $password) or trigger_error(mysql_error(), E_USER_ERROR);
mysql_select_db($database) or trigger_error(mysql_error(), E_USER_ERROR);

$sql = "SELECT * FROM toestellen WHERE merk LIKE 'Nokia' ORDER BY merktype ASC";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");

$paginanaam = htmlspecialchars($rij->paginanaam);
$merktype = htmlspecialchars($rij->merktype);
$merk = htmlspecialchars($rij->merk);

while ($rij = mysql_fetch_object($resultaat))
{
// Laat de gegevens zien

?>
<a href="pagina.php?f=<?PHP echo $rij->paginanaam ?> "><?PHP echo $rij->merktype ?></a><BR>

<?PHP

}
?>
------end--------

Hiermee haal ik alle toestellen uit mijn database en geef deze meteen de juiste hyperlink mee waar mensen meer informatie hierover kunnen vinden.

Maar nu wil ik ipv een titel een picture. De locatie van die picture staat in mijn database, en kan dus met $pic worden aangestuurd. Ik wil dat in een tabel die vier breed is, en lang naargelang het aantal toestellen.

Hoe kan ik zo'n tabel met 4 naast elkaar het beste maken? Ik hoop dat iemand mij opweg kan helpen, of scripts heeft met goede uitleg.

Bedankt!
zoiets(niet getest) en weet niet of de for lus klopt
<table>
<?php
for($i=0;$i<=mysql_fetch_accoc($query);)
{
echo '<tr>';
echo '<td>$i[id]</td>';
echo '<td>$i[id]</td>';
echo '<td>$i[id]</td>';
echo '<td>$i[id]</td>';
$i++
</tr>
}
?>
</table>
$i++
</tr>
moet

echo '</tr>';
$i++

zijn.
dus met een echo en $i++ NA die echo!!!



kan niet editten ben niet ingelogt
Bedankt greedyxl,

Ik heb script (geprobeert) aan te passen, maar het doet het helemaal niet meer.

Ik heb nu het volgende script gemaakt:

--------picstoestellen.php-----------
<?php
// Gegevens connect
$hostname = "h";
$user = "7";
$password = "jbn";
$database = "jb";

// Connecten
mysql_connect($hostname, $user, $password) or trigger_error(mysql_error(), E_USER_ERROR);
mysql_select_db($database) or trigger_error(mysql_error(), E_USER_ERROR);

// Select
$sql = "SELECT * FROM toestellen WHERE merk LIKE 'Nokia' ORDER BY merktype ASC";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");

// Beetje onnodig maar voor veiligheid
$paginanaam = htmlspecialchars($rij->paginanaam);
$merktype = htmlspecialchars($rij->merktype);
$merk = htmlspecialchars($rij->merk);
$pic = htmlspecialchars($rij->pic);


// Laat tabel zien van 4 bij aantal rijen, eerst plaatje dan link naar gehele artikel.
for($i=0;$rij<=mysql_fetch_accoc($resultaat);)
{
echo '<tr>';
echo '<td><img border="1" src="<?PHP echo $rij->pic ?>" width="130" height="130"><BR>
<a href="pagina.php?f=<?PHP echo $rij->paginanaam ?> "><?PHP echo $rij->merktype ?></a><BR></td>';

echo '<td><img border="1" src="<?PHP echo $rij->pic ?>" width="130" height="130"><BR>
<a href="pagina.php?f=<?PHP echo $rij->paginanaam ?> "><?PHP echo $rij->merktype ?></a><BR></td>';

echo '<td><img border="1" src="<?PHP echo $rij->pic ?>" width="130" height="130"><BR>
<a href="pagina.php?f=<?PHP echo $rij->paginanaam ?> "><?PHP echo $rij->merktype ?></a><BR></td>';

echo '<td><img border="1" src="<?PHP echo $rij->pic ?>" width="130" height="130"><BR>
<a href="pagina.php?f=<?PHP echo $rij->paginanaam ?> "><?PHP echo $rij->merktype ?></a><BR></td>';

echo '</tr>';
$i++;
}
?>

Waarschijnlijk staat het bol van fouten, maar zou iemand het dan zo kunnen repareren dat het goed werkt?
Fout is: Fatal error: Call to undefined function: mysql_fetch_accoc() in /home/jbgsm.nl/www/php_proberen/picstoestellen.php on line 19.

R. 19 = for($i=0;$rij<=mysql_fetch_accoc($resultaat);)

Ik hoop dat iemand mij kan helpen.
Vindt je het een beetje gek:

echo '<td><img border="1" src="<?PHP echo $rij->pic ?>" width="130" height="130"><BR>

Je opent <?php in een echo...
Dat doe je wel vaker, maar dat moet niet
Was idd niet slim, maar hij doet het nog niet :-( ;-(

Het script nu:

<?php
$hostname = "db.pcextreme.nl";
$user = "23sa";
$password = "";
$database = "";

mysql_connect($hostname, $user, $password) or trigger_error(mysql_error(), E_USER_ERROR);
mysql_select_db($database) or trigger_error(mysql_error(), E_USER_ERROR);

$sql = "SELECT * FROM toestellen WHERE merk LIKE 'Nokia' ORDER BY merktype ASC";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");

$paginanaam = htmlspecialchars($rij->paginanaam);
$merktype = htmlspecialchars($rij->merktype);
$merk = htmlspecialchars($rij->merk);
$pic = htmlspecialchars($rij->pic);


for($i=0;$rij<=mysql_fetch_accoc($resultaat);)
{
echo '<tr>';
echo '<td><img border="1" src="$rij->pic" width="130" height="130"><BR>
<a href="pagina.php?f=$rij->paginanaam">$rij->merktype"</a><BR></td>';

echo '<td><img border="1" src="$rij->pic" width="130" height="130"><BR>
<a href="pagina.php?f=$rij->paginanaam">$rij->merktype"</a><BR></td>';

echo '<td><img border="1" src="$rij->pic" width="130" height="130"><BR>
<a href="pagina.php?f=$rij->paginanaam">$rij->merktype"</a><BR></td>';

echo '<td><img border="1" src="$rij->pic" width="130" height="130"><BR>
<a href="pagina.php?f=$rij->paginanaam">$rij->merktype"</a><BR></td>';

echo '</tr>';
$i++;
}
?>

De eerdere genoemde fout (R. 19 = for($i=0;$rij<=mysql_fetch_accoc($resultaat);)
) is er nog steeds.

Wie kan mij helpen
Het is ook:

musql_fetch_assoc($resultaat);

Met dubbel s
Ja dat klopt domme fout. en de ; moet weg na ...($query)

en probeer eens na elke echo "<td>$var</td>"; $i++ te zetten
mysql_fetch_assoc(); werkt niet met $rij->paginanaam, maar met $rij[paginanaam]. Dan moet je dit gebruiken

[edit1] jij moet mysql_fetch_object(); volgens mij gebruiken.[/edit1]
Dat niet naast elkaar komt doordat je om de for lus nog echo '<table>'; en na de for lus echo '</table>'; dat ben je vergeten(Dat moet toch altijd ;p)

Reageren