|
|
|
checkBox split string แล้ว ไม่สามารถแก้ไขข้อมูลได้ครับ |
|
|
|
|
|
|
|
edit_checkbox.php (PHP)
<!DOCTYPE html>
<html>
<head>
<title>Insert Checkbox values using Ajax Jquery in PHP</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<?php
$connect = mysqli_connect("localhost", "root", "", "checkbox_db");
$sql="SELECT * FROM tbl_language WHERE id='".$_GET['id']."'";
$db=mysqli_query($connect,$sql);
$row=mysqli_fetch_assoc($db);
$name=$row['name'];
$name = split ("\,", $name);
echo $name[0]. $name[1];
?>
<body>
<br />
<div class="container" style="width:500px;">
<h3 class="text-center">Insert Checkbox values using Ajax Jquery in PHP</h3>
<div class="checkbox">
<input type="checkbox" class="get_value" value="<?php echo $name[0];?>" />PHP <br />
<input type="checkbox" class="get_value" value="<?php echo $name[1];?>" />ASP <br />
<input type="checkbox" class="get_value" value="<?php echo $name[2];?>" />JSP <br />
<input type="checkbox" class="get_value" value="<?php echo $name[3];?>" />Python <br />
</div>
<button type="button" name="submit" class="btn btn-info" id="submit">Submit</button>
<br />
<div id="result"></div>
</div>
</body>
</html>
<script>
$(document).ready(function(){
$('#submit').click(function(){
var languages = [];
$('.get_value').each(function(){
if($(this).is(":checked"))
{
languages.push($(this).val());
}
});
languages = languages.toString();
$.ajax({
url:"edit.php",
method:"POST",
data:{languages:languages},
success:function(data){
$('#result').html(data);
}
});
});
});
</script>
edit.php(PHP)
<?php
//insert.php
if(isset($_POST["languages"]))
{
$connect = mysqli_connect("localhost", "root", "", "checkbox_db");
$query = "update tbl_language set name='".$_GET['languages']."' where id='".$_GET['id']."';
$result = mysqli_query($connect, $query);
$msg='บันทึกแก้ไขข้อมูลเรียบร้อยแล้ว..';
echo $msg;
}
?>
Tag : PHP
|
|
|
|
|
|
Date :
2016-11-08 22:27:46 |
By :
โต้ง |
View :
1024 |
Reply :
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดึงค่ามาใส่บันทัด 14 จากนั้น แยกข้อมูลในบันทัดที่ 15 บันทัดที่ 16 มีการเช็คค่าก่อน(ดีมาก)
จากนั้นก็มีบันทัดที่ 23 24 25 26 แล้ว $name[2] $name[3] มาจากไหน
1. ให้ข้อมูลไม่ครบ เหมือนบอกลอยๆ มาตามลม แก้ไขอะไร ตรงไหน อย่างไร งงครับ
2. เดาๆ ถ้า name array จะทำแบบนั้น ต้องวนลูปหรือเปล่า ให้ใจต้องการแบบไหน
เอาข้อมูลมาบอกเพิ่มครับ ถามมาตั้ง 105 กระทู้แล้ว ไม่ต้องรีบครับ ให้ข้อมูลก่อน จะได้มีคนมาต่อให้
|
|
|
|
|
Date :
2016-11-09 10:50:00 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$_POST['languages'] ที่คุณส่งไปมันเป็น array ครับ ดังนั้น ไม่สามารถใช้
Code (PHP)
<?php
//insert.php
if(isset($_POST["languages"]))
{
$connect = mysqli_connect("localhost", "root", "", "checkbox_db");
$query = "update tbl_language set name='".$_GET['languages']."' where id='".$_GET['id']."';
$result = mysqli_query($connect, $query);
$msg='บันทึกแก้ไขข้อมูลเรียบร้อยแล้ว..';
echo $msg;
}
?>
ใช้ลูปเพื่ออัพเดทครับ
|
|
|
|
|
Date :
2016-11-09 11:50:23 |
By :
OwndaysTH |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. $sql="SELECT * FROM tbl_language WHERE id='".$_GET['id']."'"; การ where ที่ id เดาว่าผลลัพธ์ มันน่าจะมีค่าเดียว หรือมันได้กี่ค่า ตอบตัวเองครับ
2. ผมก็แนะนำไปแล้วว่า
บันทัดที่ 14 . $name=$row['name'];
บันทัดที่ 15. $name = split ("\,", $name);
บันทัดที่ 16. echo $name[0]. $name[1];
มาถูกทางแล้ว แล้วค่ามันได้อะไรแบบไหน ผมไม่เห็นตอบไม่ได้ มันได้ตามที่คุณต้องการไหม ตอบตัวเองอีกครั้งครับ
3. ผมก็เสริมว่า $name[2] $name[3] มาจากไหน ในเมื่อ array จากการใช้ split \ มันมีแค่ 0 กับ 1
แล้ว 2 กับ 3 มาจากไหน ตอบตัวเองเช่นเดิมครับ
|
|
|
|
|
Date :
2016-11-09 12:03:07 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39.$('.get_value').each(function(){
40.if($(this).is(":checked"))
41.{
42.languages.push($(this).val());
43.}
44.});
45.languages = languages.toString();
ลองแก้เป็น
Code (JavaScript)
$('.get_value').each(function(idx, element){
if($(element).is(":checked")){
languages.push($(element).val());
}
});
// ตัดบันทัดที่ 45 ออก ให้ส่งไปแบบ array นั่นแหล่ะ และใช้ php จัดการ array แทน
|
ประวัติการแก้ไข 2016-11-09 12:41:22 2016-11-09 12:42:05 2016-11-09 12:42:57
|
|
|
|
Date :
2016-11-09 12:38:58 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ส่งมา checkbox ครับ
<!DOCTYPE html>
<html>
<head>
<title>Insert Checkbox values using Ajax Jquery in PHP</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<?php
$connect = mysqli_connect("localhost", "root", "", "checkbox_db");
$sql="SELECT * FROM tbl_language WHERE id='".$_GET['id']."'";
$db=mysqli_query($connect,$sql);
$row=mysqli_fetch_assoc($db);
$name=$row['name'];
$name=split(",",$name);
$php=$name[0];
$asp=$name[1];
$jsp=$name[2];
$python=$name[3];
echo $php;
?>
<body>
<br />
<div class="container" style="width:500px;">
<h3 class="text-center">Insert Checkbox values using Ajax Jquery in PHP</h3>
<div class="checkbox">
<input type="checkbox" class="get_value" value="<?php echo $php;?>" />PHP <br />
<input type="checkbox" class="get_value" value="<?php echo $asp;?>" />ASP <br />
<input type="checkbox" class="get_value" value="<?php echo $jsp;?>" />JSP <br />
<input type="checkbox" class="get_value" value="<?php echo $python;?>" />Python <br />
</div>
<button type="button" name="submit" class="btn btn-info" id="submit">Submit</button>
<br />
<div id="result"></div>
</div>
</body>
</html>
<script>
$(document).ready(function(){
$('#submit').click(function(){
var languages = [];
$('.get_value').each(function(idx, element){
if($(element).is(":checked")){
languages.push($(element).val());
}
});
$.ajax({
url:"edit.php",
method:"POST",
data:{languages:languages},
success:function(data){
$('#result').html(data);
}
});
});
});
</script>
|
|
|
|
|
Date :
2016-11-13 13:06:18 |
By :
โต้ง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
field name เก็บข้อมูลยังไงครับ ขอดูหน่อย
|
|
|
|
|
Date :
2016-11-13 13:33:08 |
By :
Luz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2016-11-13 14:37:20 |
By :
โต้ง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
บรรืัดที่ 15
$name = split ("\,", $name); ตัว \ มาแต่ไหนครับ ?
|
|
|
|
|
Date :
2016-11-13 15:21:56 |
By :
Luz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้ไม่เกี่ยวโดยตรงแต่เหมือนว่า ใช้ explode() จะดีกว่า split() นะครับ
ตั้งแต่ PHP 5.3 เลิกใช้แล้ว
http://php.net/manual/en/function.split.php
มาต่อกันที่ฐานข้อมูล
$name[0]
$name[1]
$name[2]
$name[3]
ตำแหน่งที่ได้ไม่ตายตัวนี่ครับ ดูจากรูป
$asp ไม่ได้อยูในตำแหน่งที่ [1] เสมอไป
ดังนั้น ก็ต้องเขียนวนลูป $ name เพื่อเช็คเองว่ามีอะไรบ้างในนั้น
แล้วก็ใช้ javascript ใส่ข้อมูลลงไปแทนการ echo โดยตรง
|
|
|
|
|
Date :
2016-11-13 16:02:44 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"\," เป้น regular expression format
ค่าที่ใช้ค้นหา คือ คอมม่า
\ ทำหน้าที่เป็น escape code ใช้นำหน้าอักขระพิเศษที่ต้องการค้นหา
แต่คอมม่าไม่ใช่อักขระพิเศษ จะใช้ คอมม่า อย่างเดียวก็ได้ โดยไม่ต้องใส่ escape code
|
|
|
|
|
Date :
2016-11-13 16:47:55 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|