Avatar billede downshooter Nybegynder
15. september 2004 - 13:11 Der er 9 kommentarer og
1 løsning

php/mysql dropdownbox el.l.

Hej eksperster!.
jeg er i gang med et projekt på min skole, hvor jeg så er ramt ind i et problem.
jeg skal have 2 dropdown box's (eller 2 <input type="radio"> hvad i nu mener er smartest) hvor i den første skal jeg vælge mellem 2 ting, (hardware og software) afhængigt af hvilken af punkterne man vælger skal  2. dropdownbox automastisk opdatere og vise,f.eks. ved valg af hardware komme, bundkort, ram, cpu osv.. osv..
håber i forstår hvad jeg mener.
jeg er meget åbent over for andre løsninger end at skulle gemme en liste over de forskellige ting i andet end mysql.
min kode kan ses nedenunder:
ps. jo hurtigere jo bedre da jeg har en deadline og skal følge.

<form action="udfoer.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="referer" value="post_vare">
<div class="frmobj">&nbsp;Overskrift</div> <input type="text" name="overskrift" class="beskrivelse"><br>
<div class="frmobj">&nbsp;Producent</div> <input type="text" name="producent" class="beskrivelse"><br>
<div class="frmobj">&nbsp;Pris</div> <input type="text" name="pris" class="beskrivelse"><br>
<div class="frmobj">&nbsp;Antal varer</div> <input type="text" name="lagerstatus" class="beskrivelse"><br>
<div class="frmobj">&nbsp;Billede</div> <input type="file" name="billede" class="beskrivelse"><br>
</div><br>
<div class="frmobj">&nbsp;Beskrivelse</div><textarea name="beskrivelse" rows="10" cols="0" style="width: 300px" class="textarea"></textarea><br><br>
<div class="frmobj">&nbsp;</div>
<input class="submit" type="submit" value="Send">
</form>

<?
//skaber forbindelse med mysql serveren
$conn = mysql_connect("localhost","admin","123456");

//angiver databasen
mysql_select_db("db_vare");

$dropdown1 = $_POST["type"];
$dropdown2 = $_POST["kategori"];
$overskrift = $_POST["overskrift"];
$producent = $_POST["producent"];
$pris = $_POST["pris"];
$lagerstatus = $_POST["lagerstatus"];
$billede = $_POST["billede"];
$beskrivelse = $_POST["beskrivelse"];

//indsæter værdierne
$indsaet = MYSQL_QUERY("INSERT INTO vare_tabel (va_id, va_type, va_kategori, va_overskrift, va_producent, va_pris, va_lagerstatus, va_billeder, va_beskrivelse)".
  "VALUES ('', '$va_type', '$va_kategori', '$overskrift', '$producent', '$pris', '$lagerstatus', '$billede', '$beskrivelse')");
?>
Avatar billede downshooter Nybegynder
15. september 2004 - 13:12 #1
staveplade til mig eksperter* :)
Avatar billede morteeart Nybegynder
15. september 2004 - 13:14 #2
tror at det ville være smartest at bruge javascript hvis de forskellge inputs skal være afhæninge af hinanden.

at bruge php/mysql til at behandle data'en er fint nok
Avatar billede downshooter Nybegynder
15. september 2004 - 13:15 #3
jeg glemte at skrive at jeg vil se kode ! :)
Avatar billede sostack Nybegynder
15. september 2004 - 14:04 #4
<?php
$drop1 = Array("hardware", "software");
$hardware = Array("Bundkort", "Lydkort", "Grafikkort");
$software = Array("MS_XP_PRO", "MS_XP_HOME", "Office_2003");
/*
De 3 Arrays herover, kan komme fra en database,
istedet for at være defineret her.
*/

echo "<form action='" . $_SERVER["PHP_SELF"] . "' method='POST'>\n";
echo "<SELECT name='drop1' onChange='submit();'>\n";
echo "<OPTION VALUE='' SELECTED>Vælg en kategori</OPTION>\n";
foreach($drop1 AS $drop)
{
    if($_REQUEST["drop1"] == $drop)
    {
        echo "<OPTION VALUE='$drop' SELECTED>$drop</OPTION>\n";
    } else {
        echo "<OPTION VALUE='$drop'>$drop</OPTION>\n";
    }
}
echo "</SELECT>";

SWITCH($_REQUEST["drop1"])
{
    CASE "hardware":
        echo "<SELECT name='drop2'>\n";
        echo "<OPTION VALUE='' SELECTED>Vælg hardware</OPTION>\n";
        foreach($hardware AS $hwdrop)
        {
            echo "<OPTION VALUE='$hwdrop'>$hwdrop</OPTION>\n";
        }
        echo "</SELECT>";
    BREAK;
    CASE "software":
        echo "<SELECT name='drop2'>\n";
        echo "<OPTION VALUE='' SELECTED>Vælg software</OPTION>\n";
        foreach($software AS $swdrop)
        {
            echo "<OPTION VALUE='$swdrop'>$swdrop</OPTION>\n";
        }
        echo "</SELECT>";
    BREAK;
}
echo "</form>";
?>

