Results beginnende met $letter tonen
Binnen mijn (game) website heb ik een overzicht van a t/m z welke alle games uit mijn database toont, maar gezien het grote aantal heb ik dit gelimit op 20 per letter.
Dus er worden 20 games beginnende met de letter 'a' getoond, 20 met 'b', en ga zo maar verder. Nu wil ik echter ook de mogelijkheid om alle games beginnende met 'a', 'b' etc te tonen, maar hier zit ik mee in de knoop.
Het stukje code dat ik gebruik voor het a t/m z overzicht:
index.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if($_GET['games'] == "alle"){
$indexnr = 0;
$limit = 20;
$order = "desc";
$arr = array();
// generate all letters
for ($i = 97; $i < 123; $i++) {
$indexnr = $indexnr +1;
$t1[$indexnr] = chr($i);
}
$mode = "alphabet";
foreach($t1 as $key => $letter){
echo("<div id=\"colOne\"><h3>$letter</h3> <div class=\"bg1\"><ul>");
include('pre_list_games.php');
echo("<br> <i><a href=\"index.php\">Terug naar de index</a></i>");
echo("</ul></div></div> \n");
}
exit();
}
$indexnr = 0;
$limit = 20;
$order = "desc";
$arr = array();
// generate all letters
for ($i = 97; $i < 123; $i++) {
$indexnr = $indexnr +1;
$t1[$indexnr] = chr($i);
}
$mode = "alphabet";
foreach($t1 as $key => $letter){
echo("<div id=\"colOne\"><h3>$letter</h3> <div class=\"bg1\"><ul>");
include('pre_list_games.php');
echo("<br> <i><a href=\"index.php\">Terug naar de index</a></i>");
echo("</ul></div></div> \n");
}
exit();
}
pre_list_games.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if($mode == "alphabet") {
$rowheight = 0;
$minrows = 10;
$m = "<i>Nog geen spelletjes</i>";
$sql3 = "SELECT t01.id, t01.title, t01.photo, t01.descr from games t01 where t01.active = 1 AND lower(t01.title) LIKE '$letter%' order by t01.title asc limit $limit";
$result3 = mysql_query($sql3) or die ("ERROR: " . mysql_error());
while ($rij3 = mysql_fetch_array($result3)){
if($rij3['photo'] == ""){
$rij3['photo'] = "images/no_thumb.gif";
}
$title = $rij3['title'];
if(strlen($title)>20) {
$title = substr($title, 0, 20);
$title = "" . $title . "..."; }
echo("<a ONMOUSEOVER=\"popup('<img src=".$rij3['photo']." width=$settings2->sizex height=$settings2->sizex>','0')\"; ONMOUSEOUT=\"stopthumb()\" href=\"index2.php?game=".$rij3['id']."&name=".str_replace(" ", "_", $rij3['title'])."\" $target>".$title."</a><br> \n");
$m="";
$rowheight = $rowheight+1;
}
echo($m);
for ( $i = $rowheight; $i < $minrows; $i++) { echo("<br>"); }
}
$rowheight = 0;
$minrows = 10;
$m = "<i>Nog geen spelletjes</i>";
$sql3 = "SELECT t01.id, t01.title, t01.photo, t01.descr from games t01 where t01.active = 1 AND lower(t01.title) LIKE '$letter%' order by t01.title asc limit $limit";
$result3 = mysql_query($sql3) or die ("ERROR: " . mysql_error());
while ($rij3 = mysql_fetch_array($result3)){
if($rij3['photo'] == ""){
$rij3['photo'] = "images/no_thumb.gif";
}
$title = $rij3['title'];
if(strlen($title)>20) {
$title = substr($title, 0, 20);
$title = "" . $title . "..."; }
echo("<a ONMOUSEOVER=\"popup('<img src=".$rij3['photo']." width=$settings2->sizex height=$settings2->sizex>','0')\"; ONMOUSEOUT=\"stopthumb()\" href=\"index2.php?game=".$rij3['id']."&name=".str_replace(" ", "_", $rij3['title'])."\" $target>".$title."</a><br> \n");
$m="";
$rowheight = $rowheight+1;
}
echo($m);
for ( $i = $rowheight; $i < $minrows; $i++) { echo("<br>"); }
}
Het zal waarschijnlijk zeer simpel zijn maar ik krijg het niet voor elkaar om een pagina te creeren voor elke letter die vervolgens alle games beginnende met die letter toont. Misschien dat iemand mij hier verder mee kan helpen?
B.v.d
Gewijzigd op 01/01/1970 01:00:00 door Tommy
Vervolgens geef je de huidige letter mee aan waar je in zit.
Je gebruikt trouwens wel een query in een lus (ben ik zelf niet echt voorstander van)