Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > พี่ครับช่วยดูcheckboxให้ผมหน่อยครับมันติ้กไม่ตรงตำแหน่งอ่ะครับ



 

พี่ครับช่วยดูcheckboxให้ผมหน่อยครับมันติ้กไม่ตรงตำแหน่งอ่ะครับ

 



Topic : 134886



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์




พี่ครับตอนผมเลือกChackbox ผลเลือกอัน 4 ด้านความมั่งคงแต่ผลลัพธ์ออกมามันได้อันแรกด้านบริการอ่ะครับมันผิดอ่ะครับผมไม่รุ้จะใช้อะไรเช็คอ่ะครับ

ตอนเลือกcheckbox
เลือกchackbox
ผลลัพธ์
ผลลัพธ์



Tag : PHP, Ms SQL Server 2014







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-02-16 12:09:09 By : mustakeam View : 720 Reply : 10
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ไม่มีโค๊ดก็ไป debug เอาเองนะครับ

แต่หลักๆ ก็คือ Checkbox ถ้าไม่ติ๊ก มันจะไม่มีการส่งค่าไปยัง server นะครับ
แบบ ตัวแปร มันหายไปเลย เพราะฉนั้น เวลาตรวจสอบต้องคำนึงถีงข้อนี้ด้วย
ลิสต์ของตัวแปร ใน array จะแสดงรายการที่ถูกเช็คเท่านั้น






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-16 12:27:58 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-02-16 12:27:58
รายละเอียดของการตอบ ::
ขอโทษครับพี่


Code (PHP)
            <form id="crteTitle" name="crteTitle" action="insert/useTitle.php" method="post">
              <!-- action="insert/useTitle.php" method="post" -->
              <!-- +++++++++แก้ไข action ไปใช้ path ที่ตั้งไว้++++++++++++-->
              <!-- เก็บ form -->
              <input type="hidden" name="txtFrmId" value="<?php echo $fromId ?>">
              <!-- Table Assessment -->
              <div class="table-responsive">
                <table class="table align-items-center table-flush">
                  <thead class="thead-light">
                    <tr>
                      <th scope="col" rowspan="2" width="80%">
                        <center>
                          <h2>เลือกหัวข้อหลักประเมิน</h2>
                        </center>
                      </th>
                      <th scope="col" colspan="5">
                        <center>
                          <h3>ระดับความพึงพอใจ</h3>
                        </center>
                      </th>
                    </tr>
                    <tr>
                      <th scope="col">
                        <center>
                          <h1><i class="fas fa-grin-alt fontColor-grin-alt"></i></h1>
                          <h5>ดีมาก</h5>
                          <h5>5</h5>
                        </center>
                      </th>
                      <th scope="col">
                        <center>
                          <h1><i class="fas fa-smile fontColor-smile"></i></h1>
                          <h5>ดี</h5>
                          <h5>4</h5>
                        </center>
                      </th>
                      <th scope="col">
                        <center>
                          <h1><i class="fas fa-meh fontColor-meh"></i></h1>
                          <h5>ปานกลาง</h5>
                          <h5>3</h5>
                        </center>
                      </th>
                      <th scope="col">
                        <center>
                          <h1><i class="fas fa-frown-open fontColor-frown-open"></i></h1>
                          <h5>พอใช้</h5>
                          <h5>2</h5>
                        </center>
                      </th>
                      <th scope="col">
                        <center>
                          <h1><i class="fas fa-angry fontColor-angry"></i></h1>
                          <h5>ปรับปรุง</h5>
                          <h5>1</h5>
                        </center>
                      </th>
                    </tr>
                  </thead>
                  <tbody class="list">
                    <?php
                    $numTitle = 0;
                    $sqlTitle = "SELECT * FROM AssSecMas where SecStaNum <> 'D'";
                    $qryTitle = sqlsrv_query($connect, $sqlTitle);
                    $i = 0;
                    while ($row = sqlsrv_fetch_array($qryTitle, SQLSRV_FETCH_ASSOC)) {
                      $numTitle++;
                      $titleId = $row['SecNum'];
                      $titleName = $row['SecNam'];
                    ?>
                      <tr>
                        <th class="bg-secondary" scope="col" colspan="6">
                          <input type="hidden" name="titleId[]" value="<?php echo $titleId ?>"> 
                          <div class="custom-control custom-checkbox mb-3">
                            <input class="custom-control-input" value="Y" id="customCheck_<?php echo $numTitle ?>"  //ส่วนcheckbox name="customCheck[]" type="checkbox">
                            <label class="custom-control-label" for="customCheck_<?php echo $numTitle ?>">
                              <h4>
                                &nbsp;<?php echo $titleName ?></h4>
                          </div>
                        </th>
                      </tr> <?php } ?> </tbody>
                </table>
                <a class="btn btn-twitter btn-lg btn-block text-white" onclick="insertTitle();"><i class="fas fa-plus"></i>&nbsp;เพิ่มหมวดการประเมิน</a>
              </div>
          </div>
          <h3>ข้อเสนอแนะเพิ่มเติม...</h3>
          <textarea class="form-control" id="txtcomment" name="txtcomment" rows="3" placeholder="Write a large text here ..." disabled></textarea>
          <br>
          <style>
            h6 {
              color: white;
              font-size: medium;
            }
          </style>
          <center>
            <p id="demo"></p>
            <input type="hidden" name="depMake" value="<?php echo $depMake ?>">
            <button type="submit" name="submit" class="btn btn-primary btn-lg btn-block">
              <h6>ถัดไป&nbsp;<i class="fas fa-arrow-right"></i></h6>
            </button>
          </center>
          <br>
          <br>
          </form>


</html>


หน้า save
Code (PHP)
<?php
if (isset($_POST['customCheck'])) {
  session_start();
  require_once("../../include/connect.php");

  $USUidCod = $_SESSION["username"];

  $USFrmNum = $_POST["txtFrmId"];
  $USDepNum = $_POST["depMake"];
  $USAcpDte = date("YmdHis");
  $ConTit = count($_POST["titleId"]);


  for ($i = 0; $i < $ConTit; $i++) { //loop จำนวนคำถามทั้งหมด
    $Status = isset($_POST['customCheck'][$i]) ? 'Y' : 'N';
    $TitId = $_POST['titleId'][$i];
    echo $TitId . " " . $Status . "<br>";
  }
}
if (isset($qry)) {
  echo 'ok';
}
?>



ประวัติการแก้ไข
2020-02-16 12:44:37
2020-02-16 12:45:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-16 12:41:16 By : mustakeam
 

 

No. 3



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


Code (PHP)
<input class="custom-control-input"  value="<?=$numTitle?>" 
	id="customCheck_<?=$numTitle?>"
	helpRemember="ส่วนcheckbox" name="customCheck[]" type="checkbox"
>


ใส่หมายเลข ID ใน attribute Value เพื่อบอกว่า ที่ติ๊ก checkbox เป็นของบันทัดไหน
ไม่ใช่ใสค่า Y N มันไม่ได้ประโยชน์

ส่วนคำสั่งตรวจเช็ค
Code (PHP)
$cuschk = isset($_POST['customCheck']) ? $_POST['customCheck'] : []; 
// สร้างตัวแปรมารับค่าการเช็ต ถ้าไม่มีให้กำหนดเป็น array ว่าง
// ถ้าไม่มีการเช็คเลย มันจะไม่มี ตัวแปร customCheck ส่งมาด้วยแม้แต่ค่าว่าง
foreach ($_POST['titleId'] as $key=>$Title) { //loop เปลี่ยนจาก for เป็น foreach  
  $Status = in_array($Titld, $cuschk) ? 'Y' : 'N';  
  echo $TitId . " " . $Status . "<br>";
}

หมายเหตุ จะคอมเม้นท์อะไร คำนึงถีงภาษาที่ใช้ ณ ตรงนั้นด้วย เป็นภาษาอะไร
เอา // ไปใช้ กับ attribute ของ html มันจะใช้ได้เหรอ ให้สร้าง attribute ครอบข้อความที่ต้องการดีกว่าไหม

แก้ไขใหม่ ข้างบน ก๊อปมาแล้วแก้ไขไม่หมด
Code (PHP)
$cuschk = isset($_POST['customCheck']) ? $_POST['customCheck'] : []; 
// สร้างตัวแปรมารับค่าการเช็ต ถ้าไม่มีให้กำหนดเป็น array ว่าง
// ถ้าไม่มีการเช็คเลย มันจะไม่มี ตัวแปร customCheck ส่งมาด้วยแม้แต่ค่าว่าง
foreach ($_POST['titleId'] as $key=>$Title) { //loop เปลี่ยนจาก for เป็น foreach  
  $Status = in_array($Title, $cuschk) ? 'Y' : 'N';  
  echo $Title . " " . $Status . "<br>";
}



ประวัติการแก้ไข
2020-02-16 14:11:18
2020-02-16 14:12:59
2020-02-17 11:20:41
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-16 14:10:44 By : Chaidhanan
 


 

No. 4



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-02-16 14:10:44
รายละเอียดของการตอบ ::
Code (PHP)
<input class="custom-control-input"  value="<?=$numTitle?>" 
	id="customCheck_<?=$numTitle?>"
	helpRemember="ส่วนcheckbox" name="customCheck[]" type="checkbox"
>


helpRemember="ส่วนcheckbox" ให้ผมใส่อะไรลงไปหรอครับผมไม่เข้าใจอ่ะครับ

$TitId = $_POST['titleId'] ตัวนี้ผมจะประกาศยังไงครับเพราะมันเป็นArray


ประวัติการแก้ไข
2020-02-16 14:22:52
2020-02-16 14:31:39
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-16 14:21:07 By : mustakeam
 


 

No. 5



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ผมพิมพ์ผิด ก๊อบมาแล้วแก้ไขไม่หมด แต่ลองวิเคราะห์ เองดูก่อน
ดูที่คำสั่ง foreach วัตถุประสงค์ของคำสั่งนี้ และ ผลลัพธ์ของ ตัวแปร $key และ $Title
น่าจะทำให้รู้ว่าควรเปลี่ยนอะไรเพิ่ม หรือจะนำไปใช้ประโยชน์อะไรต่อ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-16 15:54:26 By : Chaidhanan
 


 

No. 6



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

ผลลัพธ์ผิดปกติ

ผลลัพธ์นี้ไม่ถูกต้องนะครับ

ตามภาพ check ตัวเดียว
ผลลัพธ ต้องมีแค่ ตัวเดียวเช่นกัน

คงต้องหาเหตุผลก่อนว่า ทำไมรันออกมาเป็นแบบนี้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-17 09:40:13 By : {Cyberman}
 


 

No. 7



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : {Cyberman} เมื่อวันที่ 2020-02-17 09:40:13
รายละเอียดของการตอบ ::
ผลลัพธ์ถูกต้องแล้ว คุณดูตรง php ของเขาดีๆ กับฟอร์มที่เขารับมา มันไม่ใช่ checkbox แต่เป็น hidden มันจึงออกมาเป๊ะตามจำนวน
ที่มันไม่ตรงตามเจ้าของกระทู้ต้องการคือ y กับ n ที่ไม่ตรงลำดับกัน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-17 10:38:37 By : mr.v
 


 

No. 8



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


จขกท. เลาะเอาส่วนอื่นๆออก (อาจใช้ php comment <?php /* ?>any html<?php */ ?>) เอาส่วนที่ไม่เกี่ยวเลยออกไปก่อน ให้มันเจาะจงเข้าไปที่ส่วนของปัญหาให้มากกว่านี้ แล้วหน้ารับข้อมูล ลอง print_r($_POST) เพื่อดูข้อมูลที่รับมาทั้งหมด
แบบนี้มันจะดีกว่ามั้ย? มันจะแก้ไขง่ายตรงจุดมากกว่ามั้ย?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-17 10:48:24 By : mr.v
 


 

No. 9



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

ลองใช้ foreach() เหมือนที่คุณChaidhanan แนะนำไว้ใน No. 3 มาแสดงผลดูครับ


ส่วนของ INPUT ควรจะใส่ ID อ้างอิงแต่ละตัวเลือกลงไปด้วย
<input type="hidden" name="titleId[<?php echo $ID?>]" value="<?php echo $titleId?>">
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-17 11:37:27 By : {Cyberman}
 


 

No. 10



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 9 เขียนโดย : {Cyberman} เมื่อวันที่ 2020-02-17 11:37:27
รายละเอียดของการตอบ ::
ขอบคุนนะครับได้แล้วครับ
ตอบความคิดเห็นที่ : 8 เขียนโดย : mr.v เมื่อวันที่ 2020-02-17 10:48:24
รายละเอียดของการตอบ ::
ขอบคุนนะครับได้แล้วครับ

ตอบความคิดเห็นที่ : 5 เขียนโดย : Chaidhanan เมื่อวันที่ 2020-02-16 15:54:26
รายละเอียดของการตอบ ::
ขอบคุนนะครับได้แล้วครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-02-18 13:26:30 By : mustakeam
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : พี่ครับช่วยดูcheckboxให้ผมหน่อยครับมันติ้กไม่ตรงตำแหน่งอ่ะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่