How do I populate these fields from existing data?

I'm not sure how to make a few parts of my form to populate from data from an array I'm passing from the database.

First is this <select> object. The key estimate_lead_id in the database holds the value, and I want the dropdown to auto-select based on the value from the database.

<select name="estimate_lead_id">
    <? foreach($leads->result() as $lead) { ?>
        <option value="<?=$lead->id?>"><?=$lead->lead_name?></option>
    <? } ?>
</select>

EDIT: I'll break the second part into another question.

Answers


The selected option(s) will have the attribute selected="selected", so do a check during your loop and conditionally add this attribute:

<select name="estimate_lead_id">
    <? foreach($leads->result() as $lead) { ?>
        <option value="<?=$lead->id?>" <?php echo $estimate_lead_id == $lead->id ? 'selected="selected"' : ''; ?>><?=$lead->lead_name?></option>
    <? } ?>
</select>

I could use some clarification on the second part. What defines whether or not an item is in the estimate?


For the first question, you need to use the selected attribute in the option tag.

<select name="estimate_lead_id">
    <? foreach($leads->result() as $lead) {
        echo '<option value="'.$lead->id.'"';
        if ($lead->selected)
            echo ' selected="selected"';
        echo '>'.$lead->lead_name.'</option>\n';
    } ?>
</select>

For the second, it does need some more clarification, but I suspect the answer would involve and if clause that used in_array to check if the current field is in the array of field in the estimate. You would then only print the html data when the clause is true.


Need Your Help

Jade and NodeJs, any good tutorials?

node.js pug

I have started working with NodeJs. First, I was just using it for providing simple REST api which has access to NOSQL databases. Now I also want to build html pages and use NodeJS to serve static ...