hallo daar!

ik ben bezig een lijst met foto's te sorteren maar kom er niet helemaal uit.
mijn foto's worden nu zo gesorteerd

5 | 4
3 | 2
1 |

terwijl ik hem liever zo heb

5 | 2
4 | 1
3

script tot nu toe:

$qf = mysql_query("SELECT * FROM giovanni_werk ORDER BY id DESC LIMIT ".(5*$_GET['pp']).",5");

print "<table cellpadding=\"0\" cellspacing=\"0\" border=\"1\">";
print "<tr>";
print "<td colspan=\"2\"><img src=\"img/portfolio.gif\" alt=\"\"></td>";
print "</tr>";

while($n = mysql_fetch_assoc($qf))
{
if(!isset($i) || $i==0)
{
$i = 0;
print "<tr>";
}
elseif($i==2)
{
print "</tr><tr>";
$i=0;
}

$art = get_fotos($n['fotos']);

print "<td><br /><a href=\"?page=2&id=".$n['id']."\"><img src=\"img/werk/".$art[0]."\" border=\"1\"></td>";

}

if($i>0)
{
print "</tr>";
}

print "<tr>";
print "<td>";
print "<a href=\"#\" onclick=\"history.go(-1);return false\"><img src=\"img/home-green.gif\" border=\"0\" alt=\"\"></a>";
print "</td>";
print "</tr>";
print "</table>";

webpage is te vinden op:
http://2imaginary.com/giovanni/?page=2
Gebruik i.p.v DESC, ASC.
Tip: Gebruik LIMIT met een aparte OFFSET, dat is een stuk duidelijker en levert hierdoor minder bugs op:

SELECT
  *
FROM
  tabelnaam
LIMIT 5
OFFSET 0

hey pgFrank!

als ik hem op jou manier zet, gebeurt er eigenlijk niet veel nieuws
de foto's worden nog steeds niet goed gesorteerd en ik was ook nog vergeten te zeggen dat er nog meer foto's dan 5 in de database zitten.

ik wil er namelijk eigenlijk uiteindelijk 10 per pagina en dan een "vorige | volgende" pagina van maken die zo gesorteerd is:

20 | 15 10 | 05
19 | 14 09 | 04
18 | 13 08 | 03
17 | 12 07 | 02
16 | 11 06 | 01
pagina 1 pagina 2 enz
Gebruik steeds <tr> en dan rowspan aanpassen.
maar met <tr> krijg ik ze toch niet naast elkaar?
of doel je meer op meerdere tabellen naast elkaar gebruiken ofzo?

ze worden namelijk uit een database gehaald dus kan niet zelf bepalen hoe ik ze wil... toch??
was in je database staat is input.

wat je daarmee doet (output) kan je helemaal zelf weten, heeft niet echt veel met elkaar te maken
ok dat had ik al door haha.. maar weet ook iemand HOE ik ze dan zou moeten sorteren? ik kom daar namelijk niet uit...

ik heb mn pagination al werkende.. alleen maar het verticaal sorteren van de pics niet

Sorteren: DESC

Jouw echte uitdaging zit echter in de presentatie van de resultaten, niet in het sorteren. Jij wilt 4 kolommen tonen:
20 | 15 10 | 05
19 | 14 09 | 04
18 | 13 08 | 03
17 | 12 07 | 02
16 | 11 06 | 01

html bouw je op per rij, van links naar rechts.

- Hoeveel resultaten heb je opgehaald? mysql_num_rows(), bv. 20
- Aantal resultaten / 4 = 5 (in dit voorbeeld)

rij 1 zal dan bestaan uit resultaat nummer 20, 20 - (1x5), 20 - (2x5) en 20 - (3x5).
rij 2 zal dan bestaan uit resultaat nummer 19, 19 - (1x5), 19 - (2x5) en 19 - (3x5).
De overige rijen kun je zelf dan wel invullen.

Zoals je ziet heb je een tellertje nodig om te zien waar je gebleven bent, welke kolom je bent en daarmee de juiste data gaan tonen.

Allemaal niet gruwelijk moeilijk, zeker niet wanneer je alles netjes in een array gooit.

Succes!

Reageren