//sostack
Avatar billede downshooter Nybegynder
15. september 2004 - 14:09 #5
sostack det ser godt ud jeg vil lige kigge lidt på det
Avatar billede downshooter Nybegynder
15. september 2004 - 14:18 #6
sostack, som du kan se i den php kode jeg har skrevet, er der nogle forskellige punkter.
der skal den første drop down box være = $dropdown1 = $_POST["type"]; (skal selvfølgelig skrives om) og anden drop down box = $dropdown2 = $_POST["kategori"];
skal nemlig bruge det, i den form, pga. jeg skal indsætte det i min database
håber du kan hjælpe
Avatar billede sostack Nybegynder
15. september 2004 - 14:20 #7
vis lige hele koden til formen, så er det meget nemmere at passe ind!

//sostack
Avatar billede sostack Nybegynder
15. september 2004 - 14:52 #8
Prøv med:
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data">
<?
//skaber forbindelse med mysql serveren
$conn = mysql_connect("localhost","admin","123456");

//angiver databasen
mysql_select_db("db_vare");
//har lavet type om til typen, da type er et reseveret ord i mange programmerins/script-sprog
$typen = $_REQUEST["typen"];
$kategori = $_REQUEST["kategori"];
$overskrift = $_REQUEST["overskrift"];
$producent = $_REQUEST["producent"];
$pris = $_REQUEST["pris"];
$lagerstatus = $_REQUEST["lagerstatus"];
$billede = $_REQUEST["billede"];
$beskrivelse = $_REQUEST["beskrivelse"];

//indsæter værdierne
IF($_REQUEST["knap"] == "Send")
{
    $indsaet = mysql_query("INSERT INTO vare_tabel (va_id, va_type, va_kategori, va_overskrift, va_producent, va_pris, va_lagerstatus, va_billeder, va_beskrivelse)".
  "VALUES ('', '$typen', '$kategori', '$overskrift', '$producent', '$pris', '$lagerstatus', '$billede', '$beskrivelse')");
} else {
?>
<input type="hidden" name="referer" value="post_vare">
<div class="frmobj">&nbsp;Overskrift</div> <input type="text" name="overskrift" class="beskrivelse"><br>
<?php
$drop1 = Array("hardware", "software");
$hardware = Array("Bundkort", "Lydkort", "Grafikkort");
$software = Array("MS_XP_PRO", "MS_XP_HOME", "Office_2003");
/*
De 3 Arrays herover, kan komme fra en database,
istedet for at være defineret her.
*/
echo "<SELECT name='typen' onChange='submit();'>\n";
echo "<OPTION VALUE='' SELECTED>Vælg en kategori</OPTION>\n";
foreach($drop1 AS $drop)
{
    if($_REQUEST["typen"] == $drop)
    {
        echo "<OPTION VALUE='$drop' SELECTED>$drop</OPTION>\n";
    } else {
        echo "<OPTION VALUE='$drop'>$drop</OPTION>\n";
    }
}
echo "</SELECT>";
echo "<SELECT name='kategori'>\n";
echo "<OPTION VALUE='' SELECTED>Vælg ". $_REQUEST["typen"] . "</OPTION>\n";
SWITCH($_REQUEST["typen"])
{
    CASE "hardware":
        foreach($hardware AS $hwdrop)
        {
            echo "<OPTION VALUE='$hwdrop'>$hwdrop</OPTION>\n";
        }
    BREAK;
    CASE "software":
        foreach($software AS $swdrop)
        {
            echo "<OPTION VALUE='$swdrop'>$swdrop</OPTION>\n";
        }
    BREAK;
}
echo "</SELECT>";
?>
<div class="frmobj">&nbsp;Producent</div> <input type="text" name="producent" class="beskrivelse"><br>
<div class="frmobj">&nbsp;Pris</div> <input type="text" name="pris" class="beskrivelse"><br>
<div class="frmobj">&nbsp;Antal varer</div> <input type="text" name="lagerstatus" class="beskrivelse"><br>
<div class="frmobj">&nbsp;Billede</div> <input type="file" name="billede" class="beskrivelse"><br>
</div><br>
<div class="frmobj">&nbsp;Beskrivelse</div><textarea name="beskrivelse" rows="10" cols="0" style="width: 300px" class="textarea"></textarea><br><br>
<div class="frmobj">&nbsp;</div>
<input class="submit" type="submit" name="knap" value="Send">
</form>
<?php
}
?>

//sostack
Avatar billede downshooter Nybegynder
15. september 2004 - 15:03 #9
sostack smid et svar, så får du dine 200 velfortjente point.
det virker som en drøm tusind tak for hjælpen :)
Avatar billede sostack Nybegynder
16. september 2004 - 07:44 #10
Oki!

//sostack
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