Look at picture above. "2" is an id of "fsdfs". I need the id to process it in backend. But in frontend, i don’t want to show the id in that select option. Is there any way to make it real?
Here’s my currect code:
<div class="col-xl-6 col-md-6 col-12 mb-1">
<div class="form-group">
<label for="supplier_id">Supplier</label>
<select class="form-control" name="supplier_id">
<?php
$sql = mysqli_query($con, "SELECT * FROM supplier ORDER BY id ASC");
while($supplier = mysqli_fetch_array($sql)){
?>
<option value="<?php echo $supplier['id'].' - '.$supplier['name']; ?>"><?php echo $supplier['id'].' - '.$supplier['name']; ?></option>
<?php } ?>
</select>
</div>
</div>
>Solution :
Use $supplier['id'] as value (which will be sent when submitting the form) and $supplier['name'] as the text content of your <option>:
<div class="col-xl-6 col-md-6 col-12 mb-1">
<div class="form-group">
<label for="supplier_id">Supplier</label>
<select class="form-control" name="supplier_id" id="supplier_id">
<?php
$sql = mysqli_query($con, "SELECT * FROM supplier ORDER BY id ASC");
while($supplier = mysqli_fetch_array($sql)){
?>
<option value="<?php echo $supplier['id']; ?>"><?php echo $supplier['name']; ?></option>
<?php } ?>
</select>
</div>
</div>
More on <option>: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option
Sidenote: the for attribute of a <label> element should point to the id attribute of the related <input>. I added id="supplier_id" to your <select> to make it valid.
