Avatar billede chris0905 Nybegynder
21. juni 2011 - 21:47 Der er 25 kommentarer og
1 løsning

Choose til select fra MySQL

Hej Eksperter!

Hvis jeg gerne vil have en select, der står på en bestemt værdi, valg ud fra en database værdi, hvordan skal jeg så gøre det???

FX:

Jeg har disse tre i min select:

Nummer 1
Nummer 2
Nummer 3

Så har jeg en side hvor jeg kan ændre andre ting omkring den side hvor nummeret skal bruges, der skal min select så helst stå på det der står i DB'en, så hvis der i min DB står:

Nummer 3

Så skal der på denne redigerings side være valg

nummer 3


Håber det giver mening, og at nogen kan hjælpe mig!


Mvh

Christoffer
Avatar billede kjeldsted Novice
22. juni 2011 - 00:33 #1
Jeg er måske ikke helt med, men vil du gerne have din select til at være selected på en bestemt værdi hentet fra DB'en?
Avatar billede chris0905 Nybegynder
22. juni 2011 - 07:57 #2
Ja! Jeg tror vi mener det samme... ;)
Avatar billede kjeldsted Novice
22. juni 2011 - 08:26 #3
Du kan sætte en bestemt værdi til at være selected ved at tilføje "selected" (uden "") i HTML tag'et på optionen. Så det er jo faktisk bare så simpelt at du skal få PHP til at tjekke om værdien er det ønskede og i så fald udskrive "selected".

Fx.

$soeg = 17;

echo '<select>';
for($i=1;$i<=20;$i++)
{
if($soeg==$i) $selected = 'selected'
echo "<option $selected>$i</option>";
}

Skrevet lidt hurtigt. Men det er ideen bag.
Avatar billede chris0905 Nybegynder
22. juni 2011 - 17:28 #4
Hvis jeg har den med tre farver... grøn, rød og blå... hvordan skal den så se ud???
Avatar billede kjeldsted Novice
22. juni 2011 - 18:34 #5
$array = array('grøn','rød','blå');
$soeg = 'rød';
echo '<select>';
foreach($array as $color)
{
    if($color==$soeg) $select = 'selected';
    echo "<option $select value=\"$color\">$color</option>\n";
}
echo '</select>';

Burde kunne gøre det.
Avatar billede chris0905 Nybegynder
22. juni 2011 - 19:02 #6
okay! tak for hjælpen! fandt en anden metode, dog noget mere inviklet... men det virker! i hvert fald tak din tid/hjælp! smid et svar!
Avatar billede chris0905 Nybegynder
22. juni 2011 - 19:08 #7
p.s. kender du en måde at videre sende i php...
Avatar billede kjeldsted Novice
22. juni 2011 - 19:29 #8
Øh. Hvad tænker du på? Altså overføre dataene fra selecten til PHP?
Avatar billede chris0905 Nybegynder
22. juni 2011 - 19:32 #9
undskyld... virkelig dårligt formuleret...

altså... jeg har en side hvor jeg skal have en popup box (fx. alert box) og når du har trykket ok på den, så skal de sende dig videre til en ny side... eller faktisk tilbage til den forrige side...

har du et eksempel på sådan en kode... eller en ide om hvordan den skal opbygges...
Avatar billede kjeldsted Novice
22. juni 2011 - 19:42 #10
Det skal så laves i JavaScript. Popup vinduer o.lign. kan kun styres via JS.

Men det skal være noget i stil med

<script type="text/javascript">
function goBack()
{
    if(alert('Når du har trykket OK skulle du blive sendt videre'))
    {
        window.location = window.history(-1);
    }
}
</script>


Nu er jeg ikke lige så stiv i JS. Så måske lidt små fejl. Men det er da nogenlunde i den stil. Og så skal du bare kører goBack() JS funktionen.
Avatar billede chris0905 Nybegynder
22. juni 2011 - 19:52 #11
kan man sætte et link ind i stedet??? fx:

