Avatar billede capper83 Nybegynder
18. april 2006 - 12:55 Der er 30 kommentarer og
1 løsning

Klik i select box og find alt frem under den kategori

Hejsa

Jeg sidder og har et lille problem.

Jeg har lavet en selectbox

<SELECT name='kategori' title=kategori' onChange='' size='4' multiple>
            <OPTION value='0' >Romantik</OPTION>
            <OPTION value='1' >Gyser</OPTION>
            <OPTION value='2' >Krimi</OPTION>
            <OPTION value='3' >Andre</OPTION>
            </SELECT>
så vil jeg gerne have sådan at når man fx trykker på gyser, skal den finde alle dem inde i min database som har gyser som kategori, og det skal vises i en ny select

er der nogen så kan hjælpe mig med det??

Mvh
Jack
Avatar billede horsmark Nybegynder
18. april 2006 - 14:16 #1
må siden reloade ?
Avatar billede horsmark Nybegynder
18. april 2006 - 14:17 #2
ellers skal du loade alle kategorier ind og dynamisk vise en ny selectbox der passer til genren ...
Avatar billede capper83 Nybegynder
18. april 2006 - 14:38 #3
det lyder godt nok lidt spændende det med dynamisk..
vil helst ikke have den til at reloade for meget
Avatar billede horsmark Nybegynder
18. april 2006 - 14:39 #4
du har sat den til som en select multible er det meningen ?
Avatar billede capper83 Nybegynder
18. april 2006 - 14:43 #5
øhh nej ved ikke engang hvad den gør :) bare noget jeg fandt på nettet
Avatar billede horsmark Nybegynder
18. april 2006 - 14:51 #6
Avatar billede capper83 Nybegynder
18. april 2006 - 14:59 #7
hmm det siger mig ikke rigtig så meget :)

er det ikke kun halve koder??
Avatar billede horsmark Nybegynder
18. april 2006 - 15:06 #8
tjo det kommer an på om du vil lade javascript "bygge" din selectbox nummer 2 dynamisk alt efter hvad der vælges under filkkategorier ?
Avatar billede capper83 Nybegynder
18. april 2006 - 15:09 #9
det skal være sådan at man vælge en kategori (de er faste) når man så fx har valgt gyser, skal der komme en ny select box frem ved siden af hvor man så kan vælge alle de film som man har lagt under kategori gyser, også kan man klikke på en af de titler også kommer der info om filmen frem
Avatar billede horsmark Nybegynder
18. april 2006 - 15:22 #10
<script type="text/javascript">
var aCategories =
[
  ['romatik 1', 'romatik 2', 'romatik 3'],
  ['gyser 1', 'gyser2', 'gyser3', 'gyser4'],
  ['asdfgasdfyser 1', 'gysHIHIHIHer2'],
  ['kun den ene film']
]

function buildMovieList(iCategoryNumber){
    var eleMovies = document.getElementById('movies')
    eleMovies.options.length = 0
    if ( iCategoryNumber == "" ){
        eleMovies.style.display = "none"
    } else {
        eleMovies.style.display = "block"
        for( var i = 0; i < aCategories[iCategoryNumber].length; i++ ){
            eleMovies.options[i] = new Option(aCategories[iCategoryNumber][i],i);
        }
    }
}

</script>
<form>
<select id="categories" onChange="buildMovieList(this.value)">
    <OPTION value='' selected >Vælg genre</OPTION>
    <OPTION value='0' >Romantik</OPTION>
    <OPTION value='1' >Gyser</OPTION>
    <OPTION value='2' >Krimi</OPTION>
    <OPTION value='3' >Andre</OPTION>
</select>

