Avatar billede bes Nybegynder
03. maj 2005 - 00:15 Der er 20 kommentarer og
1 løsning

En slags Film Database over mine film skal kodes. (php)

jeg vil gerne have lavet en php side eller et eller andet hvor man kan indtaste filmens navn i en box, og skrive årstal og vælge genre. (film må evt også godt få et nummer)

det skal så gemmes i en liste.

den liste skal man så kunne vælge list efter navn (alfabetisk) og man skal kunne vælge genre. 

men vigtigst er at når man indtaster filmen kommer den på listen det rigtige sted.. altså alfabetisk..

jeg vil godt give 400 point for dette da det er meget der skal kodes.

kender lidt til php selv men ikke det store.

det skal evt ligge på en hjemmeside (privat) eller endnu bedre hvis jeg bare kan have den liggeden på min egen computer.

har php 5 installeret og mySQL..

hehe det var vidst det.. spørg hvis der er noget man ik forstår.
Avatar billede syvon Nybegynder
03. maj 2005 - 00:26 #1
Husk lige max 200 points :)
Avatar billede baitianlong Nybegynder
03. maj 2005 - 00:27 #2
Altså det med at få tingene vist alfabetisk, virker du ret opsat på, men det er ikke så vildt. Du anvender blot ORDER BY i din SQL:

SELECT * FROM filmtabel ORDER BY titel ASC

Så er det ligemeget hvilken rækkefølge de står i i databasen. Med hensyn til genre:

SELECT * FROM filmtabel WHERE genre='thriller' ORDER BY titel ASC

...det er da ret enkelt det du spørger om.
Avatar billede baitianlong Nybegynder
03. maj 2005 - 00:44 #3
Lav en tabel i databasen, der hedder film og har denne struktur:

id primary key auto_increment
title varchar(50)
year datetime
genre varchar(15)

----------------------
list.php

<?php
mysql_connect("localhost", "root", "");
mysql_select_db("min_db");
if(!empty($_GET['genre']))
$result = mysql_query("SELECT title, date_format(year, '%Y') as year1, genre FROM film WHERE genre='".$_GET['genre']."' ORDER BY title ASC");
else
$result = mysql_query("SELECT title, date_format(year, '%Y') as year1, genre FROM film ORDER BY title ASC");
print("<table>");
while($row = mysql_fetch_assoc($result)) {
  print("<tr><td>".$row['title']."</td><td>".$row['year1']."</td><td>".$row['genre']."</td></tr>");
}
print("</table>");
$result2 = mysql_query("SELECT DISTINCT genre FROM film");
print("<select name=\"genre\" onChange=\"window.location.href='".$_SERVER['PHP_SELF']."?genre='+this.value;\">");
while($row2 = mysql_fetch_assoc($result2)) {
  print("<option value=\"".$row2['genre']."\">".$row2['genre']."</option>");
}
print("</select>");

-----------------------------------------------

insert.php

<?php
if(!empty($_GET['title'])) {
  mysql_connect("localhost", "root", "");
  mysql_select_db("min_db");
  mysql_query("INSERT INTO film(title, year, genre) VALUES('".$_GET['title']."', '".$_GET['year']."', '".$_GET['genre']."')");
}
?>
<form action="" method="get">
Title:<input type="text" size="30" name="title"><br>
Year: <input type="text" size="4" name="year"><br>
Genre: <input type="text" size="15" name="genre"><br>
<input type="submit" value="Gem">
</form>

--------------------------------------

Det skulle gerne være det :)
Avatar billede bes Nybegynder
03. maj 2005 - 02:28 #4
jeg er ikke så god til mySQL har aldrig brugt det før..
det er også derfor jeg vil give så mange points fordi skal nok have tingene forklaret ret dummie agtigt :)

men har lavet de 2 php filer og det er nogen lunde det jeg vil have.

jeg vil have have en værdi ($gen.Gyser , $gen.Thriller) til hver genre... også have prikker.. (radio input) også mulighed får at vælge 2 genre. :)

men det ser meget godt ud indtil videre skal nok bare lige have lidt hjælp til mysql.. :)
Avatar billede bes Nybegynder
03. maj 2005 - 14:04 #5
det kører sådan ok..

http://nold.frac.dk/insert.php

