WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Förvald i dropdownlist (https://www.wn.se/forum/showthread.php?t=32553)

Aron L 2008-10-14 11:43

Hur gör man detta...? (Har kommit halvvägs)

Programmeringsspråk: PHP / HTML

Jag har kodat ett väldigt simpelt feedbackformulär - där användaren har möjlighet
att skriva/skicka feedback. Beroende på vad feedbacken avser kan den som
lämnar den välja olika alternativ i en dropdownlist (alltså en rull-lista med olika alternativ).

I dagsläget finns över 60 alternativ i listan, vilket gör det lite omständigt för användaren
att scrolla ner och välja rätt alternativ. Det jag vill göra är att rätt val automatiskt blir ifyllt,
beroende på vilken sida besökaren kommer ifrån.

Med andra ord: Så att användaren slipper välja i rull-listan i 99 fall av 100.

Hur gör jag detta?

De olika valen i listan är kopplade till en databas där den hämtar upp namnen i listan... så
det smidigaste om jag fick välja skulle vara att ha typ "feedback.php?namn=pelle" och att
valet i dropdown automatiskt blev "pelle" (då förstås förutsatt att det är unikt)

Någon som gjort liknande eller kan hjälpa mig i rätt riktning? Har sökt på Google och i flera
forum men hittar inte exakt det jag vill göra :)

Kan grunder i php/mysql så jag behöver bara lite hjälp på vägen :)

Tack

Osiris 2008-10-14 11:57

När du itererar genom listan för att skapa inläggen i din dropdown så är det väl bara att sätta selected ála vanlig XHTML om värdet stämmer överrens med querystring?

Kan ingen PHP så jag kan tyvärr inte skriva någon kod åt dig.

Silodon 2008-10-14 12:40

När du loopar ut valen till dropdown listan får du använde en if sats för att se om rulllistans val överensstämmer med det du fått via GET. Om variablerna är lika så lägger du till selected="selected" i rullistalternativets tag.

EDIT: Så här ungefär:

Kod:


<select name="select" id="select">
<?php
 
while ($sql = mysql_fetch_assoc($query)) {
  if ($sql['val'] == $_GET['namn']) {
    echo "<option selected=selected>dfg</option>";
  } else {
    echo "<option>dfg</option>";
  }
}
 
?>
</select>


Jake.Nu 2008-10-14 15:42

Kod:

// Kommer från adressen ex. http://domain.tld/form.php?opt=value2
$selected = isset($_GET["opt"]) ? $_GET["opt"] : "";

// Alla värden
$array = array('value1' => 'Värde 1',
 * * * * * * * * * * * *'value2' => 'Värde 2');

echo "<select>";

foreach ($array as $key => $val):

echo "<option value='", $key, "'", ($key == $selected ? " selected" : ""), ">", $val, "</option>";

endforeach;

echo "</select>";



Alla tider är GMT +2. Klockan är nu 01:32.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson