Problem z funkcją / option selected

Problem z funkcją / option selected
M6
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 3 lata
  • Postów:27
0

Witam
Pobieram dane klienta ($nadawca) za pomocą GET i potem chciałbym żeby ten klient był w poniższej funkcji widoczny jako "wybrany" (selected).
Wiem, że jeżeli w funkcji deklaruję $wybrany jako NULL to ten wybór się traci, ale jak w takim razie ten kod przerobić żeby zadziałał?

Kopiuj
<?php
$nadawca = $_GET['nadawca'];


function nadawca_nazwa($wybrany = NULL)
{
global $connect;
$wynik='<option value=""></option>';
$query="SELECT id, klient_id FROM klienci";
$result=mysqli_query($connect, $query);

if($result)
{
while($dat=mysqli_fetch_assoc($result))
$wynik.='<option value="'.$dat['id'].'"'.(($dat['klient_id']==$wybrany)?' selected':'').'>'.$dat['klient_id'].'</option>';
}
return $wynik;
}
?>
PD
  • Rejestracja:ponad 10 lat
  • Ostatnio:16 dni
  • Postów:178
0

zmień klient_id na id.

Kopiuj
(($dat['id']==$wybrany)?' selected':'')

Nie pomagam naPW.!.
edytowany 1x, ostatnio: PiDev
M6
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 3 lata
  • Postów:27
0

Tak też nie działa. Problem jest chyba w tym, że w funkcji nie ma nigdzie $nadawca.

PD
  • Rejestracja:ponad 10 lat
  • Ostatnio:16 dni
  • Postów:178
1

Co zawiera zmienna $nadawca ? Sam to pisałeś czy gotowiec ?
Gdzie i jak wywołujesz funkcję nadawca_nazwa ?


Nie pomagam naPW.!.
M6
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 3 lata
  • Postów:27
0

Zmienna $nadawca zawiera 'klient_id' , a funkcję wywołuję tak:

Kopiuj
<select name="nadawca" size="1">'.nadawca_nazwa().'</select> 
edytowany 1x, ostatnio: maza66
PD
  • Rejestracja:ponad 10 lat
  • Ostatnio:16 dni
  • Postów:178
0

Sprawdź kod:

Kopiuj
<?php
$nadawca = $_GET['nadawca'];

function nadawca_nazwa($wybrany = NULL)
{
global $connect;
$wynik='<option value=""></option>';
$query="SELECT id, klient_id FROM klienci";
$result=mysqli_query($connect, $query);

if($result)
{
while($dat=mysqli_fetch_assoc($result))
$wynik.='<option value="'.$dat['id'].'"'.(($dat['id']==$wybrany)?' selected':'').'>'.$dat['klient_id'].'</option>';
}
return $wynik;
}
?>
Kopiuj
<select name="nadawca" size="1">'.nadawca_nazwa($_GET['nadawca']).'</select> 

Nie pomagam naPW.!.
M6
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 3 lata
  • Postów:27
0

Bardzo dziękuję. Działa, tylko zamiast id wstawiłem klient_id.

Kopiuj
<option value="'.$dat['klient_id'].'"'.(($dat['klient_id']==$wybrany)?' selected':'').'>'.$dat['klient_id'].'</option>

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.