<ole>
- men da den metode er overmåde resourcespild, kan den næppe anbefales. Langt mere effektivt er det at fylde en streng- eller arraybuffer og udskrive ét sted:
<?php
$query = "SELECT * FROM site_content";
$result = mysql_query($query);
$html = "<table border='1' width='500' style='position:absolute; top:200px;'";
while($posts = mysql_fetch_array($result)) {
$html .= "<tr>";
$html .= "<td>test</td>";
$html .= "<td><a href=\"edit.php?id=$posts[ID]\"><img class='default-link'src='icons/edit_icon.png' alt='Edit Post'></a></td>";
$html .= "</tr>";
}
$html .= "</table>";
print $html;
?>
Desuden skal du huske, at man
kun bruger '*' i et SQL kald, når man
skal bruge alle felter i databasens tabel. Da rigtig mange har lært at kode PHP udfra tutorials og
www.php.net bruger ligeså mange desværre konsekvent '*' ... men det er en fejl.
I stedet bør du nøjes med at udtrække de feltnavne, du faktisk skal bruge:
$query = "SELECT `id`, `fornavn`, `efternavn` FROM `site_content`";
$result = mysql_query($query) or die (mysql_error());
Det er ligeledes en god idé at backtick'e alle navne i query strengen, som gjort ovenfor. Har du f.eks. et feltnavn, der hedder 'by', vil din query fejle ... ordet 'by' er et reserveret ord i mysql. Det undgår du ved at backtick'e alle navne ;o)
Husk også at skrive evt. mysql fejl ud med
or die (mysql_error()). Det vil hjælpe dig voldsomt, hvis du har en fejl i din query
/mvh
</bole>