$link = $_POST['id']

og så sende til opdater_action.php?id={$link}


er det muligt???
Avatar billede kjeldsted Novice
22. juni 2011 - 19:58 #12
Avatar billede chris0905 Nybegynder
22. juni 2011 - 20:01 #13
kommer den frem af sig selv eller skal man kalde den fra en knap??? (det skal siges at jeg absolut ingen forstand har på JS..)
Avatar billede kjeldsted Novice
22. juni 2011 - 20:09 #14
Funktionen alert() kommer med en boks med en tekst (den der står som parameter) og en knap hvor der vist nok står Ok.
Avatar billede chris0905 Nybegynder
22. juni 2011 - 20:12 #15
med pupper den op automatisk når man åbner siden, eller hvad skal man gøre for at den gør det???
Avatar billede kjeldsted Novice
22. juni 2011 - 20:18 #16
Hvornår vil du have den skal komme frem?
Avatar billede chris0905 Nybegynder
22. juni 2011 - 20:21 #17
i det samme at siden åbner...

har prøvet med denne:

<?php
$id = mysql_prep($_POST['id']);
?>
<script type="text/javascript">
function goBack()
{
    if(alert('Når du har trykket OK skulle du blive sendt videre'))
    {
        window.location = "opdater_style_action.php?id=";
    }
}
</script>
<?
?>
<body onLoad="goBack()">
<h2>Style er nu opdateret!</h2> <!-- Hvis den ikke dukker op selv -->
<a href="java script:goBack()">Klik her</a> <!-- Hvis den ikke dukker op selv -->
</body>


Men jeg kan ikke få den til at virke...
Avatar billede kjeldsted Novice
22. juni 2011 - 20:32 #18
My bad... Funktionen skal faktisk blot være
alert('Når du har trykket OK skulle du blive sendt videre')
window.location = "opdater_style_action.php?id="
Avatar billede kjeldsted Novice
22. juni 2011 - 20:32 #19
Og så også en god idé med ; efter alerten, selvfølgelig.
Avatar billede chris0905 Nybegynder
22. juni 2011 - 20:37 #20
kan jeg smide en PHP variabel ind i??

fx:

window.location = "opdater_style_action.php?id=<?php echo $link; ?>"
Avatar billede kjeldsted Novice
22. juni 2011 - 20:39 #21
Præcis!

Eller <?=$link?> hvis du er lidt doven.
Avatar billede chris0905 Nybegynder
22. juni 2011 - 20:39 #22
min kode ser nu sådan ud: -og jeg får bare en hvid skærm...

<?php
$id = mysql_prep($_POST['id']);
?>
<script type="text/javascript">
function goBack()
alert('Når du har trykket OK skulle du blive sendt videre')
window.location = "opdater_style_action.php?id="
</script>
<body onLoad="goBack()">
<h2>Style er nu opdateret!</h2>
<a href="java script:goBack()">Klik her</a>
</body>
Avatar billede kjeldsted Novice
22. juni 2011 - 20:48 #23
Du skal lige huske { og } til at omkrandse funktionen. Ligesom i PHP.
Avatar billede chris0905 Nybegynder
22. juni 2011 - 20:53 #24
er nu gjort...

<?php
$id = mysql_prep($_POST['id']);
?>
<script type="text/javascript">
function goBack(){
alert('Når du har trykket OK skulle du blive sendt videre')
window.location = "opdater_style_action.php?id=<?php echo $id; ?>"}
</script>
<body onLoad="goBack()">
<h2>Style er nu opdateret!</h2>
<a href="java script:goBack()">Klik her</a>
</body>

får stadig kun en hvis skærm ud...
Avatar billede kjeldsted Novice
22. juni 2011 - 21:19 #25
Har du en URL jeg må se?
Avatar billede chris0905 Nybegynder
23. juni 2011 - 14:24 #26
Sendt til dig som besked! ;)
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