Avatar billede kgp43 Nybegynder
30. november 2003 - 19:44 Der er 22 kommentarer og
1 løsning

Auto select

Hejsa,

Jeg har denne form, der bruges til redegering af en vare.
Producenten vælges med en dropdown menu. Jeg vil gerne have at det nuværende brand (producent) bliver markeret (selected) med det samme.

Dette er min form:

<form action="reels_edit_ok.php?id=<? echo $row[id];?>" method="post">
  <table width="100%" border="0" cellspacing="0" cellpadding="0" class="leftrightspan">
    <tr>
      <td bgcolor="#80BFFF" cbgcolor="#B3D9FF"><strong><font color="#333333" size="2" face="Verdana, Arial, Helvetica, sans-serif">Edit
        product: <? echo $row[brand];?>, <? echo $row[model];?></font></strong></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
    </tr>
  </table>
  <table width="100%" border="0" cellspacing="0" cellpadding="0" class="leftrightspan">
    <tr>
      <td width="155">Brand:</td>
      <td width="1136" colspan="2"><select name="brand">
        <?
        $query = mysql_query("SELECT * FROM brand ORDER BY brand");
        while($row = mysql_fetch_array($query))
        {
        ?>
          <option value="<? echo $row[brand];?>"><? echo $row[brand];?></option>
        <?
        }
        ?>
        </select></td>
<?
        $query = mysql_query("SELECT * FROM reels WHERE id='$id' ");
while($row = mysql_fetch_array($query)) {

?>
    </tr>
    <tr>
      <td width="155">Model:</td>
      <td colspan="2"> <input type="text" name="brand_link" value="<? echo $row[model]?>"></td>
    </tr>
        <tr>
      <td width="155">Modelcode/number::</td>
      <td colspan="2"> <input type="text" name="brand_link" value="<? echo $row[model_nr]?>"></td>
    </tr>
        <tr>
      <td width="155">Model link:</td>
      <td colspan="2"> <input type="text" name="brand_link" value="<? echo $row[model_link]?>"></td>
    </tr>
        <tr>
      <td width="155">Category:</td>
      <td colspan="2"> <input type="text" name="brand_link" value="<? echo $row[cat]?>"></td>
    </tr>
        <tr>
      <td width="155">Gear:</td>
      <td colspan="2"> <input type="text" name="brand_link" value="<? echo $row[gear]?>"></td>
    </tr>
        <tr>
      <td width="155">Bearings:</td>
      <td colspan="2"> <input type="text" name="brand_link" value="<? echo $row[bearings]?>"></td>
    </tr>
        <tr>
      <td width="155">Weight:</td>
      <td colspan="2"> <input type="text" name="brand_link" value="<? echo $row[weight]?>"></td>
    </tr>
        <tr>
      <td width="155"><p>Line cap.:</p>
        </td>
      <td colspan="2"> <input type="text" name="brand_link" value="<? echo $row[line]?>"></td>
    </tr>
        <tr>
      <td width="155">Warranty:</td>
      <td colspan="2"> <input type="text" name="brand_link" value="<? echo $row[warranty]?>"></td>
    </tr>
        <tr>
      <td width="155">Added by:</td>
      <td colspan="2"> <input type="text" name="brand_link" value="<? echo $row[added_by]?>"></td>
    </tr>
    <tr>
      <td width="155">Status:</td>
      <td colspan="2">
        <select name="activated">
          <option value="1" <? if ($row['activated']==1) { echo "selected='selected'" ;} ?> >Active</option>
          <option value="0" <? if ($row['activated']==0) { echo "selected='selected'" ;} ?> >Inactive</option>
        </select>
      </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="2"><input name="submit" type="submit" value="Submit">
        <input name="reset" type="reset" value="Reset">
        | <a href="reels_delete.php?id=<? echo $row[id];?>"><font color="#000000">Delete
        Brand</font></a></td>
    </tr>
    </table>
  </form>
  <?
  }
  ?>
Avatar billede kgp43 Nybegynder
30. november 2003 - 19:46 #1
Dropdown menuen starter ved linie 20:

      <td width="1136" colspan="2"><select name="brand">
        <?
        $query = mysql_query("SELECT * FROM brand ORDER BY brand");
        while($row = mysql_fetch_array($query))
        {
        ?>
          <option value="<? echo $row[brand];?>"><? echo $row[brand];?></option>
        <?
        }
        ?>
        </select></td>
Avatar billede detox Nybegynder
30. november 2003 - 19:51 #2
<td width="1136" colspan="2"><select name="brand">
        <?
        $query = mysql_query("SELECT * FROM brand ORDER BY brand");
        while($row = mysql_fetch_array($query))
        {
        ?>
          <option <? if ($nuværende_brand == $row['brand']) { echo "selected='selected' "; } ?>value="<? echo $row[brand];?>"><? echo $row[brand];?></option>
        <?
        }
        ?>
        </select></td>
