Først og fremmest, mange tak for jeres svar.
Jeg har eksperimenteret en del. Jeg har ikke fået Michael Larsens kode til at virke. Den viser kun spillet "teeworlds".
Gustavs kode virker derimod fint, men jeg har svært ved at udbygge den således, at tabellen også kan sorteres efter andre parametre. Mit mål er også at kunne inddele spillene efter dato, genre og bedømmelse.
Jeg har lavet en løsning der delvist virker, men jeg har på fornemmelsen at den ikke er særlig smart.
- <?php
-
-
- class Spil {
-
- public $name;
- public $filename;
- public $rating;
- public $genre;
-
- public function __construct($name = false, $filename = false, $rating = false, $genre = false) {
- if ($name) { $this->name = $name; }
- if ($filename) { $this->filename = $filename; }
- if ($rating) {$this->rating = $rating; }
- if ($genre) {$this->genre = $genre; }
-
- }
-
- public function __toString() {
- return $this->name;
- return $this->filename;
- return $this->rating;
- return $this->genre;
- }
- public function output() {
-
- return '<td> <a href = "' . $this->filename .'.php" alt = "' . $this->name . '"> <h3>' . $this->name . '</h3> <img src = "' . $this->filename .'.gif" alt = "' . $this->name .'" /> </a> <p> ' . $this->rating . ' </p> </td>';
-
- }
- }
-
- $hon = new Spil('Heroes of Newerth', 'filename', 5, 'tænk');
- $cs = new Spil('Counter Strike', 'filename', 3, 'skyd');
- $teeworlds = new Spil('Teeworlds', 'teeworlds', 4, 'skyd');
- $igneous = new Spil('Igneous', 'filename', 4, 'oplev');
- $maplestory = new Spil('Maplestory', 'filename', 4, 'oplev');
- $yumenikki = new Spil('Yume Nikki', 'filename', 4, 'oplev');
-
- $abc = array( $hon, $cs, $teeworlds, $igneous, $maplestory, $yumenikki);
- sort($abc);
-
- $rating_array = array( $hon, $cs, $teeworlds, $igneous, $maplestory, $yumenikki);
- ksort($rating_array);
-
-
-
- $genreselect = array();
-
- foreach ($rating_array as $game)
-
- {
-
- if ($game->genre == "skyd") {
-
- $genreselect[] = $spil;
- print_r($genreselect);
- ksort($genreselect);
-
- foreach ($genreselect as $genre); {
- echo $genre->output(); $count ++; if ($count > 3) {$count = 1; echo "<tr> </tr>"; };
-
- }
-
- }
-
- }
-
-
- ?>
Her har jeg prøvet at vise alle spil, hvor genre-variablen er sat til "skyd". Den viser ganske rigtigt alle spil i skydespilsgenren. Jeg ønsker dog også at være i stand til at sortere skydespillene efter bedømmelse osv. Derfor har jeg lavet en ny array som jeg sorterer, men det ser ikke ud til at virke korrekt.
Jeg har lidt på fornemmelsen, at jeg er ude i en løsning, der ikke er særlig smart og ikke følger god kodeskik.
Håber jeg fik forklaret det optimalt.