Avatar billede farhang Nybegynder
05. oktober 2006 - 18:00 Der er 8 kommentarer og
1 løsning

Problem med foreach selection!

Er en, som ved, hvordan man kan finde den rigtige image_id til at blive selected? For hver gang jeg updater, så ryger det forvalgte image_id.

<?php
  $link = mysql_connect("localhost", "designunltdd", "6J6Md9bb")
    or die("Could not connect: " . mysql_error());
  mysql_select_db('designunltddk_shop', $link)
    or die ( mysql_error());
  $imagessql = "SELECT * FROM images";
 
  $result = mysql_query($imagessql)
    or die("Invalid query: " . mysql_error());
  while ($row = mysql_fetch_array($result)) {
    $images[$row['image_id']] = $row['image_caption'];
  }

  switch ($_GET['action']) {
    case "edit":
      $productssql = "SELECT * FROM products
                  WHERE products_prodnum = '" . $_GET['id'] . "'";
      $result = mysql_query($productssql)
        or die("Invalid query: " . mysql_error());
      $row = mysql_fetch_array($result);
      $products_imageurl = $row['products_imageurl'];
      break;
     
    default:
      $products_imageurl = "";
      break;
  }
?>
        <select name="products_imageurl" size="1">
          <option value="<?php echo $products_imageurl; ?>" selected>Vælg et billede...</option>
          <?php
  foreach ($images as $image_id => $image_caption) {
    if ($image_id == $products_imageurl) {
      $selected = " selected";
    } else {
      $selected = "";
    }
?>
          <option value="<?php echo $image_id; ?>.jpg"<?php
        echo $selected; ?>><?php echo $image_id; ?>.jpg</option>
          <?php
  }
?>
        </select></td>
      <td colspan="2" valign="top"><?php
  $link = mysql_connect("xxxxx", "xxxxx", "xxxxx")
    or die("Could not connect: " . mysql_error());
  mysql_select_db('xxxxx_shop', $link)
    or die ( mysql_error());
  $imagessql = "SELECT * FROM images";
 
  $result = mysql_query($imagessql)
    or die("Invalid query: " . mysql_error());
  while ($row = mysql_fetch_array($result)) {
    $images[$row['image_id']] = $row['image_caption'];
  }

  switch ($_GET['action']) {
    case "edit":
      $productssql = "SELECT * FROM products
                  WHERE products_prodnum = '" . $_GET['id'] . "'";
      $result = mysql_query($productssql)
        or die("Invalid query: " . mysql_error());
      $row = mysql_fetch_array($result);
      $products_thumbnailimageurl = $row['products_thumbnailimageurl'];
      break;
     
    default:
      $products_thumbnailimageurl = "";
      break;
  }
?>
        <select name="products_thumbnailimageurl" size="1">
          <option value="<?php echo $products_thumbnailimageurl; ?>" selected>Vælg et billede...</option>
          <?php
  foreach ($images as $image_id => $image_caption) {
    if ($image_id == $products_thumbnailimageurl) {
      $selected = "$products_thumbnailimageurl";
    } else {
      $selected = "";
    }
?>
          <option value="<?php echo $image_id; ?>.jpg"<?php
        echo $selected; ?>><?php echo $image_id; ?>.jpg</option>
          <?php
  }
?>
                        </select>
Avatar billede farhang Nybegynder
05. oktober 2006 - 19:31 #1
Koden er en fejl, hvordan sletter man?
Avatar billede iss Novice
05. oktober 2006 - 19:52 #2
Det gør man desvære ikke... og så få rettet dit SQL password...
Avatar billede farhang Nybegynder
05. oktober 2006 - 20:55 #3
jeg har ændret allerede, æv.
Avatar billede farhang Nybegynder
05. oktober 2006 - 20:56 #4
Kan du hjælpe med mit spørgsmål?
Avatar billede iss Novice
05. oktober 2006 - 21:00 #5
Nu har du mange foreach her i selects, så hvilken en af dem er det du mener, altså hvad den gør og hvad du vil have den til at gøre.
Avatar billede farhang Nybegynder
05. oktober 2006 - 21:31 #6
Jeg har image_id som option og products_thumbnailimageurl som name, Image_id er i images tabel og har samme værdi som products_thumbnailimageurl fra products tabel. Jeg har så en edit-function, som updaterer hele recorden for en products. Problemet opstår, når det sker, products værdien for products_thumbnailimageurl bliver fjernet fra min record selvom jeg ikke vil fjerne eller ændre det.

Eksempel:

<select name="products_thumbnailimageurl" size="1">
          <option value="" selected>Vælg et billede...</option>
                    <option value="61024.jpg">61024.jpg</option>
                    <option value="61044.jpg">61044.jpg</option>
                    <option value="61043.jpg">61043.jpg</option>
                    <option value="61042.jpg">61042.jpg</option>
                    <option value="61041.jpg">61041.jpg</option>
                    <option value="61038.jpg">61038.jpg</option>
                    <option value="61040.jpg">61040.jpg</option>
                    <option value="61035.jpg">61035.jpg</option>
                    <option value="61032.jpg">61032.jpg</option>
                    <option value="61033.jpg">61033.jpg</option>
                    <option value="61034.jpg">61034.jpg</option>
                                  </select>

Kan du forstår det?
Avatar billede iss Novice
05. oktober 2006 - 21:41 #7
Nej... For HVILKEN en af dine foreach er det? Jeg gidder ikke side og læse hele din kode igennem, copy paste lige netop den del ud.
Avatar billede farhang Nybegynder
06. oktober 2006 - 08:43 #8
<select name="products_imageurl" size="1">
          <option value="<?php echo $products_imageurl; ?>" selected>Vælg et billede...</option>
          <?php
  foreach ($images as $image_id => $image_caption) {
    if ($image_id == $products_imageurl) {
      $selected = " selected";
    } else {
      $selected = "";
    }
?>
          <option value="<?php echo $image_id; ?>.jpg"<?php
        echo $selected; ?>><?php echo $image_id; ?>.jpg</option>
Avatar billede farhang Nybegynder
29. november 2006 - 15:19 #9
nå ok
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