Avatar billede ra__mus Nybegynder
21. november 2003 - 18:12 Der er 3 kommentarer og
1 løsning

skriver forkert ved option .

Jeg læser nogle data fra en database, men feltet kategori bliver ikke indlæst istedet bliver der hver gang skrevet "bytur" uanset hvad værdien er. Hvad er der galt ??

<tr>
        <td><b>Kategori:</b></td>
        <td><select name="kategori" value="<?php echo "$kategori"; ?>">>
                   
                    <option value="bytur"> bytur</option>
                    <option value="date">date</option>
                    <option value="sport">sport</option>
                    <option value="kultur">kultur</option>
                    <option value="rejse">rejse</option>
                    <option value="enlig mor">enlig mor</option>
                    <option value="enlig far">enlig far</option>
                    <option value="andet">andet</option>                   
        </select></td>
</tr>
Avatar billede fangel Nybegynder
21. november 2003 - 18:16 #1
fordi du laver det på den "falske" måde... det hedder

---
<select name="kategori">
                 
                    <option value="bytur"> bytur</option>
                    <option value="date">date</option>
                    <option value="sport">sport</option>
                    <option value="kultur" selected>kultur</option> // her i
                    <option value="rejse">rejse</option>
                    <option value="enlig mor">enlig mor</option>
                    <option value="enlig far">enlig far</option>
                    <option value="andet">andet</option>                 
        </select>
---

nu er "kultur" valgt... det sættes altså med "selected" attributen ! ikke med en value=""

du skal derfor lave det på den anden måde - med nogle isset() blokke

Morten
Avatar billede rackbox Nybegynder
21. november 2003 - 19:10 #2
som dea_pg skriver... Her er blot en måde at sætte "selected" på:
$options = Array('bytur','date','sport','kultur','rejse','enlig mor','enlig far','andet');
echo "<select name='kategori'>\n";
foreach ($options as $key => $value){
  echo "<option value='".$value."'";
  if ($value = $kategori)
      echo " selected";
  echo ">".$value."</option>\n";
}
echo "</select>";

Hvis din kategori altså indeholder en tekst. Hvis din kategori indeholder en ID, så skal du i if-sætningen ændre $value til $key og lave dit array således:

$options = Array(1 => 'bytur',4 => 'date',7 => 'sport',2 => 'kultur',9 => 'rejse',14 => 'enlig mor',19 => 'enlig far',41 => 'andet');

Tallene skal erstattes med din ID. En løsning til at autogenerere arrayet med et mysql-udtræk kan være følgende:
$query = "select * from kategori";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
  $options[$row['id']] = $row['kategori_navn'];
}
Avatar billede ra__mus Nybegynder
21. november 2003 - 20:52 #3
jeg prøver lige med det..
Avatar billede rackbox Nybegynder
21. november 2003 - 21:37 #4
Jeg har skrevet forkert, opdager jeg lige...
---
if ($value = $kategori)
skal erstattes med
if ($value == $kategori)
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