men det skal lige justeres lidt.

i list.php skal det sættes i tabeller og der skal være mere mellemrum mellem titel år og genre.

dropmenuen skal lige ordnes så man kan vælge "vis alle".

og der skal være mulighed for at den registrer når man vælger 2 genre til en film.

også lige tilsidst jeg vil godt have et "Slet" og "rediger" link til filmene.

vil godt give 200 ekstra point når alt er ordnet (400 ialt)..



list.php
----------------------------

<?php
mysql_connect("localhost", "***", "***");
mysql_select_db("***");
if(!empty($_GET['genre']))
$result = mysql_query("SELECT title, year, genre FROM film WHERE genre='".$_GET['genre']."' ORDER BY title ASC");
else
$result = mysql_query("SELECT title, year, genre FROM film ORDER BY title ASC");
print("<table>");
while($row = mysql_fetch_assoc($result)) {
  print("<tr><td>".$row['title']."</td><td>".$row['year']."</td><td>".$row['genre']."</td></tr>");
}
print("</table>");
$result2 = mysql_query("SELECT DISTINCT genre FROM film");
print("<select name=\"genre\" onChange=\"window.location.href='".$_SERVER['PHP_SELF']."?genre='+this.value;\">");
while($row2 = mysql_fetch_assoc($result2)) {
  print("<option value=\"".$row2['genre']."\">".$row2['genre']."</option>");
}
print("</select>");
?>


insert.php
---------------

<?php
if(!empty($_GET['title'])) {
  mysql_connect("localhost", "***", "***");
  mysql_select_db("***");
  mysql_query("INSERT INTO film(title, year, genre) VALUES('".$_GET['title']."', '".$_GET['year']."', '".$_GET['genre']."')");
}
?>
<a href="http://nold.frac.dk/insert.php">! w00t !</a>
<br><br>
<form action="" method="get">
Dvd titel :<input type="text" size="30" name="title">
Produktions år: <input type="text" size="4" name="year">
<br>Genre:

<input type="checkbox" class="radio" value="Action" name="genre">Action&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Komedie" name="genre">Komedie&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Drama" name="genre">Drama&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Gyser" name="genre">Gyser&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Thriller" name="genre">Thriller&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Stand Up" name="genre">Stand Up&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Dansk" name="genre">Dansk&nbsp;&nbsp;
<br>

<input type="submit" value="Kom så Sømand">
<br><br>
</form>
  <?php
  include("list.php");
  ?>



har forresten også lavet year datetime om til year varchar(4) i DB fordi det andet viste kun 0000 som værdi. men det jeg har lavet virker. :)
Avatar billede baitianlong Nybegynder
04. maj 2005 - 01:53 #6
Det står i en tabel allerede. Du kan bare sætte styles og bredde på cellerne:

<head>
<style type="text/css">
.titel{
  font-family:Arial, Helvetica;
  font-weight:bold;
  font-size:14px;
  color:#ccff33;
}
.aar{
  font-family:Arial, Helvetica;
  font-size:12px;
  color:#444499;
}
.genre{
  font-family:Arial, Helvetica;
  font-size:12px;
  color:#44bb11;
  font-style:italic;
}
</style>
</head>
<body>
<?php
mysql_connect("localhost", "***", "***");
mysql_select_db("***");
if(!empty($_GET['genre']))
$result = mysql_query("SELECT title, year, genre FROM film WHERE genre='".$_GET['genre']."' ORDER BY title ASC");
else
$result = mysql_query("SELECT title, year, genre FROM film ORDER BY title ASC");
print("<table cellpadding=\"4\" border=\"1\">");
while($row = mysql_fetch_assoc($result)) {
  print("<tr><td class=\"titel\" width=\"200\">".$row['title']."</td><td width=\"100\" class=\"aar\">".$row['year']."</td><td class=\"genre\" width=\"150\">".$row['genre']."</td></tr>");
}
print("</table>");
$result2 = mysql_query("SELECT DISTINCT genre FROM film");
print("<select name=\"genre\" onChange=\"window.location.href='".$_SERVER['PHP_SELF']."?genre='+this.value;\">");
print("<option value=\"\">Alle</option>");
while($row2 = mysql_fetch_assoc($result2)) {
  print("<option value=\"".$row2['genre']."\">".$row2['genre']."</option>");
}
print("</select>");
?>
</body>

