webForumDet fria alternativet

Dela upp/Sortera

PHPur PHP

3 svar · 269 visningar · startad av Yossarian

Medlem sedan aug. 200469 inlägg
Frågan#1

Vill fuska till det lite med uppdelning/sortering av data från databas. Kommit halvvägs med min fulkod. Nån som vill hjälpa till? Vad som händer nu...är...att första tabellcellen blir bra. Men sen lägger sig resten i cell 2 på en enda rad?

Koden:

<TABLE width=98%>

     <TR>
     <TD>

     <?
     $query = "SELECT * FROM grupper WHERE  grupp= '$grupp' AND alternativ='l' ORDER BY titel ASC";
     $result = mysql_query($query) or die(mysql_error());
     $antalrader = mysql_num_rows($result);
     $sidor=ceil($antalrader/3);

     $i = 1;

     echo '<table bgcolor="#F9F7F7" cellspacing="0" cellpadding="0"><tr><td><B>LASERTONER</B><BR><BR></td><tr><td>';
     while($row = mysql_fetch_array($result)) {
     ?>

     <a class="meny" target="main_shop" href="webshop.php?page=vgrupp&id=<?=$row["id"]?>&maskin=<?=$row["titel"]?>"><?=$row["titel"]?></a>

     <?
     if ($i%$sidor == 0) {
     echo '</TD><TD>';
     } else {
     echo '<BR>';

     $i++;
     }   }
     ?>
     </TABLE>
     </TABLE>

Här kan man se hur d blir...

http://www.daytoner.com/meny2_test.php?grupp=hp

Medlem sedan juni 20031 837 inlägg
#2

ett problem kan vara att du aldrig avslutar din TR, finns på flera ställen i din kod

sen vet jag inte vad du tänkt att

     </TABLE>
     </TABLE>

skulle göra, du bör no kontrollera din HTML-kod så den blir ordentlig

sen när jag tittade på resultatet så ser jag att du int heller avslutar body och html

hur vill du egentligen att sidan ska se ut?
ska de bli tre kolumner med alla produkter?
hur ska kolumnerna fyllas? alltså ska först första kolmumnen fyllas sedan andra och sist tredje eller ska den byggas upp radvis?

Medlem sedan aug. 200469 inlägg
#3

Nja, html-koden är nog korrekt...klistrade inte med början o slutet av dokumentet. Kändes onödigt.... Utan tog delen med koden som jag behövde hjälp med. Fast visst, glömt nån <TR> o <TD> såg jag där...ska justera.

Sen ska det fyllas på i 3 kolumner ja. I bokstavordning, där dom första 15 (beroende på hur många produkter d är/kategori) hamnar i den första/vänstra. Sedan kommer 15 i nästa o sen får man se hur många som hamnar i den sista...efter det inte alltid är jämt antal produkter som ska delas upp.

Medlem sedan okt. 20001 285 inlägg
#4

Jag har hackat lite.. här får du t.ex 3 celler per rad oberoende av hur mycket det finns i DB´n

<?
$get_yossarian = mysql_query($sql) or die ("<h2>ERROR: </h2>".mysql_error());
if ($antal = mysql_num_rows($get_yossarian) > 0) {
?>
<table width="100%">
<?
$cell = 0;

while ($row = mysql_fetch_array($get_yossarian))
{
	if ($cell == 0) {
	    echo "<tr>\n";
	}
	
	echo "<td width=\"33%\">\n";
	echo $row['Yossarian']."\n";
	echo "</td>\n";
	
	$cell++;
	
	if ($cell == 3) {
	    echo "</tr>\n";
	    $cell = 0;
	}
}
if (($cell < 3) && ($cell != 0)) {
	for ($ss = $cell; $ss < 3; $ss++) {
		echo "<td width=\"33%\">-</td>\n";
		if ($ss == 3) {
		    echo "</tr>\n";
		}
	}
}
?>
</table>
<?
}
?>
140 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)