Witam.
Chcę wyświetlić uprzednio wybrane i zapisane w bazie dane, ale z możliwością ich ponownej edycji/wyboru z listy/.
Mam funkcję jn:
<?php
function klienci()
{
$wynik='<option value=""></option>';
$query="SELECT id, klient_id, status FROM klienci WHERE status='PROD'";
$result=mysqli_query($connect, $query);
if($result)
{
while($dat=mysqli_fetch_assoc($result))
$wynik.='<option value="'.$dat['klient_id'].'">'.$dat['klient_id'].'</option>';
}
return $wynik;
}
// wyświetlam listę
<form method="POST" action="">
...
<input id="wybrany" type="hidden" value="'.$row['klient'].'"><select name="klient" size="1">'.klienci().'</select>
...
</form>
?>
I dzięki poniższemu skryptowi na liście wyświetla się zapisany w bazie klient, czyli wszystko jest ok.
<script>
$( document ).ready(function() {
$('option').each(function(){
if (this.value == $('#wybrany').val()){
this.setAttribute('selected', 'selected');
}
});
});
</script>
Ale problem pojawia się jak chciałbym zrobić to samo kilka razy, np: dodając analogiczne funkcje klienci_2() , klienci_3()
(plus powielone skrypty #wybrany2 i #wybrany3 ) i potem:
<input id="wybrany" type="hidden" value="'.$row['klient'].'"><select name="klient" size="1">'.klienci().'</select>
<input id="wybrany2" type="hidden" value="'.$row['klient2'].'"><select name="klient2" size="1">'.klienci_2().'</select>
<input id="wybrany3" type="hidden" value="'.$row['klient3'].'"><select name="klient3" size="1">'.klienci_3().'</select>
Tak utworzone listy wyświetlają "losowo" zapisane w bazie dane po każdym odświeżeniu.
Gdzie tkwi błąd?