<select id="movies" style="display:none;">
</select>
</form>
Avatar billede capper83 Nybegynder
18. april 2006 - 15:27 #11
det ser meget godt ud :)
men der op ved
var aCategories =
[
  ['romatik 1', 'romatik 2', 'romatik 3'],
  ['gyser 1', 'gyser2', 'gyser3', 'gyser4'],
  ['asdfgasdfyser 1', 'gysHIHIHIHer2'],
  ['kun den ene film']
]
hvordan laver man så lige så det er det fra databasen man får ind?
kan sætte noget php ind i []??
fx en for løkke, for jeg ved jo ikke hvor mange film der bliver i de forskellige, det skal den jo finde ud af ved at tjekke min database, og der kan jo komme flere til og måske bliver en film slettet igen, så den skal jo tjekke hver gang man går ind på siden
Avatar billede horsmark Nybegynder
18. april 2006 - 15:29 #12
yes sæt du blot et par PHP løkker ind der udskriver javascripten ;-)
Avatar billede capper83 Nybegynder
18. april 2006 - 15:33 #13
hmm hvordan udskrive javascripten?? er stort set helt ny i javascript
Avatar billede horsmark Nybegynder
18. april 2006 - 15:42 #14
<script type="text/javascript">
var aCategories =
[
<?
// Her er en masse PHP
for($i=0;$i<=10;$i++){
  print "['kategori ".$i." første film', 'kategori ".$i." anden film']";
  if ( $i != 10 ) print ",\n";
}?>
]

...resterende kode...
Avatar billede capper83 Nybegynder
18. april 2006 - 17:39 #15
så skriver den jo bare første film og anden film i alle kategorierne
Avatar billede capper83 Nybegynder
18. april 2006 - 17:43 #16
det kan godt være at den skal reloade hver gang man vælger, for det er jo en ny forspørgelse til sql hver gang med væælger, det var ellers bare så smart det dynamiske
Avatar billede horsmark Nybegynder
18. april 2006 - 17:58 #17
..hey det var nu blot princippet....


print "["

foreach( $aCategories ){
print "["
foreach ( $aCategories['movies'] as $movie ){
  print $movie. ","
}
print "]"
}

print "]"
Avatar billede capper83 Nybegynder
18. april 2006 - 18:02 #18
jeg er fuldstændig lost nu hvor skal det sættes ind henne??
Avatar billede horsmark Nybegynder
18. april 2006 - 18:15 #19
hvordan har du kategorier og film hentet i PHP ? I arrays ?
Avatar billede capper83 Nybegynder
18. april 2006 - 19:37 #20
jeg har en table der hedder dvd, også skriver man dvs ting ind, også en af de ting man skal vælge er kategori så hvis man vælger fx gyser, så kommer der til at stå gyser i db..
Avatar billede capper83 Nybegynder
18. april 2006 - 19:52 #21
nu har jeg lavet sådan at den skriver tal ind i db der ved kategori så det passe med value inde i select.

her kommer den kode jeg har lavet indtil videre:

<?
session_start();

include("../include/database.php");
?>

<?

echo $_SESSION[bruger];
echo "<br>";

$result = mysql_query("SELECT kategori FROM dvd WHERE bruger = '".$_SESSION[bruger]."' ");
$num_rows = mysql_num_rows($result);

while ($test = mysql_fetch_array($result))
{
    echo $test[0];
}


?>

<script type="text/javascript">
var aCategories =
[
<?
// Her er en masse PHP
for($i=0;$i<=10;$i++){
print "['kategori ".$i." første film', 'kategori ".$i." anden film']";
if ( $i != 10 ) print ",\n";
}?>
]




function buildMovieList(iCategoryNumber){
    var eleMovies = document.getElementById('movies')
    eleMovies.options.length = 0
    if ( iCategoryNumber == "" ){
        eleMovies.style.display = "none"
    } else {
        eleMovies.style.display = "block"
        for( var i = 0; i < aCategories[iCategoryNumber].length; i++ ){
            eleMovies.options[i] = new Option(aCategories[iCategoryNumber][i],i);
        }
    }
}

</script>
<form>
<select id="categories" onChange="buildMovieList(this.value)" multiple>
    <OPTION value='' selected >Vælg genre</OPTION>
    <OPTION value='0' >Romantik</OPTION>
    <OPTION value='1' >Gyser</OPTION>
    <OPTION value='2' >Krimi</OPTION>
    <OPTION value='3' >Tegnfilm</OPTION>
    <OPTION value='3' >Andre</OPTION>

</select>

<select id="movies" style="display:none;" multiple>
</select>
</form>
Avatar billede horsmark Nybegynder
18. april 2006 - 19:59 #22
hvad hedder din film tabel og de respektive kollonner ?
Avatar billede capper83 Nybegynder
18. april 2006 - 20:03 #23
min film tabel ser sådan ud

id , bruger, title, beskrivelse, dato, kategori
Avatar billede horsmark Nybegynder
18. april 2006 - 20:08 #24
Hvad vil nedenstående kode spytte ud ?

