Ashley Sheridan wrote: > On Tue, 2009-06-16 at 18:19 -0400, PJ wrote: > >> Ashley Sheridan wrote: >> >>> On Tue, 2009-06-16 at 15:48 -0400, PJ wrote: >>> >>> >>>> jenai tomaka wrote: >>>> >>>> >>>>> You can try like this, >>>>> >>>>> $row = stored data; >>>>> >>>>> and write the options like this >>>>> <option value="id" (id == $row ? "selected" : "") >xxxx</option> >>>>> >>>>> >>>>> Yuri Yarlei. >>>>> >>>>> <http://brasil.microsoft.com.br/IE8/mergulhe/?utm_source=MSN%3BHotmail&utm_medium=Tagline&utm_campaign=IE8> >>>>> >>>>> >>>> Yuri, I'm still "wet behind the ears" on this so I don't quite >>>> understand what you mean by "stored data" ; and what does the "id" >>>> (id==$row?"selected":"") mean? >>>> I get the idea that this might be translated into something in the code >>>> I have dreamed up - further down. >>>> >>>> echo "<option value=", $row['id'], ">", $row['category'], "</option><br />"; >>>> I suppose that I must add an if clause to insert the selected option for >>>> the categories that are relevant... >>>> >>>> >>>> Gentlemen, >>>> I have been diligently studying all this and have just returned my >>>> attention to the list, so I've read the replies/inputs and now comment: >>>> >>>> BTW, I had some problems with the multiple statement - it does not take >>>> any parameters; it must simply be stated multiple without quotes. >>>> >>>> Now, I was happy to learn that it is simpler to populate the insert new >>>> books page dynamically from the db. Much shorter & neater. >>>> It looks to me like the best solution for the edit page is close to what >>>> Yuri suggests. >>>> Since the edit page is very similar to the insert new books page, I >>>> merely need to populate the Select options box slightly differently. >>>> This is the code to populate the insert page: >>>> <select name="categoriesIN[]" multiple size="8"> >>>> <?php >>>> $sql = "SELECT * FROM categories"; >>>> if ( ( $results = mysql_query($sql, $db) ) !== false ) { >>>> while ( $row = mysql_fetch_assoc($results) ) { >>>> echo "<option value=", $row['id'], ">", $row['category'], >>>> "</option><br />"; >>>> } >>>> } >>>> ?> >>>> </select> >>>> >>>> The problem nowis to find a way to add a conditional clause above that >>>> will insert the option="selected" in the output. >>>> The input for this comes from: >>>> // do categories >>>> $sql = "SELECT id, category FROM categories, book_categories >>>> WHERE book_categories.bookID = $idIN && >>>> book_categories.categories_id = categories.id";; >>>> if ( ( $results = mysql_query($sql, $db) ) !== false ) { >>>> while ( $row = mysql_fetch_assoc($results) ) { >>>> echo$row['id'], "<br />"; >>>> } >>>> } >>>> >>>> This may return any number of category ids so the problem is to figure >>>> out a way to pass the ids from the above code to the right ids in the >>>> first code above. >>>> How & what do I search to match the two ids? >>>> >>>> -- >>>> Hervé Kempf: "Pour sauver la planète, sortez du capitalisme." >>>> ------------------------------------------------------------- >>>> Phil Jourdan --- pj@xxxxxxxxxxxxx >>>> http://www.ptahhotep.com >>>> http://www.chiccantine.com/andypantry.php >>>> >>>> >>>> >>>> >>> <option value="id" (id == $row ? "selected" : "") >xxxx</option> is >>> pretty bad HTML, as attributes should always have a value. Personally, I >>> do something like this as it tends not to confuse the code too much >>> >>> $selected = ($id == $row)?'selected="selected"':''; >>> print "<option value=\"$id\" $selected >xxxx</option>"; >>> >>> >> I was unable to get any of the suggestions to work, except in_array(). >> However, the selected item refuses to become highlighted. >> code: >> <select name="categoriesIN[]" multiple size="8"> >> <?php >> $sql = "SELECT * FROM categories"; >> //$selected = ($id == $row)?'selected="selected"':''; >> if ( ( $results = mysql_query($sql, $db) ) !== false ) { >> while ( $row = mysql_fetch_assoc($results) ) { >> if (in_array($row['id'], $ccc)) { >> echo "<option value=", $row['id'], " selected >", >> $row['category'], "</option><br />"; >> } >> else echo "<option value=", $row['id'], ">", >> $row['category'], "</option><br />"; >> } >> } >> ?> >> </select> >> I can't find anything that explains why the selected item is not >> highlighted. >> >> -- >> Hervé Kempf: "Pour sauver la planète, sortez du capitalisme." >> ------------------------------------------------------------- >> Phil Jourdan --- pj@xxxxxxxxxxxxx >> http://www.ptahhotep.com >> http://www.chiccantine.com/andypantry.php >> >> > Have you actually looked at the html this produces to see if any of the > elements are being marked with the selected="selected" attribute? > > Thanks > Ash > www.ashleysheridan.co.uk > I just cannot find a way to pass the selected fields to the options script. Even if I add the selected to all the fields, they show up in the source code but the fields are still not highlighted. There has to be a way to get this right??? :'( -- Hervé Kempf: "Pour sauver la planète, sortez du capitalisme." ------------------------------------------------------------- Phil Jourdan --- pj@xxxxxxxxxxxxx http://www.ptahhotep.com http://www.chiccantine.com/andypantry.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php