09/10/2018, 22:38
Hỏi một chút về Checkbox !
+ Tớ có 10 cái check box , giờ chỉ check 3 cái thôi, vậy khi submit làm sao mình biết được tổng số check là 3 cái ?
+ Tớ có 2 trang , mỗi trang có các items để check , vậy làm sao mình lấy 2 giá trị của 2 cái check box ở 2 trang khác nhau ?
Xin cảm ơn !
+ Tớ có 2 trang , mỗi trang có các items để check , vậy làm sao mình lấy 2 giá trị của 2 cái check box ở 2 trang khác nhau ?
Xin cảm ơn !
Bài liên quan
Hồi mới học php ngồi suy nghỉ cái này mình củng khổ lắm mới viết được hê hê:
Diển đàn không cho attach nên mình chép cái ví dụ về Delete all của mình cho you xem :
tạo file unknown.php
<?php
require ("config.php");
require ("class.php");
$data = new db();
$data->connect();
?>
<style type="text/css">
<!--
.style3 {color: #FFFFFF; font-weight: bold; }
-->
</style>
<script language="javascript">
function checkall()
{
for (i = 0; i < document.myform.checkbox.length; i++)
document.myform.checkbox***91;i***93;.checked = true ;
}
function uncheckall()
{
for (i = 0; i < document.myform.checkbox.length; i++)
document.myform.checkbox***91;i***93;.checked = false ;
}
</script>
<form name="myform" method="post" action="action_delete.html">
<table width="30%" border="1" cellpadding="0" cellspacing="0" bordercolor="#999999" bgcolor="#CCCCCC">
<tr bordercolor="#CCCCCC" bgcolor="#999999">
<td width="22%"><span class="style3"> ID</span></td>
<td width="60%" bgcolor="#999999"><span class="style3"> Name</span></td>
<td width="18%"><span class="style3"> Action</span></td>
</tr>
<?php
$query = $data->query("SELECT * FROM delete_all ORDER BY id DESC");
while($n=$data->fetch_array($query)){
?>
<tr bordercolor="#999999" bgcolor="#CCCCCC">
<td> <a href="<?=$n***91;"id"***93;?>.html"><?=$n***91;"id"***93;?></a></td>
<td> <?=$n***91;"text"***93;?></td>
<td align="center"><input type="checkbox" id="checkbox" name="checkbox_<?=$n***91;"id"***93;?>" value="1"></td>
</tr>
<?
}
?>
</table>
<br>
<input name="CheckAll" type="button" id="CheckAl" value="Check all" onClick="checkall()">
<input name="UnCheckAll" type="button" id="UnCheckAll" value="Uncheck all" onClick="uncheckall()">
<input name="Delete" type="submit" id="Delete" value="Delete">
</form>
<a href="add.html">Add</a>
<FORM METHOD="POST" ACTION="action_add.html">
<INPUT TYPE="add" NAME="text"> <INPUT TYPE="submit" name="submit" value="Add">
</FORM>
<a href="index.html">Index</a>
<?php
require ("config.php");
require ("class.php");
$data = new db();
$data->connect();
if($act=="add"){
$input = "INSERT INTO delete_all (text) VALUES ('$text')";
$query = $data->query($input);
header("Location: add.html");
}
if($act=="delete"){
$query=$data->query("SELECT id FROM delete_all ORDER BY id DESC");
$result=$data->result($query,$row,"id");
for($i=1;$i<=$result;$i++){
$checkbox = $_POST***91;"checkbox_$i"***93;;
if($checkbox==1){
$data->query("DELETE FROM delete_all WHERE id='$i'");
}
}
header("Location: index.html");
}
if($act=="update"){
$query=$data->query("UPDATE delete_all SET text='$text' WHERE id='$id'");
header("Location: index.html");
}
?>
<?php
class db{
var $db_host;
var $db_name;
var $db_user;
var $db_pass;
function db(){
global $data_host,$data_name,$data_user,$data_pass;
$this->db_host=$data_host;
$this->db_name=$data_name;
$this->db_user=$data_user;
$this->db_pass=$data_pass;
}
function connect(){
$connect = @mysql_connect($this->db_host,$this->db_user,$this->db_pass) or die(mysql_error());
$select_db = @mysql_select_db($this->db_name,$connect) or die(mysql_error());
}
function query($input){
$query=@mysql_query($input) or die(mysql_error());
return $query;
}
function fetch_array($query, $type=MYSQL_ASSOC) {
$n = @mysql_fetch_array($query, $type);
return $n;
}
function result($query, $row=0) {
$result = @mysql_result($query, $row);
return $result;
}
}
?>
<?php
$data_host = "localhost";
$data_name = "php5";
$data_user = "chilinhnet";
$data_pass = "chilinh";
?>
<?php
require ("config.php");
require ("class.php");
$data = new db();
$data->connect();
?>
<?php
$query = $data->query("SELECT * FROM delete_all WHERE id='$id'");
$n=$data->fetch_array($query);
?>
<FORM METHOD="POST" ACTION="action_update_<?=$id?>.html">
<INPUT TYPE="add" NAME="text" value="<?=$n***91;"text"***93;?>"> <INPUT TYPE="submit" name="submit" value="Update">
</FORM>
<a href="index.html">Index</a>
Tớ đã làm được cái đó mà code ngắn lắm , chỉ có hơn 10 lines thôi , work okie rồi
Bây giờ thì tớ muốn nghiên cứu cách làm để chọn được 2 cái check box ở 2 trang khác nhau.
Ví dụ mình chọn 1 item ở trang 1 , sau đó sang trang 2, chọn một item khác và khi submit thì sẽ nhận được 2 cái items đó.
Tớ mới code được cái nghe nhạc chọn bài trong music box , mời các bạn vào test thử xem sao http://tungnguyen.info/?cat=Music
Chọn các checked box ở nhiều trang thì chắc là phải lưu session rồi. và củng như trên sau khi cho vòng lặp for chay tới đâu thì một biến session tương ứng với ID checkbox sẽ được đăng ký $checkbox = $_POST["checkbox_$i"];
hình dung vậy thôi nhưng khi code củng mệt á