Vi kan lige se på resten i morgen.

:)
Avatar billede nielsbrinch Nybegynder
04. maj 2005 - 12:53 #7
bes, husk lige at der er en max-grænse på 200 pts., og husk også at det er en mild fornærmelse for den venlige person der hjælper dig, hver gang du nævner hvor mange pts. du vil give.

Undskyld jeg blander mig :-)
Avatar billede baitianlong Nybegynder
04. maj 2005 - 13:00 #8
Det er korrekt. At nævne "Jeg vil give blah. points" hele tiden er lidt irriterende. Ligesom "Kom nu, kom nu..." Men hva'
Avatar billede bes Nybegynder
05. maj 2005 - 17:21 #9
ok undskyld det er barer fordi jeg syns det er ret meget der skal kodes og forklares og sådan... :)

ehm. kan stadig ik få "Alle" til at virke. den opdaterer ikke hvis man vælger den øverste i dropdown boxen. men ellers ser det godt ud.
Avatar billede bes Nybegynder
05. maj 2005 - 17:29 #10
men "alle" skal vel bare vise "/insert.php?genre=" ?
Avatar billede bes Nybegynder
05. maj 2005 - 18:41 #11
nå ja. vil også godt lige have en extra textbox til "Anmærkninger"
Avatar billede baitianlong Nybegynder
05. maj 2005 - 21:05 #12
ja, det burde give alle sammen, hvis genre er tom. hvis ikke finder vi på noget andet
Den skal linke til list.php, det er det, der er problemet... Fordi du includer den tror jeg den linker til insert.php

så er det slet/rediger:

print("<tr><td class=\"titel\" width=\"200\">".$row['title']."</td><td width=\"100\" class=\"aar\">".$row['year']."</td><td class=\"genre\" width=\"150\">".$row['genre']."</td><td><a href=\"list.php?f=slet&id=".$row['id']."\">SLET</a></td></tr>");

...og så i toppen efter mysql_select_db:

if($_GET['f'] == "slet") {
  mysql_query("DELETE FROM film WHERE id=".$_GET['id']);
}
if(!empty($_GET['genre']))
$result = mysql_query("SELECT title, year, genre FROM film WHERE genre='".$_GET['genre']."' ORDER BY title ASC");
else
$result = mysql_query("SELECT title, year, genre FROM film ORDER BY title ASC");
...osv

prøv det, med slet :)
Avatar billede bes Nybegynder
06. maj 2005 - 19:02 #13
kan ik få det til at virke..
Avatar billede bes Nybegynder
06. maj 2005 - 19:02 #14
er jo ik en rigtig haj til php..
Avatar billede bes Nybegynder
07. maj 2005 - 00:06 #15
$result = mysql_query("SELECT title, year, genre, id FROM film WHERE genre='".$_GET['genre']."' ORDER BY title ASC");
else
$result = mysql_query("SELECT title, year, genre, id FROM film ORDER BY title ASC");


skal der stå før den henter id ud fra db
Avatar billede bes Nybegynder
07. maj 2005 - 03:06 #16
det kører faktisk ok nu. har fået slet til at virke. har fået sådan så jeg kan give dem et nummer og de samtidigt får et unkit nummer.
mangler kun rediger. og har droppet den der box og istedet include() en txt fil med link til de forskelligere genre. virker fint..

insert.php
_________________


<?php
if(!empty($_GET['title'])) {
  mysql_connect("localhost", "**", "**");
  mysql_select_db("**");
  mysql_query("INSERT INTO film(title, year, genre, filmid) VALUES('".$_GET['title']."', '".$_GET['year']."', '".$_GET['genre']."', '".$_GET['filmid']."')");

}

?>
<a href="http://nold.frac.dk/insert.php">! w00t !</a>
<br><br>
<form action="" method="get">
Dvd titel :<input type="text" size="30" name="title">
Produktions år: <input type="text" size="4" name="year">
Film ID#: <input type="text" size="5" name="filmid">
<br>Genre:

<input type="checkbox" class="radio" value="Komedie" name="genre">Komedie&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Tegnefilm" name="genre">Tegnefilm&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Action" name="genre">Action&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Thriller" name="genre">Thriller&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Stand Up" name="genre">Stand Up&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Drama" name="genre">Drama&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Gyser" name="genre">Gyser&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Dansk" name="genre">Dansk&nbsp;&nbsp;
<br>