Avatar billede detox Nybegynder
30. november 2003 - 19:52 #3
Hvad din nuværende 'brand' så end er.
Avatar billede kgp43 Nybegynder
30. november 2003 - 20:00 #4
Jeg finder mit niværende brand ved at lave en query på $id, lige efter formen.
Hvordan får jeg denne med i min dropdown, uden at "ødelægge" den første søgning?
Avatar billede detox Nybegynder
30. november 2003 - 20:04 #5
Hvis du kender $id, kunne du vel sammenligne på den:

while($row = mysql_fetch_array($query))
        {
        ?>
          <option <? if ($id == $row['id']) { echo "selected='selected' "; } ?>value="<? echo $row[brand];?>"><? echo $row[brand];?></option>
        <?
        }
Avatar billede kgp43 Nybegynder
30. november 2003 - 20:06 #6
Dette er query sætningen for at finde mit nuværende 'brand':

$query = mysql_query("SELECT * FROM reels WHERE id='$id' ");
Avatar billede Slettet bruger
30. november 2003 - 20:06 #7
Du er nødt til at finde den inden formen. Du kan sagtens have meren en en query aktiv af gangen. Bare brug forskellige navne til dem.

Lav f.eks. den anden med $query2 og $row2
Avatar billede Slettet bruger
30. november 2003 - 20:08 #8
Argh, hvorfor kan man ikke rette indlæg, når man opdager tåbelige tastefejl. Der skulle selvfølgelig have stået "mere end en query"
Avatar billede kgp43 Nybegynder
30. november 2003 - 20:08 #9
Problemet ligger i at jeg skal sætte en forespørgsen ind i en anden, det er her jeg er kørt fast.

<td width="1136" colspan="2"><select name="brand">
        <?
        $query = mysql_query("SELECT * FROM brand ORDER BY brand");
        while($row = mysql_fetch_array($query))
        {
        ?>
          <option <? if ($nuværende_brand == $row['brand']) { echo "selected='selected' "; } ?>value="<? echo $row[brand];?>"><? echo $row[brand];?></option>
        <?
        }
        ?>
        </select></td>


For at finde $nuværende_brand, er jeg nød til at lave en ny forespørgsel, men hvad så med resten af den "forrige"?
Avatar billede kgp43 Nybegynder
30. november 2003 - 20:09 #10
Sandbox: Ohhh, den vil jeg lige prøve :)
Avatar billede detox Nybegynder
30. november 2003 - 20:10 #11
Ja, så må du nok flytte den anden forespørgsel op foran din form. Jeg troede $id henviste til id i din tabel 'brand'.
Avatar billede kgp43 Nybegynder
30. november 2003 - 20:12 #12
Detox: Det kan jeg ikke, da id'erne er forskellige (de er i hver deres tabel)
Avatar billede detox Nybegynder
30. november 2003 - 20:14 #13
Ja, det forstår jeg nu, men du må jo finde den nuværende brand inden du kan sammenligne den. ;o)
Avatar billede kgp43 Nybegynder
30. november 2003 - 20:19 #14
Dette er min nuværende menu, men den vælger ikke det aktuelle 'brand'.

<select name="brand">
        <?
        $brandnow = mysql_query("SELECT brand FROM reels WHERE id='$id' ");
       
        $query = mysql_query("SELECT * FROM brand ORDER BY brand");
        while($row = mysql_fetch_array($query))
        {
        ?>
          <option <? if ($brandnow == $row['brand']) { echo "selected='selected' "; } ?>value="<? echo $row[brand];?>"><? echo $row[brand];?></option>
        <?
        }
        ?>
        </select>
Avatar billede detox Nybegynder
30. november 2003 - 20:20 #15
$brandnow = mysql_result(mysql_query("SELECT brand FROM reels WHERE id='$id' "),0);
Avatar billede Slettet bruger
30. november 2003 - 20:23 #16
Husk: Det er ikke nok at spørge MySQL om noget. Du skal også lytte efter svaret. ;-)
Avatar billede kgp43 Nybegynder
30. november 2003 - 20:24 #17
Hvad betyder dette: ,0);  ?
Avatar billede kgp43 Nybegynder
30. november 2003 - 20:25 #18
Den virker :)
Takker for endnu et svar fra dig :)

Lav lige et svar
Avatar billede detox Nybegynder
30. november 2003 - 20:26 #19
Det betyder: rækkenr.
Avatar billede kgp43 Nybegynder
30. november 2003 - 20:26 #20
Vil dog gerne have star på mit sidste spørgsmål ;-)
Avatar billede detox Nybegynder
30. november 2003 - 20:27 #21
Som sagt: rækkenr, startende med 0 som den første (og i dette tilfælde eneste) række
Avatar billede kgp43 Nybegynder
30. november 2003 - 20:28 #22
takker :)
Avatar billede detox Nybegynder
30. november 2003 - 20:28 #23
og velbekommen c",)
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