Изкарване на категорията с <select>

Genius_m

Registered
Здравейте.Някой би ли ми казал как като тръгна да редактирам информация категорията която е сайта ми да се селектрира категорията му.. Във базата данни в полето за кетогирия се запазва ид-то на категорията. Изваждам ги със следния код:
PHP:
<tr><td>Категория:</td> <td><select name="cat">
<?
$r = mysql_query("SELECT * FROM cat"); 
while($rgw = mysql_fetch_array($r)){
$cat .= "<option value=\"$rgw[id]\">$rgw[value]</option>"; 
} 
echo $cat;  
?>
</select></td></tr>
Как да се селектрира категорията с ид 14? :)
 
с jQuery:
[js]
<script type="text/javascript">
function jSelectOptionByText()
{
$('#s option:contains(14)').attr('selected', true);
}
</script>
<select name="cat" id="s">
//php kod//
</select>
[/js]
 
ммм нестава... :? Пак се подреждат по ид... и категорията с ид 1 е селетрирана...
 
Genius_m каза:
ммм нестава... :? Пак се подреждат по ид... и категорията с ид 1 е селетрирана...
Включил ли си библиотеката?
 
[js]<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#s option:contains(14)').attr('selected', true);
});
</script>[/js]
 
PHP:
$cat_id = 12;// id na katetogiq ot zapisa.

<tr><td>Категория:</td> <td><select name="cat">
<?
$r = mysql_query("SELECT * FROM cat"); 
while($rgw = mysql_fetch_array($r)){
$cat .= "<option ".($rgw[id] == $cat_id ? 'selected="selected"' : '')." value=\"$rgw[id]\">$rgw[value]</option>"; 
} 
echo $cat;  
?>
</select></td></tr>
 
пробвай така ако правилно съм разбрал


PHP:
<tr><td>Категория:</td> <td><select name="cat">
<?
$r2 = mysql_query("SELECT * FROM cat WHERE id=$zelanotoid"); 
while($rgw2 = mysql_fetch_array($r2)){
$cat .= "<option value=\"$rgw2[id]\">$rgw2[value]</option>"; 
} 

$r = mysql_query("SELECT * FROM cat"); 
while($rgw = mysql_fetch_array($r)){
$cat .= "<option value=\"$rgw[id]\">$rgw[value]</option>"; 
} 
echo $cat;  
?>
</select></td></tr>
 
Хюстъннн къде 2 проверки къде Jquery за тая работа бе

PHP:
$thecat = $row['cat'];//ид-то на категорията на редактирвания запис

<tr><td>Категория:</td> <td><select name="cat">
<?
$r = mysql_query("SELECT * FROM cat"); 
while($rgw = mysql_fetch_array($r)){
if($rgw['id']==$thecat) {$sel="select";}//ако изведено id на cat е равно на id-то на cat от редактирвания запис $sel приема ст-ст select
$cat .= "<option value=\"$rgw[id]\" $sel>$rgw[value]</option>"; 
} 
echo $cat;  
?>
</select></td></tr>

ето така се селектирва ;P не ти трябват 2 или повече заявки за тая работа ;)
 
@IzKuFeLiQqQqQ ако 2-ри запис е селектиран, и след него имаш още записи, то и те ще са селектирани, защото задаваш стоиност на $sel която не изчистваш. В дадения случай, то този $sel ще важи за целия луп след наследяване.
 

Back
Горе