10/10/2018, 10:54

[Help me] Trạng thái của combobox!

Ví dụ mình có bảng post(post_id,post_title). Mình đang đứng ở bài viết có id=2

Trong baiviet.php?id=2 đó có 1 cái combobox show ra toàn bộ các tiêu đê bài viết sắp xếp A->Z

PHP Code:
<SELECT onchange="javascript:if (this.value){window.location='<? echo $siteUrl;?>'+this.value+';}"> 

<?
$siteUrl = "http://example.com/";
$result=mysql_query("SELECT * FROM ".$pre_fix."post") or die (mysql_error());

while ($r = mysql_fetch_array($result)){?>
<option value="baiviet.php?id=<? echo $r***91;"post_id"***93;;?>"><? echo $r***91;"post_title"***93;?></option><?}?>

</select>
Giờ mình muốn hỏi, làm sao để hiển thị cái giá trị trong combobox đó theo id mình đang xem.

Ví dụ mình đnag xem bài viết có id 2 thì trong combobox sẽ hiển cái tiêu đề id=2 đó

P/S: ***91 là dấu [ và ***93 là dấu ] ko hiểu sao đưa lên đây lại biến ra vậy?

Thấy có bạn dùng selected
1024KB viết 13:01 ngày 10/10/2018
Chài . Cho trong thẻ [code] thì nó sẽ ko bị thế nữa. Chỉ là nhìn nó ko đẹp thôi.
Code:
while($r = mysql_fetch_array($sql)){
    $cur_id = $_GET['id'];
    $selected = ($cur_id = $r['post_id']) ? 'selected="seletec"' : '';
    echo '<option value="baiviet.php?id='.$r['post_id'].'" '.$selected.'>'.$r['post_title'].'</option>';
}
Chắc là nó như thế đấy.
Thế Giới Phẳng viết 12:56 ngày 10/10/2018
Được gửi bởi 1024KB
Chài . Cho trong thẻ [code] thì nó sẽ ko bị thế nữa. Chỉ là nhìn nó ko đẹp thôi.
Code:
while($r = mysql_fetch_array($sql)){
    $cur_id = $_GET['id'];
    $selected = ($cur_id = $r['post_id']) ? 'selected="seletec"' : '';
    echo '<option value="baiviet.php?id='.$r['post_id'].'" '.$selected.'>'.$r['post_title'].'</option>';
}
Chắc là nó như thế đấy.
Thế nó ko thay đổi value theo id mình chưa chọn đc ạ?

Ví dụ mình đang đứng id=2 tên bài hát "Yêu là đâu" khi mình vào baiviet.php?id=2 thì ở chỗ combo nó hiển value "Yêu là đau" lun đó ạ,
1024KB viết 13:01 ngày 10/10/2018
Đã thử code chưa? :-?. Sửa lại chỗ này:
Code:
$selected = ($cur_id = $r['post_id']) ? 'selected = "selected"' : '';
Lúc trước gõ thiếu chữ.
Thế Giới Phẳng viết 12:57 ngày 10/10/2018
Được gửi bởi 1024KB
Đã thử code chưa? :-?. Sửa lại chỗ này:
Code:
$selected = ($cur_id = $r['post_id']) ? 'selected = "selected"' : '';
Lúc trước gõ thiếu chữ.
Ko được, em thấy bác gõ thiếu nên đã thêm vào rồi nhưng mà lúc vào nó hiện cái tên bài hát (id=1) sang id=100 thì cái value vẫn về id=1 chứ ko phải id=100...

Còn chọn thì nó cũng trở về id=1 lun!

Bác xem dùm em với!
1024KB viết 13:06 ngày 10/10/2018
Check lại coi. DB tương tự db manga như bài hôm qua
Code:
<!DOCTYPE HTML>
<html lang="ru-RU">
<head>
	<meta charset="UTF-8">
	<title>Combobox</title>
</head>
<body>
	<SELECT onchange="javascript:if (this.value){window.location='http://localhost/test/'+this.value;}"> 

	<?php
	include 'dbconn.php';
	$sql = "SELECT * FROM manga";
	$results = fetch_all_array($sql);
	
	$id = isset($_GET['id']) ? $_GET['id'] : 1;
	
	foreach($results as $result) {
		$selected = ($id == $result['id']) ? 'selected="selected"' : '';
		echo '<option value="combox.php?id='.$result['id'].'" '.$selected.'>'.$result['name'].'</option>';
	}//end foreach
	?>
	
	</select>
</body>
</html>
Thêm nữa: như code của TGP thì biến $siteUrl phải ở trên cùng, bởi vì khi echo $siteUrl thì $siteUrl chưa được khai báo.
Thế Giới Phẳng viết 13:05 ngày 10/10/2018
Được gửi bởi 1024KB
Check lại coi. DB tương tự db manga như bài hôm qua
Code:
<!DOCTYPE HTML>
<html lang="ru-RU">
<head>
	<meta charset="UTF-8">
	<title>Combobox</title>
</head>
<body>
	<SELECT onchange="javascript:if (this.value){window.location='http://localhost/test/'+this.value;}"> 

	<?php
	include 'dbconn.php';
	$sql = "SELECT * FROM manga";
	$results = fetch_all_array($sql);
	
	$id = isset($_GET['id']) ? $_GET['id'] : 1;
	
	foreach($results as $result) {
		$selected = ($id == $result['id']) ? 'selected="selected"' : '';
		echo '<option value="combox.php?id='.$result['id'].'" '.$selected.'>'.$result['name'].'</option>';
	}//end foreach
	?>
	
	</select>
</body>
</html>
Thêm nữa: như code của TGP thì biến $siteUrl phải ở trên cùng, bởi vì khi echo $siteUrl thì $siteUrl chưa được khai báo.
Cám ơn bác đã nhiệt tình giúp đỡ...Hiếm có, hiếm có :x
Bài liên quan
0