laatste 8 en via tr (Opgelost)
larssy1 - 09/05/2009 14:08
MySQL beginner
Hoi mensen,
Ik heb een ideetje, maar ik heb zelf de kennis nog niet hoe ik dit moet doen..
De bedoeling is om de laatste 8 templates uit de database te halen..
Maar ik wil 2 rijen, en op elke rij 4templates.
dus op de volgende manier:
<table>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
< table>
< tr>
< td></ td>
< td></ td>
< td></ td>
< td></ td>
</ tr>
< tr>
< td></ td>
< td></ td>
< td></ td>
< td></ td>
</ tr>
</ table>
kan iemand mij hiervan de code geven hoe dat moet?
Mvg
Larssy1
12 antwoorden
Gesponsorde links
Martijn - 09/05/2009 14:27 (laatste wijziging 09/05/2009 14:33)
Crew PHP
edit: mysql_fetch_query bestaat niet zo
$i=4; // per rij
$j=1;
$totaal = mysql_num_rows($query);
echo '<table><tr>';
while($fetch = mysql_fetch_assoc($query)){
if($j==$i && $totaal !=0){echo '</tr><tr>';}
echo '<td>'.$fetch['template'].'</td>';
$j++;
$totaal--;
}
echo '</tr></table>';
$i = 4 ; // per rij
$j = 1 ;
if ( $j == $i && $totaal != 0 ) { echo '</tr><tr>' ; } echo '<td>' . $fetch [ 'template' ] . '</td>' ; $j ++;
$totaal --;
}
zoiets denk
larssy1 - 09/05/2009 14:28
MySQL beginner
zal even testen. ;) zal zo dit bericht aanpassen om te laten weten of het gelukt is of niet. of welke error er verscheen..
Joost - 09/05/2009 14:31 (laatste wijziging 09/05/2009 14:31)
PHP expert
$iMax = 4;
$iCount = 0;
echo "<table>";
while($aRes = mysql_fetch_assoc($sql)){
if($iCount == 0){
echo "<tr>";
}
echo "<td>".$aRes['template']."</td>";
if($iCount == 3){
echo "</tr>";
$iCount = -1;
}
$iCount++;
}
if($iCount != 0){
echo "</tr>";
}
echo "</table>";
$iMax = 4 ;
$iCount = 0 ;
if ( $iCount == 0 ) {
}
echo "<td>" . $aRes [ 'template' ] . "</td>" ; if ( $iCount == 3 ) {
$iCount = - 1 ;
}
$iCount ++;
}
if ( $iCount != 0 ) {
}
Zo doe ik het
---
oeps, beetje te laat
Koen - 09/05/2009 14:31
PHP expert
DeviourSoul schreef:
[..code..]
zoiets denk
mysql_fetch_query
Martijn - 09/05/2009 14:33
Crew PHP
oh lol, aangepast
larssy1 - 09/05/2009 14:42 (laatste wijziging 09/05/2009 14:42)
MySQL beginner
Hmm bij beiden geen foutmelding..
Maar hij geeft geen data weer.. hoe doe ik dat?
hier is mijn tabel query:
CREATE TABLE IF NOT EXISTS `templates` (
`id` int(2) NOT NULL auto_increment,
`name` text NOT NULL,
`price` int(5) NOT NULL,
`code` varchar(8) NOT NULL,
`views` int(10) NOT NULL default '0',
`cat` int(11) NOT NULL,
`catname` varchar(20) NOT NULL,
`free` varchar(1) NOT NULL default '0',
`prem` varchar(1) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
CREATE TABLE IF NOT EXISTS `templates` (
`id` int( 2 ) NOT NULL AUTO_INCREMENT ,
`name` text NOT NULL ,
`price` int( 5 ) NOT NULL ,
`code` varchar( 8 ) NOT NULL ,
`views` int( 10 ) NOT NULL DEFAULT '0' ,
`cat` int( 11 ) NOT NULL ,
`catname` varchar( 20 ) NOT NULL ,
`free` varchar( 1 ) NOT NULL DEFAULT '0' ,
`prem` varchar( 1 ) NOT NULL DEFAULT '0' ,
PRIMARY KEY ( `id` )
) ENGINE= MyISAM DEFAULT CHARSET= latin1 AUTO_INCREMENT = 2 ;
deze code heb ik gebruikt:
<?php
include("includes/config.php");
$sql = mysql_query("SELECT * FROM templates LIMIT 0 , 8") or die (mysql_error());
$iMax = 4;
$iCount = 0;
echo "<table>";
while($aRes = mysql_fetch_assoc($sql)){
if($iCount == 0){
echo "<tr>";
}
echo "<td>".$aRes['template']."</td>";
if($iCount == 3){
echo "</tr>";
$iCount = -1;
}
$iCount++;
}
if($iCount != 0){
echo "</tr>";
}
echo "</table>";
?>
<?php
include ( "includes/config.php" ) ;
$iMax = 4 ;
$iCount = 0 ;
if ( $iCount == 0 ) {
}
echo "<td>" . $aRes [ 'template' ] . "</td>" ; if ( $iCount == 3 ) {
$iCount = - 1 ;
}
$iCount ++;
}
if ( $iCount != 0 ) {
}
?>
Joost - 09/05/2009 14:47
PHP expert
Nou, wat denk je? Je geeft $aRes['template'] weer, terwijl dat helemaal geen kolom is..?
larssy1 - 09/05/2009 15:30 (laatste wijziging 09/05/2009 15:59)
MySQL beginner
owja, oeps, XD
na nog een paar aanpassingen in de query, doet ie het goed nu xD nu moet ik hem verder uitbouwen
Thx
--------------------
Oke, ik heb een heel stom probleem..
ik gebruik nu deze php code om de laatste 8 tabellen weer te geven (4 per rij, er zijn 2 rijen):
<?php
include("./includes/config.php");
$sql = mysql_query("SELECT * FROM templates ORDER BY id DESC LIMIT 0 , 8") or die (mysql_error());
$iMax = 4;
$iCount = 0;
echo "<table width=\"100%\" height=100% border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
while($aRes = mysql_fetch_assoc($sql)){
if($iCount == 0){
echo "<tr><td>";
}
echo "".$aRes['name']."";
if($iCount == 3){
echo "</td></tr>";
$iCount = -1;
}
$iCount++;
}
if($iCount != 0){
echo "</td></tr>";
}
echo "</table>";
?>
<?php
include ( "./includes/config.php" ) ;
$iMax = 4 ;
$iCount = 0 ;
echo "<table width=\" 100%\" height=100% b order=\" 0\" cellspacing=\" 0\" cellpadding=\" 0\" >" ; if ( $iCount == 0 ) {
}
echo "" . $aRes [ 'name' ] . "" ; if ( $iCount == 3 ) {
$iCount = - 1 ;
}
$iCount ++;
}
if ( $iCount != 0 ) {
}
?>
Maar als ik hem wil maken met wat opmaak,, dan heb ik daarvoor de onderstaande code voor nodig, maar dan zet hij alles onder elkaar neer.. hoe los ik dat op.
<?php
include("./includes/config.php");
$sql = mysql_query("SELECT * FROM templates ORDER BY id DESC LIMIT 0 , 8") or die (mysql_error());
$iMax = 4;
$iCount = 0;
echo "<table width=\"100%\" height=100% border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
while($aRes = mysql_fetch_assoc($sql)){
if($iCount == 0){
echo "<tr><td>";
}
echo "<table><td><tr>".$aRes['name']."</tr></td></table>";
if($iCount == 3){
echo "</td></tr>";
$iCount = -1;
}
$iCount++;
}
if($iCount != 0){
echo "</td></tr>";
}
echo "</table>";
?>
<?php
include ( "./includes/config.php" ) ;
$iMax = 4 ;
$iCount = 0 ;
echo "<table width=\" 100%\" height=100% b order=\" 0\" cellspacing=\" 0\" cellpadding=\" 0\" >" ; if ( $iCount == 0 ) {
}
echo "<table><td><tr>" . $aRes [ 'name' ] . "</tr></td></table>" ; if ( $iCount == 3 ) {
$iCount = - 1 ;
}
$iCount ++;
}
if ( $iCount != 0 ) {
}
?>
Joost - 09/05/2009 16:01
PHP expert
Gebruik de code die je eerst ook had, 2 posts boven je.
larssy1 - 09/05/2009 16:14
MySQL beginner
Ja, maar daar kan ik mijn opmaak niet mee krijgen..
Joost - 09/05/2009 16:34
PHP expert
<?php
include("includes/config.php");
$sql = mysql_query("SELECT * FROM templates LIMIT 0 , 8") or die (mysql_error());
$iMax = 4;
$iCount = 0;
echo "<table class='test' width='100%'>";
while($aRes = mysql_fetch_assoc($sql)){
if($iCount == 0){
echo "<tr>";
}
echo "<td class='test2'>".$aRes['template']."</td>";
if($iCount == 3){
echo "</tr>";
$iCount = -1;
}
$iCount++;
}
if($iCount != 0){
echo "</tr>";
}
echo "</table>";
?>
<?php
include ( "includes/config.php" ) ;
$iMax = 4 ;
$iCount = 0 ;
echo "<table class='test' width='100%'>" ; if ( $iCount == 0 ) {
}
echo "<td class='test2'>" . $aRes [ 'template' ] . "</td>" ; if ( $iCount == 3 ) {
$iCount = - 1 ;
}
$iCount ++;
}
if ( $iCount != 0 ) {
}
?>
Zo kan je toch gewoon opmaak meegegeven? Je moet in ieder geval niet gaan klooien met de <tr> in de for loop zelf.
Gesponsorde links
Dit onderwerp is gesloten .