คือผมยังไม่เข้าใจว่าจะเช็คยังไงเวลาที่มีการส่งค่าของตัวเเปรตัวเดิมมาอีกครั้ง แบบว่าต้องการให้ส่งมาได้แค่ครั้งถ้าส่งมาอีกครั้งก็จะ alert เตือน
กรกฎ วิริยะ 20 พ.ย. 2553 13:47
แนวคิดการตรวจสอบค่าซ้ำ ไม่ยากครับ ทุกภาษา ใช้วิธีเดียวกันหมด

/* ตัวแปรสำหรับเก็บค่าเดิม */
var old_data = '';
/* ตัวแปรสำหรับรับค่าที่ส่งมา */
var data = 'xxx';
/* ตรวจสอบว่าเหมือนเดิมหรือไม่ */
if (data != old_data) {
  /* ค่าที่ส่งมาไม่เหมือนเดิม เก็บค่าไว่ตรวจสอบในคราวต่อไป */
  old_data = data;
  /* ทำงานอื่นที่ต้องการต่อไป */
} else {
  alert('คุณส่งค่านี้มาแล้ว')
}
Mojo Mojo 20 พ.ย. 2553 14:19
ขอบคุณ ครับ
isumijang 22 มี.ค. 2554 11:14


แล้วถ้าตรวจสอบตัวแปลตัวเดียวที่ส่งค่าแบบวนลูปมาทีเดียวหลาย ๆ ค่า จะตรวจสอบว่าค่าที่ส่งมามีตัวไหนซ้ำกันบ้างล่ะค่ะ



เช่น 

$num[] ส่งค่า ("33","11","10","12","12","33")



ส่งค่ามาแบบ Array วนลูปส่งมาด้วย เราจะมีวิธีเช็คยังไงค่ะ


กรกฎ วิริยะ 22 มี.ค. 2554 13:08
isumijang 23 มี.ค. 2554 09:54


ลองแล้วค่ะแต่มันไม่ได้



ตัวแปรที่ส่งมาคือ  $_POST['LanNum'][$assetnum];  ซึ่งวนลูปส่งมาหน้ารับข้อมูล



แล้วต้องการที่จะตรวจสอบ $_POST['LanNum'][$assetnum]; ว่า ส่งค่าซ้ำมาหรือป่าว  แล้วถ้าส่งค่าซ้ำมาก็จะแสดง ค่าที่ซ้ำออกมาด้วยค่ะ



ค่าที่ได้คือ





 



<?PHP

include "config.inc.php";

  $sql_lan=" SELECT * FROM   asset_lan  GROUP BY  assetnum";

    $rs_lan=  mysql_query($sql_lan) or die ("Error1".mysql_error());

                   $no=1;

        while($row_lan=mysql_fetch_row($rs_lan)){

        $assetnum=$row_lan['0'];

        $lannum=$row_lan['1'];

       

$IDLan=$_POST['LanNum'][$assetnum];

$input = array($IDLan);

$result = array_unique($input);

print_r($result);



$no++;

}

?>







ผลที่ออกมา



Array ( [0] => 33 ) Array ( [0] => 33 ) Array ( [0] => 129 ) Array ( [0] => 18 ) Array ( [0] => 101 ) Array ( [0] => 64 ) Array ( [0] => 147 ) Array ( [0] => 58 ) Array ( [0] => 142 ) Array ( [0] => 107 ) Array ( [0] => 106 )



แล้วเอามาเช็คยังไงล่ะค่ะว่ามันซ้ำ



และให้แสดงค่าที่ซ้ำออกมา







 


กรกฎ วิริยะ 23 มี.ค. 2554 11:24