<input type="submit" value="Tilføj">
<br><br>
</form>
  <?php
  include("genre.txt");
  ?> 

<?php
  include("list.php");
  ?>


list.php
--------

<?php
mysql_connect("localhost", "***", "**");
mysql_select_db("**");

if($_GET['f'] == "slet") {
  mysql_query("DELETE FROM film WHERE id=".$_GET['id']);
header("Location: insert.php");
}
if(!empty($_GET['genre']))
$result = mysql_query("SELECT title, year, genre, id, filmid FROM film WHERE genre='".$_GET['genre']."' ORDER BY title ASC");
else
$result = mysql_query("SELECT title, year, genre, id, filmid FROM film ORDER BY title ASC");
print("<table cellpadding=\"4\" border=\"1\">");
while($row = mysql_fetch_assoc($result)) {
   
  print("<tr><td class=\"filmid\" width=\"10\">".$row['filmid']."</td><td class=\"titel\" width=\"200\">".$row['title']."</td><td width=\"100\" class=\"aar\">".$row['year']."</td><td class=\"genre\" width=\"150\">".$row['genre']."</td><td><a href=\"list.php?f=slet&id=".$row['id']."\">Slet</a></td></tr>");

}

print("</table>");









?><br><br>


</body>
Avatar billede bes Nybegynder
07. maj 2005 - 03:11 #17
insert.php
_________________


<?php
if(!empty($_GET['title'])) {
  mysql_connect("localhost", "**", "**");
  mysql_select_db("**");
  mysql_query("INSERT INTO film(title, year, genre, filmid) VALUES('".$_GET['title']."', '".$_GET['year']."', '".$_GET['genre']."', '".$_GET['filmid']."')");

  header("Location: insert.php");
}

?>
<a href="http://nold.frac.dk/insert.php">! w00t !</a>
<br><br>
<form action="" method="get">
Dvd titel :<input type="text" size="30" name="title">
Produktions år: <input type="text" size="4" name="year">
Film ID#: <input type="text" size="5" name="filmid">
<br>Genre:

<input type="checkbox" class="radio" value="Komedie" name="genre">Komedie&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Tegnefilm" name="genre">Tegnefilm&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Action" name="genre">Action&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Thriller" name="genre">Thriller&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Stand Up" name="genre">Stand Up&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Drama" name="genre">Drama&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Gyser" name="genre">Gyser&nbsp;&nbsp;
<input type="checkbox" class="radio" value="Dansk" name="genre">Dansk&nbsp;&nbsp;
<br>

<input type="submit" value="Tilføj">
<br><br>
</form>
  <?php
  include("genre.txt");
  ?> 

<?php
  include("list.php");
  ?>

mangler også funktionen til muligheden for at liste den samme under 2 genre..

:)
Avatar billede bes Nybegynder
10. maj 2005 - 14:42 #18
du har været til god hjælp... her er ikke et svar.
opretter nyt spg, til at får de sidste ting ordnet.
du kan lave et svar derinde hvis du vil ha points for det du har lavet:)

lukker imorgen eller deromkring

hygge!
Avatar billede baitianlong Nybegynder
10. maj 2005 - 18:50 #19
Nå men jeg smider et svar her :)

Det med to genrer forstår jeg ikke rigtig. Er det ikke bare at oprette flere genrer så som "actionkomedie" eller noget ?
Avatar billede bes Nybegynder
11. maj 2005 - 08:41 #20
hehe du har ik gjort det endnu? :))

nej det var mere at en film kan gå under 2 kategorier (2 genre) så hvis jeg vælger en film og giver den genrene drama og dansk. så kommer den både hvis man vælger drama og hvis man vælger dansk... :)
Avatar billede baitianlong Nybegynder
11. maj 2005 - 19:46 #21
lav et felt med sprog i formen og i databasen. i formen kan det f.eks være en selector med sprog. i databasen skal det bare være en varchar(20)

Så kan du gemme sproget også, og når du henter siger du

SELECT * FROM film WHERE genre='".$_GET['genre']."' OR sprog='".$_GET['sprog']."'....
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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