$result = mysql_query("SELECT * FROM dvd WHERE bruger = '".$_SESSION[bruger]."' ") or die( mysql_error() );
$aCategories = array()
while ($row = mysql_fetch_array($result)){
    $aCategories[] = $row;
}

$result = mysql_query("SELECT * FROM film WHERE bruger = '".$_SESSION[bruger]."' ") or die( mysql_error() );
$aMovies = array()
while ($row = mysql_fetch_array($result)){
    $aMovies[] = $row;
}

print_r($aCategories);
print_r($aMovies);
Avatar billede capper83 Nybegynder
18. april 2006 - 20:12 #25
den laver
Parse error: parse error, unexpected T_WHILE

i denne kode

$result = mysql_query("SELECT * FROM dvd WHERE bruger = '".$_SESSION[bruger]."' ") or die( mysql_error() );
$aCategories = array()
while ($row = mysql_fetch_array($result)){
$aCategories[] = $row;
}
Avatar billede capper83 Nybegynder
18. april 2006 - 20:12 #26
og jeg har ikke en tabel der hedder film, det er kun dvd
Avatar billede capper83 Nybegynder
18. april 2006 - 20:19 #27
arh der manglede ; :)

hvis man bruger denne kode

$result = mysql_query("SELECT * FROM dvd WHERE bruger = '".$_SESSION[bruger]."' ") or die( mysql_error() );
$aCategories = array();
while ($row = mysql_fetch_array($result)){
$aCategories[] = $row;
}

$result = mysql_query("SELECT * FROM dvd WHERE bruger = '".$_SESSION[bruger]."' ") or die( mysql_error() );
$aMovies = array();
while ($row = mysql_fetch_array($result)){
$aMovies[] = $row;
}

print_r($aCategories);
print_r($aMovies);

udskriver den

Array ( [0] => Array ( [0] => 1 [id] => 1 [1] => capper [bruger] => capper [2] => den seje film [title] => den seje film [3] => det er om en lille bitte mand her inde [beskrivelse] => det er om en lille bitte mand her inde [4] => 06-05-1984 [dato] => 06-05-1984 [5] => 1 [kategori] => 1 ) [1] => Array ( [0] => 2 [id] => 2 [1] => capper [bruger] => capper [2] => den skøre [title] => den skøre [3] => den handler bare om fis [beskrivelse] => den handler bare om fis [4] => 05-05-1999 [dato] => 05-05-1999 [5] => 0 [kategori] => 0 ) [2] => Array ( [0] => 3 [id] => 3 [1] => capper [bruger] => capper [2] => der ud af [title] => der ud af [3] => en mærkelig film [beskrivelse] => en mærkelig film [4] => 04-04-2000 [dato] => 04-04-2000 [5] => 1 [kategori] => 1 ) ) Array ( [0] => Array ( [0] => 1 [id] => 1 [1] => capper [bruger] => capper [2] => den seje film [title] => den seje film [3] => det er om en lille bitte mand her inde [beskrivelse] => det er om en lille bitte mand her inde [4] => 06-05-1984 [dato] => 06-05-1984 [5] => 1 [kategori] => 1 ) [1] => Array ( [0] => 2 [id] => 2 [1] => capper [bruger] => capper [2] => den skøre [title] => den skøre [3] => den handler bare om fis [beskrivelse] => den handler bare om fis [4] => 05-05-1999 [dato] => 05-05-1999 [5] => 0 [kategori] => 0 ) [2] => Array ( [0] => 3 [id] => 3 [1] => capper [bruger] => capper [2] => der ud af [title] => der ud af [3] => en mærkelig film [beskrivelse] => en mærkelig film [4] => 04-04-2000 [dato] => 04-04-2000 [5] => 1 [kategori] => 1 ) )
Avatar billede horsmark Nybegynder
19. april 2006 - 20:22 #28
oki så dine kategorier er faste ? ergo 1 til 8 f.eks ?
Avatar billede capper83 Nybegynder
20. april 2006 - 12:08 #29
ja det man vælger af kategorier er faste, det er bare når man så fx klikker på gyser skal den finde alle de film du har lagt ind under gyser.... også vise de film i en select, også når man klikker på en film viser den resten af info om filmen
Avatar billede horsmark Nybegynder
29. april 2006 - 09:18 #30
er du kommet videre med at få løst problemet ?
Avatar billede capper83 Nybegynder
13. maj 2007 - 16:03 #31
Lukker, kom aldrig videre
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