Setare <option> selected in php

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
sterica
Mesaje:285

Setare <option> selected in php

Salutare,

Cod: Selectaţi tot

......
$result = $conn->query($sql);

// daca $result contine cel putin un rand
if ($result->num_rows > 0) {
	if ($row["ID"]=67) {
		$selected_rep = 'selected="selected"';
	} else {
		$selected_rep = 'selected=""';
	}
	// afiseaza datele din fiecare rand din $result
	while($row = $result->fetch_assoc()) {
			echo "<option $selected_rep value=". $row["ID"].">" . $row["NUME"]. " " . $row["PRENUME"]. "</option>\n";
		}
}
		 else {
			echo "0 results";
	}
// Se inchide conexiunea
$conn->close();
Cum pot face ca atunci cand $row["ID] = 67 sa imi selecteze <option> respectiv?
Cum am scris codul mai sus, imi sunt selectate toate randurile.
Multumesc

MarPlo Mesaje:4343
Salut
Incearca asa; in loc de acest cod:

Cod: Selectaţi tot

if ($row["ID"]==67) {
  $selected_rep = 'selected="selected"';
} else {
  $selected_rep = 'selected=""';
}
Pune asa:

Cod: Selectaţi tot

$selected_rep = ($row['ID']==67) ? 'selected="selected"' :'';

sterica Mesaje:285
In select este selectata ultima valoare, nu afiseaza valoarea setata.

MarPlo Mesaje:4343
Poate fiindca nu e valid codul html rezultat. De exemplu, nu sunt puse ghilimele la valoarea de la atributul "value".
Incearca asa:

Cod: Selectaţi tot

echo "<option $selected_rep value='". $row["ID"]."'>" . $row["NUME"]. ' '. $row["PRENUME"]. "</option>\n";
In rest, verifica codul html din sursa paginii (Ctrl+U) si vezi daca e corect; indicat e sa fie valid html (se poate verifica la: W3C Markup Validation Service).

sterica Mesaje:285
pana la urma am reusit, aveam un singur egal (=) in conditie ($row['ID']=67). Multumesc mult de ajutor

Subiecte similare