Avatar billede kasbas91 Nybegynder
27. august 2010 - 17:08 Der er 21 kommentarer og
1 løsning

Select fra en select dropdown box.... Mysqli . Det forstår jeg ikke lige hvordan man gør..

hej allesammen...

jeg vil gerne have selected data fra min selectbox fx.

Der er 4 muligheder og den skal bare selecte den som den kan finde

i

databasen.. fx.

_self
_parent
_top
_blank

Og hvis _top kommer fra databasen

_self
_parent
_top = Så skal _top være selected.
_blank

Og de andre skal stadig være der, som valgmuligheder..

I kan se hvad jeg har prøvet på, men jeg kan kun få den som kommer

fra databasen udskrevet..

http://codepad.org/wBqh8sLH


Håber i forstår mig... Jeg tror det er nemt nok,

men jeg ved bare ikke lige hvordan jeg helt præcis skal lave det...

Håber i har lyst til at hjælpe mig lidt... ;P TAK. !
Avatar billede caturn Nybegynder
27. august 2010 - 17:53 #1
Jeg koder ikke perl, men normalt php.

Du skal indsætte en forespørgsel der skriver "selected=yes" hvis data fra databasen er lig med muligheden.
Avatar billede kasbas91 Nybegynder
27. august 2010 - 18:07 #2
Hov min fejl, det skulle være php
Avatar billede kasbas91 Nybegynder
27. august 2010 - 18:07 #3
Jamen jeg har prøvet med alt muligt, men syntes ikke jeg har noget

held med det jeg prøver..
Avatar billede kasbas91 Nybegynder
27. august 2010 - 18:12 #4
Altså jeg kan godt finde ud af at udskrive den rigtige, men jeg vil

gerne have at alle de andre muligheder også er der, sammen med den

rigtige som skal selectes , så man kan evt.

vælge noget andet og opdatere formen...

Hvis i forstår...
Avatar billede majbom Novice
27. august 2010 - 19:32 #5
<?php
$options_arr = array('_self', '_top', '_parent', '_blank');
$options = "<option value="">Vælg target"</option>\n";
foreach($options_arr as $option){
  $sel = "";
  if($option == $fra_din_db){
      $sel = "selected";
  }
  $options .= "<option value='$option' $sel>$option</option>\n";
}
echo "<select name'min_select'>$options</select>\n";
?>


utestet...
Avatar billede kasbas91 Nybegynder
27. august 2010 - 19:43 #6
okay det kan jo være det virker, men hvad mener du med $fra_din_db

hvad skal der være der... Forstår ikke lige.. ;P
Avatar billede majbom Novice
27. august 2010 - 20:13 #7
det er så der at du har en af de 4 muligheder som der tidligere er valgt i select'en og dermed ligger i din db (det er det jeg forstår af din post i #0)...
Avatar billede kasbas91 Nybegynder
27. august 2010 - 20:14 #8
DET VIRKEDE TAK FOR DET. !!


Her kan i se det...

http://codepad.org/K83YNvNG

Læg et svar hvis du ønsker point.. ;P
Avatar billede kasbas91 Nybegynder
27. august 2010 - 20:20 #9
Men jeg får bare en fejl:

Warning: mysqli_result::fetch_object() [mysqli-result.fetch-object]: Couldn't fetch mysqli_result
Avatar billede kasbas91 Nybegynder
27. august 2010 - 20:40 #10
Den siger at fejlen er i

while($target = $target_resultater->fetch_object()){
Avatar billede majbom Novice
27. august 2010 - 21:08 #11
det er svært at sige hvad der er galt, npr du ikke viser noget mere kode...
Avatar billede kasbas91 Nybegynder
27. august 2010 - 21:13 #12
Her er koden:


http://codepad.org/K83YNvNG

den siger at fejlen er på linje 3..

: Warning: mysqli_result::fetch_object() [mysqli-result.fetch-object]: Couldn't fetch mysqli_result in /var/www/prowdesign.dk/iteksamen/rediger_side.php
Avatar billede majbom Novice
27. august 2010 - 21:28 #13
hvad siger $target_resultater->num_rows - hvis du smider den ind lige før din while?
Avatar billede kasbas91 Nybegynder
27. august 2010 - 21:36 #14
Er det sådan her du mener, men så udskriver den ikke noget. men fejlen forsvinder...



$id_active = $_GET['id'];
$active_option  = "SELECT * FROM `it_nav_subject` WHERE `id` = $id_active" or die(mysqli_error());
    if($active_resultater = $mysqli->query($active_option)){
        if($target_resultater->num_rows){
           
        }else{
            while($active = $active_resultater->fetch_object()){
            $options_arr_active = array('Synlig for alle', 'Skjult for alle');
                $options_active = "<option value=\"0\">Vælg target</option>";
                foreach($options_arr_active as $option_db){
                  $sel_active = "";
                  if($option_db == $active->active){
                      $sel_active = "selected='selected'";
                  }
                  $options_active .= "<option value=\"$option_db\" $sel_active>$option_db</option>";
                }
                  $active_resultater->close();
            }
        }
    }

Avatar billede majbom Novice
27. august 2010 - 21:44 #15
nej du skal ikke smide den i en if, du skal bare udskrive num_rows...
Avatar billede kasbas91 Nybegynder
27. august 2010 - 21:52 #16
den udskriver 1
Avatar billede majbom Novice
27. august 2010 - 22:10 #17
det ser osse lidt kringlet ud det du har gang i der, prøv det her:

<?php
    $id_active = $_GET['id'];
    $active_option  = "SELECT active FROM `it_nav_subject` WHERE `id` = $id_active");
    if($active_resultater = $mysqli->query($active_option)){
        $active = $active_resultater->fetch_row());
        $options_arr_active = array('Synlig for alle', 'Skjult for alle');
        $options_active = "<option value=\"0\">Vælg target</option>";
        foreach($options_arr_active as $option_db){
            $sel_active = "";
            if($option_db == $active[0]){
                $sel_active = "selected='selected'";
            }
            $options_active .= "<option value=\"$option_db\" $sel_active>$option_db</option>";
        }
        $active_resultater->close();
    }
?>
Avatar billede kasbas91 Nybegynder
27. august 2010 - 22:30 #18
okay hvad står den her og gør: $active[0]
Avatar billede majbom Novice
27. august 2010 - 22:45 #19
den tager værdien fra 'active' i din database
Avatar billede kasbas91 Nybegynder
27. august 2010 - 23:34 #20
Den her er til at hente target, men jeg kan ikke få den til at gøre det samme som den du lavede, men kan ikke hente target fra databasen med $target[0], ligsom den active...


$id_target = $_GET['id'];
$target_option  = "SELECT active FROM `it_nav_subject` WHERE `id` = $id_target";
if($target_resultater = $mysqli->query($target_option)){
  $target = $target_resultater->fetch_row();
  $options_arr_target = array('_self', '_top', '_parent', '_blank');
  $options_target = "<option value=\"0\">Vælg target</option>";
  foreach($options_arr_target as $option_db_target){
      $sel_target = "";
      if($option_db_target == $target[0]){
          $sel_target = "selected='selected'";
      }
      $options_target .= "<option value=\"$option_db_target\" $sel_target>$option_db</option>";
  }
  $target_resultater->close();
}


Avatar billede kasbas91 Nybegynder
28. august 2010 - 01:45 #21
jeg har fundet ud af det, mange tak.. ;P
Avatar billede majbom Novice
28. august 2010 - 02:11 #22
selv tak :)
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