Avatar billede scifo Nybegynder
04. juni 2006 - 00:27 Der er 7 kommentarer og
1 løsning

lav en liste over alle spil

Hej Eksperter.

Jeg tror ikke dette er så kringlet, men kræver bare en del kodning, som jeg selv vil have en del problemer med.

Jeg skal lave en side der automatisk opretter en liste opdelt i tabeller.

Jeg har en undermappe "Spil" hvor der ligger en masse .swf filer
det der så skal ske, er at når jeg går ind på siden, skal den lave en liste over alle .swf filer så det ser sådan ud:

--------------------------------------------------
-
-
- <Billede>                    <spilnavn>
-
--------------------------------------------------

--------------------------------------------------
-
-
- <Billede>                    <spilnavn>
-
--------------------------------------------------

Billedet hedder det samme som .swf filen, og ligger i samme
mappe, og klikkes der på spilnavnet, startes et javascipt, der
åbner spillet i nyt vindue ( Denne kode har jeg selv .

Jeg skal bruge hele koden til dette, tror det kan laves med en
lykke, da der er en masse gentagent kode.

Håber dette er skrevet forståeligt :-)

Mvh
Scifo
Avatar billede scifo Nybegynder
04. juni 2006 - 00:41 #1
Tror også der skal indvolveres en forespørgsel på SQL database, for ville gerne have det til at se ud som flg.
frip.dk/csr/test.htm
Avatar billede Slettet bruger
04. juni 2006 - 11:28 #2
Nu ved jeg ikke hvordan din database ser ud, men jeg gætter på det skal være noget med id og et billedenavn :)

<?php
function create_rows() {
  $default_dir = "/sti/til/flash_spil";
  $dir = dir($default_dir);

  while($file = $dir->read()) {
      $filenames[] = $file;
      }
  $dir->close();

  // Indsæt din mySQL connection her

  for($i=0; $i < count($filenames); $i++) {
      $query = "INSERT INTO games_list SET name='".$filenames[$i]."'";
      $res = mysql_query($query) or die(mysql_error());
  }
}

function list_rows() {
  $query = "SELECT name FROM games_list ORDER BY id";
  $res = mysql_query($query) or die(mysql_error());
  while ($rows = mysql_fetch_assoc($res)) {
    $table .= '<table>\n';
    $table .= '<tr>\n';
    $table .= '<td><img src="$rows["name"]"/></td>\n';
    $table .= '<td>$rows["name"]</td>\n';
    $table .= '</tr>\n';
    $table .= '</table>\n';
    echo $table;
  }
}
?>

Jeg har ikke helt testet det - men create_rows() skulle indsætte tingene i tabellen når den bliver kaldt, og list_rows() vil så vise dem når du har kørt create_rows() - men du kan lige prøve dig frem - jeg håber det compiler :)

--pacroon
Avatar billede scifo Nybegynder
06. juni 2006 - 17:32 #3
Hej får flg. besked:

<INPUT TYPE="button" Value="Vis Spil" OnClick="
Warning: mysql_query(): Access denied for user 'ODBC'@'localhost' (using password: NO) in c:\documents and settings\scifo\dokumenter\densjoveside\test\spil.php on line 25

Warning: mysql_query(): A link to the server could not be established in c:\documents and settings\scifo\dokumenter\densjoveside\test\spil.php on line 25
Access denied for user 'ODBC'@'localhost' (using password: NO)

Har flg. kode skrevet:
<HTML>
<BODY>
<?php
function create_rows() {
  $default_dir = "/spil";
  $dir = dir($default_dir);

  while($file = $dir->read()) {
      $filenames[] = $file;
      }
  $dir->close();

  mysql_connect("localhost","testnavn","minkode") or die(mysql_error());
  mysql_select_db("mindb") or die(mysql_error());

  for($i=0; $i < count($filenames); $i++) {
      $query = "INSERT INTO games_list SET name='".$filenames[$i]."'";
      $res = mysql_query($query) or die(mysql_error());
  }
}


function list_rows() {
  $query = "SELECT name FROM games_list ORDER BY id";
  $res = mysql_query($query) or die(mysql_error());
  while ($rows = mysql_fetch_assoc($res)) {
    $table .= '<table>\n';
    $table .= '<tr>\n';
    $table .= '<td><img src="$rows["name"]"/></td>\n';
    $table .= '<td>$rows["name"]</td>\n';
    $table .= '</tr>\n';
    $table .= '</table>\n';
    echo $table;
  }
}
?>

<INPUT TYPE="button" Value="Vis Spil" OnClick="<?PHP list_rows(); ?>">


</BODY>
</HTML>


Håber du kan give mit et hint på hvor fejlen ligger :-)
Og jeg har oprettet bruger i MyPhpAdmin

Mvh
Kris Hansen
Avatar billede Slettet bruger
06. juni 2006 - 17:37 #4
Ja, jeg havde glemt du også skulle connecte til SQL i list_rows()

Så:
mysql_connect("localhost","testnavn","minkode") or die(mysql_error());
mysql_select_db("mindb") or die(mysql_error());

Skal du også lige indsætte efter

function list_rows() {

..

--pacroon
Avatar billede scifo Nybegynder
07. juni 2006 - 00:01 #5
Hej pacroon.

Når jeg har denne linie med:
<INPUT TYPE="button" Value="Vis Spil" OnClick="<?PHP list_rows(); ?>">

Får jeg:
<Min knap>\n$rows["name"]\n\n\n
\n
\n 
\n
<tomt billede>$rows["name"]
\n
\n
\n
\n
\n 
\n
<tomt billede>$rows["name"]
\n
\n
\n">

Hvis jeg ikke har input linien med, sker der intet? tom side.

Mvh
Scifo

P.S. Har været igang med PHP og MySql i ca. 2 uger, så min baggrund er lidt begrænset
Avatar billede Slettet bruger
07. juni 2006 - 00:13 #6
Jeg tror ikke koden skal være i onClick.

Det er meningen det bare skal stå for sig selv :)
Avatar billede scifo Nybegynder
10. juni 2006 - 20:15 #7
Hej pacroon, fik det til at give mening, undskýld det tog mig så lang tid at svare.

Lig venligst et svar ;-)

Mvh
Scifo
Avatar billede Slettet bruger
10. juni 2006 - 21:00 #8
Mange tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester