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 > เช็คข้อมูลใน list box แบบหลายอัน โดยจะต้องไม่ซ้ำกัน



 

เช็คข้อมูลใน list box แบบหลายอัน โดยจะต้องไม่ซ้ำกัน

 



Topic : 108985



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



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




นี่เป็นส่วนของการแก้ไขครับ

ผมต้องการจะเช็คค่าไม่ให้เลือกอาจารย์ซ้ำกันครับ

พอกดแก้ไข หากมีอาจารย์อยู่ 2 คนมันแสดงขึ้นมา 2 listbox หากมี 3 ก็แสดงมาให้แก้ไข 3

ต้องการไม่ให้แก้ไขเป็นอาจารย์ที่ซ้ำกันครับ โดยให้เช็คจาก ข้อมูลที่อยู่ใน listbox นะครับ

หากมี 3 คนมันจะต้องไม่ซ้ำกัน จะต้องเช็คอย่างไรครับ


11

FORM ครับ
<form name="visionViewN" action="<?PHP $_SERVER['PHP_SELF']?>">
   <table width="100%" cellpadding="0" cellspacing="1" class="tch">
      <?PHP
      $i = 0;
      while($showTop = mysql_fetch_array($resultTop)){
         $i = $i + 1;
      ?>
      <tr>
         <td width="50%" align="right">อาจารย์นิเทศก์ท่านที่ <?=$i;?> :</td>
         <td width="40%">
            <select name="per_id<?=$i;?>">
            <?PHP
               $sqlVis = "SELECT * FROM personnel WHERE cyp_id = '1' ORDER BY per_name ASC";
               $resultVis = mysql_query($sqlVis);
                  while($showVis = mysql_fetch_array($resultVis)){
                  if($showTop['per_id'] == $showVis['per_id']){ $sel="selected"; }else{ $sel=""; }
            ?>
               <option value="<?=$showVis['per_id']?>" <?=$sel;?>><?=$showVis['per_name']?></option>
            <?PHP } ?>
            </select>
            <input type="hidden" name="loc_id<?=$i;?>" value="<?=$showTop['loc_id']?>"/>
            <input type="hidden" name="snt_id<?=$i;?>" value="<?=$showTop['snt_id']?>"/>
         </td>
         <td width="10%" align="center" >
            <a href="<?PHP $_SERVER['PHP_SELF']?>?selDuration=<?=$selDuration?>&action=delete&snt_id=<?=$showTop['snt_id']?>&fav_id=<?=$fav_id;?>" onclick="return confirm('ยืนยันการลบ')"><img src="images/remove.png" alt="" title="ลบ"/></a>
         </td>
      </tr>
      <?PHP } ?>

      <tr align="center">
         <td colspan="3">
            <input type="hidden" name="hdnLine" value="<?=$i;?>">
            <input type="hidden" name="fav_id" value="<?=$fav_id?>"/>
            <input type="submit" name="submit" value="บันทึก"/>
         </td>
      </tr>
   </table>
</form>


UPDATE ครับ
<?PHP
   if(isset($_GET['submit'])){
      for($i=1;$i<=$_GET["hdnLine"];$i++){
                        
      //if(){

                            

      //}else{
                            
      $sql2  = "UPDATE supervision_teacher SET loc_id = '".$_GET["loc_id$i"]."', per_id = '".$_GET["per_id$i"]."'";
      $sql2 .= " WHERE snt_id = '".$_GET["snt_id$i"]."'";
      $result2 = mysql_query($sql2);

      //}
      }
   echo "<script>alert('บันทึกข้อมูลเรียบร้อยแล้ว');window.location='visionViewN.php?fav_id=$fav_id';</script>";
}
?>




Tag : PHP









ประวัติการแก้ไข
2014-06-07 18:00:42
2014-06-07 18:02:15
2014-06-08 07:56:09
2014-06-08 07:57:49
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-06-07 17:58:28 By : sabaitip View : 2786 Reply : 4
 

 

No. 1



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



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

ลองดู jquery อะครับ น่าจะทำได้ง่ายขึ้น






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-07 18:01:08 By : progamer2000
 


 

No. 2



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



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


หาไม่เจออ่ะครับ

ที่ผมทำ ทำตามตัวอย่างนี้ครับ แต่ไม่มีเรื่องเช็คว่าซ้ำหรือป่าว

https://www.thaicreate.com/php/php-mysql-multiple-rows-update-edit-record.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-08 13:28:25 By : sabaitip
 

 

No. 3



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

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


Quote:
ลองดูน่ะครับ ไม่ร฿้ว่าตรงวัตถุประสงค์หรือเปล่า
Code (PHP)
 <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript">
	$(document).ready(function() {
		$('#SelectionReset').click(function(){$(".uniqueSelection option").show();});

		$(".uniqueSelection").change(function(){
			var indx = $(".uniqueSelection").index(this);
			var currentVal = $("option:selected",this).val();
			
			$(".uniqueSelection").each(function(index,val){
				if(indx != index){
					$(this).find("option[value='"+currentVal+"']").hide();
				}
			});
		});
	});
  </script>

One:<select name="listOne" id="listOne" class="uniqueSelection">
	<option value=''>กรุณาเลือก</option>
	<option value='Steve Jobs'>Steve Jobs</option>
	<option value='Roger Federuer'>Roger Federuer</option>
	<option value='Tiger Woods'>Tiger Woods</option>
  </select><br />
Second:<select name="listSecond" id="listSecond" class="uniqueSelection">
	<option value=''>กรุณาเลือก</option>
	<option value='Steve Jobs'>Steve Jobs</option>
	<option value='Roger Federuer'>Roger Federuer</option>
	<option value='Tiger Woods'>Tiger Woods</option>
  </select><br />
Third:<select name="listThird" id="listThird" class="uniqueSelection">
	<option value=''>กรุณาเลือก</option>
	<option value='Steve Jobs'>Steve Jobs</option>
	<option value='Roger Federuer'>Roger Federuer</option>
	<option value='Tiger Woods'>Tiger Woods</option>
  </select><br />
  <input type='reset' value='Reset' id='SelectionReset' />

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-08 13:50:51 By : sakuraei
 


 

No. 4



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



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


ผมลองเขียนมาให้มันดูง่ายขึ้นนะครับ หรือมันเป็นแบบใหม่เลยหรือป่าวไม่รู้ครับ

เวลา insert เป็นแบบนี้ครับ
insert เป็นแบบ ดังรูปครับ
3
กรอกค่าลงไปเลยในช่องแรก กรอกลงไป 13 14 15
ใน db ก็จะได้ ประมาณนี้ครับ
id per loc
1 13 60
2 14 60
3 15 60

แล้วพอจะ update อ่ะครับ จะทำยังไงให้มัน ขึ้นมาใน ช่องที่กรอกแบบตอน insert ครับ
ที่ทำมันออกมา แบบนี้เลยอ่ะครับ
2
ในช่องแรกต้องเป็น
13
14
15
แต่ถ้าหากตอน Insert กรอกลงไป แค่ 2 record
ในช่องแรกต้องเป็น
13
14
ช่องสุดท้ายที่ไม่กรอกก็ปล่อยให้ว่างไว้อ่ะครับ (แต่ต้องทีช่องให้กรอกทั้ง 3 record เพื่อจะได้เพิ่มได้ สุงสุดยังไงก็ไม่เกิน 3

หน้าแสดงข้อมูลเป็นแบบนี้นะครับ ใช้ group_concat
มันจะแสดงแบบนี้ครับ
________________________________
60 | 13, 14, 15 | [ ปุ่ม INSERT + UPDATE]

แล้วเดี๋ยวตอนเช็คก็มาเช็ค ว่าช่องที่กรอกลงไปมันมีค่าซ้ำกันหรือป่าว

Code (PHP)
        <?PHP
            include "config/connect.php";

         // รับค่าที่ส่งมา
            $fav_id = $_GET['fav_id'];
            
            $sql  = "SELECT * FROM favor";
            $sql .= " LEFT JOIN location ON favor.loc_id = location.loc_id";
            $sql .= " LEFT JOIN supervision_teacher ON supervision_teacher.loc_id = location.loc_id";
            $sql .= " LEFT JOIN personnel ON supervision_teacher.per_id = personnel.per_id";
            $sql .= " WHERE fav_id = '$fav_id'";
            $result = mysql_query($sql);
            $show = mysql_fetch_array($result);
        ?>
        <form name="form1" action="<?PHP $_SERVER['PHP_SELF']?>" enctype="multipart/form-data">
            <table width="100%" cellpadding="0" cellspacing="1">
                <tr>
                    <td>
                        <input type="text" name="per_id[]" value="<?=$show['per_id']?>"/>
                        <input type="text" name="loc_id[]" value="<?=$show['loc_id']?>"/>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="text" name="per_id[]" value="<?=$show['per_id']?>"/>
                        <input type="text" name="loc_id[]" value="<?=$show['loc_id']?>"/>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="text" name="per_id[]" value="<?=$show['per_id']?>"/>
                        <input type="text" name="loc_id[]" value="<?=$show['loc_id']?>"/>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input type="submit" name="submit" value="บันทึก"/>
                    </td>
                </tr>
            </table>
        </form>

        <?PHP
            // Insert
            if(isset($_GET['submit'])){

            for($i=0;$i<count($_GET["per_id"]);$i++){

                $per_id = $_GET["per_id"][$i];
                $loc_id = $_GET["loc_id"][$i];

            if($_GET["per_id"][$i] != ""){
                
                $sql  = "INSERT INTO supervision_teacher (loc_id, per_id) VALUES ('$loc_id', '$per_id')";
                $result = mysql_query($sql);
                }
            }
                echo "<script>alert('บันทึกข้อมูลเรียบร้อยแล้ว');window.location='visionViewN.php?selDuration=$selDuration';</script>";
        }
        ?>



ประวัติการแก้ไข
2014-06-08 15:05:10
2014-06-08 15:09:17
2014-06-08 15:10:08
2014-06-08 15:10:49
2014-06-08 15:14:45
2014-06-08 15:23:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-08 15:04:25 By : sabaitip
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เช็คข้อมูลใน list box แบบหลายอัน โดยจะต้องไม่ซ้ำกัน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 04
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 อัตราราคา คลิกที่นี่