• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
checkbox ای که checkall می کنه
#1
با سلام و عرض ادب خدمت شما
من میخوام یک چک باکس بالای جدول php ایم درست کنم که با کلیک بر روی اون چک باکس های همه ی سطر ها چک بشه و بلعکس:
کدی که نوشتم اینه:
کد:
<?php
echo"<style>
.highlighted { background: magenta; }
span + span .highlighted { background: magenta; }
form.filter + table { border: solid thin #aaa; }
form.filter + table th { margin: 2px; padding: 5px; border: solid thin #bbb; }
form.filter + table td { margin: 2px; padding: 5px; border: solid thin #ccc; }
</style>";

// Connect to the database
$dbLink = new mysqli('localhost', 'root', '', 'myfiles');
if(mysqli_connect_errno()) {
    die("MySQL connection failed: ". mysqli_connect_error());
}

// Query for a list of all existing files
$sql = 'SELECT `id`, `name`, `mime`, `size`, `date`, `created`, `firstname`,  `lastname` ,  `stnumber` , `Email` FROM `file`';
$result = $dbLink->query($sql);

// Check if it was successfull
if($result) {
    // Make sure there are some files in there
    if($result->num_rows == 0) {
        echo '<p>There are no files in the database</p>';
    }
    else {

        // Print the top of a table

        echo '
                <form method="post" action="delete2.php" >
                <table border="1" cellpadding="0" cellspacing="0" width="70%" class="filterable">
                <tr>
                    <th><b><input name="checkall" type="checkbox" onclick="check()"/></b></th>
                    <th><b>ID</b></th>
                    <th><b>Name</b></th>
                    <th><b>Size (bytes)</b></th>
                    <th><b>Created date</b></th>
                    <th><b>Uploded Time</b></th>
                    <th><b>First Name</b></th>
                    <th><b>Last Name</b></th>
                    <th><b>Student Number</b></th>
                    <th><b>Email</b></th>
                    <th><b>&nbsp;</b></th>
                    <th><b>Edit</b></th>
                    <th><b>&nbsp</b></th>
                </tr>';

        // Print each file
        while($row = $result->fetch_assoc()) {
            echo "
                <tr>
                    <td><input name='selector[]' type='checkbox' id='myCheck' value='{$row["id"]}'</td>
                    <td>{$row['id']}</td>
                    <td>{$row['name']}</td>
                    <td>{$row['size']}</td>
                    <td>{$row['date']}</td>
                    <td>{$row['created']}</td>
                    <td>{$row['firstname']}</td>
                    <td>{$row['lastname']}</td>
                    <td>{$row['stnumber']}</td>
                    <td>{$row['Email']}</td>
                    <td><a href='get_file.php?id={$row['id']}'>Download</a></td>
                    <td><a href='edit.php?id=" . $row['id'] . "'>Edit</a></td>
                    <td><a href='delete.php?id=" . $row['id'] . "'>Delete</a></td>
                </tr>";
        }

        // Close table
        echo '</table>
<br>
<input type="submit" class="btn btn-danger" value="Delete" name="delete">

</form>';
    }

    // Free the result
    $result->free();
}
else
{
    echo 'Error! SQL query failed:';
    echo "<pre>{$dbLink->error}</pre>";
}

// Close the mysql connection
$dbLink->close();
echo'<script type="text/javascript" src="filter.js"></script>';
?>

</br>
<head>
<title>Multiple Upload</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
  <form action="upload5-1.php" method="post" enctype="multipart/form-data">
        <p><input type="file" name="file[]" id="fileField" multiple="multiple"></p>
        <p><button type="submit" name="submit">آپلود فایل ها</button></p>
  </form>

<button onclick="check()">Check Checkbox</button>
<button onclick="uncheck()">Uncheck Checkbox</button>
<script>
function check() {
    document.getElementById("myCheck").checked = true;
}

function uncheck() {
    document.getElementById("myCheck").checked = false;
}
</script>

</body>
</html>

[عکس: 82354169860986671872.gif]

این فقط سطر اول رو چک میکنه !
چی کار باید بکنم
من مبتدی هستم لطفا تا حد امکان مشروح و کامل توضیح بدین
ممنون
  پاسخ
تشکر شده توسط :
#2
لینک: http://www.plus2net.com/javascript_tutor...eckall.php
دمو: http://www.plus2net.com/javascript_tutor...l-demo.php
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط : mohammad ali
#3
ممنون که پاسخ دادین
ولی در اون مثالی که شما لینکش رو گذاشتین تمام سطر ها از قبل مشخصه !
در کد من سطر ها از دیتا بیس خونده میشه و وارد جدول میشن، بنابراین اون مثال برای کد من کارساز نیست !
  پاسخ
تشکر شده توسط :
#4
شما نباید دنبال کد سازگار بگردین، باید برای ساختار برنامه نویسی خودتون با کمی تلاش سازگارش کنید. اون لینکهایی که ارسال کردم یک نمونه مثال بود.
به ازای هر سطری که شما چاپ میکنید یک چک باکس هم اضافه کنید.
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط :
#5
خب ببین شما اومدی از ID استفاده کردی در صورتی که این درست نیست (البته میشه با استفاده از ID هم همشون رو انتخاب کرد ها ولی همیشه سعی کن از ID واسه یه المنت استفاده کنی)

من در کد زیر از کلاس استفاده کردم نگاه کن

کد:
<input type="checkbox" onChange="setcheck(this)"><br>
<input type="checkbox" name="[]" class="check1">
<input type="checkbox" name="[]" class="check1">
<input type="checkbox" name="[]" class="check1">
<input type="checkbox" name="[]" class="check1">
<input type="checkbox" name="[]" class="check1">
<input type="checkbox" name="[]" class="check1">
<input type="checkbox" name="[]" class="check1">
<input type="checkbox" name="[]" class="check1">

<script>
setcheck=function(obj){
    var list=document.getElementsByClassName('check1');
    for (var i = 0; i < list.length; i++)
        list[i].checked = obj.checked;
}
</script>

میتونی از document.getElementById("myCheck") هم به جای document.getElementsByClassName استفاده کنی تا همه ID ها رو انتخاب کنه

موفق باشی
  پاسخ
تشکر شده توسط : mohammad ali


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان