27. august 2004 - 09:44Der er
5 kommentarer og 1 løsning
Dropdown skal have tidligere værdi i retteformular
Håber der er lidt hjælp at hente.....
Jeg laver en retteformular. Dataene sættes ind i produkt_moebel.
I den oprindelige formular (oprettelsen) har jeg nedenstående eksempel på serienavnet. Når jeg indsætter denne i retteformularen har jeg blot et problem.
Hvordan sørger jeg for at den starter ved den værdi brugeren valgte ved oprettelsen?
Dvs. valgmuligheder hentes i produkt_serie mens dataene sættes i i produkt_moebel......
På forhånd tak!
-------------------------------
<select name="serienavn"> <?
include("config.php");
$db = mysql_connect($server, $user, $pass);
mysql_select_db($database, $db);
$foresp = mysql_query("SELECT navn FROM produkt_serie ORDER BY id DESC "); include("config.php");
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Først: i Produkt_serie har du en kolonne der hedder, der skal indeholde et unikt tal, lav det som autoincrement, eller autonumerering på dansk. I Produkt_Moebel laver du en kolonne, der hedder Produkt_serieID, hvori du gemmer tallet for brugerens valg.
Når der så skal rettes, henter du i Produkt_Moebel det Produkt_serieID som er valgt, og når du echo'er Select'en skal du så checkke hvornår du rammer det tidligere valgte, noget i den stil:
$foresp = mysql_query("SELECT id, navn FROM produkt_serie ORDER BY id DESC "); $valgtId = <Ja, det skal du så hent fra Produkt_Moebel, OK?>;
while ($data = mysql_fetch_row($foresp)){ if ($data[0] == $valgtId){ $strSelected = "selected" }else{ $strSelected = "" } echo "<option value=$data[0] $strSelected>$data[1]</option>";
}
- men du skal altså starte med at gemme ID i Produkt_Moebel i stedet for navn. På den måde kan en serie nemlig skifte navn, og du vil stadig kunne finde ud af hvad der blev valgt tidligere
Jeg får ikke valgmuligheder når jeg har skrevet følgende...... den skriver kun teksten. Dvs den kommer ikke i en dropdown....
Er der en der kan se løsningen?
----------------
<?php
$foresp = mysql_query("SELECT id, navn FROM produkt_serie ORDER BY id DESC "); $valgtId = mysql_query("SELECT id, navn FROM produkt_moebel ORDER BY id DESC ");
while ($data = mysql_fetch_row($foresp)){ if ($data[0] == $valgtId){ $strSelected = "selected"; }else{ $strSelected = ""; } echo "<option value=$data[1] $strSelected>$data[1]</option>";
Jeg får dog ikke den til at vælge den rigtige...... Den vælger bare den samme hver gang. Dvs den får ikke valgt den der sidst er valgt.
Kan I se hvad det er der går galt?
----------------------------
<select name="serienavn"> <?php
$foresp = mysql_query("SELECT id, navn FROM produkt_serie ORDER BY id DESC "); $valgtId = mysql_query("SELECT serie_id, navn FROM produkt_moebel ORDER BY id DESC ");
while ($data = mysql_fetch_row($foresp)){ if ($data[0] == $valgtId){ $strSelected = "selected"; }else{ $strSelected = ""; } echo "<option value=$data[1] $strSelected>$data[1]</option>";
Du får jo ikke hentet det valgte id fra produkt_moebel Du har vel et bestemt møbel "fremme", ikke? Det vil sige at du på dette tidspunkt kender id for det møbel det handler om. lad os sige at det er $MoebelID
$valgtIdRec = mysql_query("SELECT serie_id, navn FROM produkt_moebel WHERE ID = $MoebelID");
//og så skal du have tallet ud: $data = mysql_fetch_row($valgtIdRec);
$valgtId = $data[0];
//NU har du det rigtige serieID, og kan lave selecten
while ($data = mysql_fetch_row($foresp)){ if ($data[0] == $valgtId){ $strSelected = "selected"; }else{ $strSelected = ""; } echo "<option value=$data[1] $strSelected>$data[1]</option>";
Synes godt om
Ny brugerNybegynder
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.