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,027

HOME > PHP > PHP Forum > สอบถามเกี่ยวกับการเพิ่มข้อมูลลงในฐานข้อมูล กำหนดให้ not null แล้ว แต่ลองไม่เลือกตัวเลือกที่กำหนด กลับเก็บเป็น 0 แทน รบกวนดูโค้ดให้หน่อยนะคะ



 

สอบถามเกี่ยวกับการเพิ่มข้อมูลลงในฐานข้อมูล กำหนดให้ not null แล้ว แต่ลองไม่เลือกตัวเลือกที่กำหนด กลับเก็บเป็น 0 แทน รบกวนดูโค้ดให้หน่อยนะคะ

 



Topic : 096844



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

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

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



สวัสดีค่ะพี่ๆ ฝากดูโค้ดให้หน่อยนะคะ

เป็นโค้ดแบบประเมิน กำหนดในฐานข้อมูลเป็น not null แล้ว แต่ลองไม่เลือกตัวเลือกที่กำหนด มันเก็บเป็น 0 แทนค่ะ
โค้ดนี้ดัดแปลงมาจากของคนอื่นอีกทีค่ะ ซึ่งเค้าจะกำหนดให้มีตัวเลือกที่เช็คให้อยู่แล้ว
เอามาแก้โค้ดให้ไม่มีตัวเลือกที่เช็คอยู่ก่อนแล้ว กลายเป็นว่ามันเก็บ 0 แทน เมื่อเราไม่เลือก

ไม่ทราบว่าต้องแก้โค้ดตรงส่วนไหน ฝากดูให้หน่อยนะคะ


Code (PHP)
<!DOCTYPE html>
<head>
<title>ระบบประเมิน s2</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>

<form method="POST" action="s2_save.php" OnSubmit="return fncSubmit();">
<table width="600" border="0" cellspacing="1" align="center" id="grid">
<thead><tr align="center">
	<td width="35"><b>ข้อ</b></td>
	<td width="368"><b>รายละเอียด</b></td>
	<td width="35"><b>5</b></td>
	<td width="35"><b>4</b></td>
	<td width="35"><b>3</b></td>
	<td width="35"><b>2</b></td>
	<td width="35"><b>1</b></td>
</tr></thead>
<?
include "question_s2.php";
for ($i=1;$i<=20;$i++){
?>
<tr>
	<td align="center"><?=$i?></td>
	<td> &nbsp;<?=$stu2_q[$i]?></td>
    
	<td align="center"> <input type="radio" name="<? echo "ch".$i; ?>" value="5"> </td>
	<td align="center"> <input type="radio" name="<? echo "ch".$i; ?>" value="4"> </td>
	<td align="center"> <input type="radio" name="<? echo "ch".$i; ?>" value="3"> </td>
	<td align="center"> <input type="radio" name="<? echo "ch".$i; ?>" value="2"> </td>
	<td align="center"> <input type="radio" name="<? echo "ch".$i; ?>" value="1"> </td>
</tr>
<?
}
?>
<tr>
      <td colspan="6" align="right"><input type="submit" value="ส่งคำตอบ" /><input type="reset" value="เคลียร์" /></td>
</tr>
</table><br>
</form>
</body>
</html>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-06-21 11:49:55 By : gosling View : 966 Reply : 19
 

 

No. 1



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



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


ถ้าคุณกำหนดในส่วนของชนิดข้อมูลเป็น INT หรือเป็นตัวเลข ในส่วนนี้ถ้าไม่มีค่า ระบบจะเซ็ตให้เป็น 0 อัตโนมัติ(ตามความเข้าใจผมนะ ^_^)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-21 12:30:19 By : arm8957
 


 

No. 2



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

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

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

ตอบความคิดเห็นที่ : 1 เขียนโดย : arm8957 เมื่อวันที่ 2013-06-21 12:30:19
รายละเอียดของการตอบ ::
เข้าใจถูกแล้วครับ ตามนั้นเลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-21 13:19:40 By : mangkunzo
 

 

No. 3



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

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

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

ต้องทำยังไงคะ จะให้มันเก็บข้อมูลเฉพาะ 1-5 ไม่มี 0 หรือค่าว่าง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-21 13:28:13 By : gosling
 


 

No. 4

Guest


หรืออาจจะเป็นที่คำสั่ง SQL ที่ใช้ INSERT (คิดว่านะ)

คือหน้าแรกไม่ได้เลือกค่า สมมุติตัวแปลชื่อ ch1
แล้วหน้า 2 ก็ insert ลงไป
Code (PHP)
insert into table values ( 'aa' ,$_POST['ch1'] , 'bb');

มันก็จะออกมาเป็น
Code (PHP)
insert into table values ( 'aa' ,0, 'bb');

เพราะ PHP มันแปลงค่าออกมาให้ คือ ch1 มันจะมีค่าเป็น
ch1=0 ชนิดตัวเลข
ch1=NULL ชนิดObject
ch1="" ชนิดข้อความ
มันก็คือค่าเดียวกัน

วิธีแก้
1.แก้แบบ PHP(ที่หน้า Insert) ก็เช็ค ch1 ก่อนว่ามันมีค่าหรือไม่แล้วก็จัดการกับมัน
2.แก้แบบ Javascript (ที่หน้าแรก หน้าที่ให้เลือกนั่นหละ) เขียนตรวจสอบว่าเช็คครบหรือยังถ้ายังก็ไม่ต้องส่งค่าไปหน้า Insert

นี่เป็นแค่แนวทาง อาจจะเกิดจากสาเหตุอื่นอีกก็ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-21 14:16:08 By : RootElement@KMUTNB
 


 

No. 5



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

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

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

ตอบความคิดเห็นที่ : 4 เขียนโดย : RootElement@KMUTNB เมื่อวันที่ 2013-06-21 14:16:08
รายละเอียดของการตอบ ::

นี่โค้ดหน้าเซฟค่ะ ต้องแก้ยังไงอ่าคะ

s2_save.php

Code (PHP)
<?php
$ch1=$_POST['ch1'];
$ch2=$_POST['ch2'];
$ch3=$_POST['ch3'];
$ch4=$_POST['ch4'];
$ch5=$_POST['ch5'];
$ch6=$_POST['ch6'];
$ch7=$_POST['ch7'];
$ch8=$_POST['ch8'];
$ch9=$_POST['ch9'];
$ch10=$_POST['ch10'];
$ch11=$_POST['ch11'];
$ch12=$_POST['ch12'];
$ch13=$_POST['ch13'];
$ch14=$_POST['ch14'];
$ch15=$_POST['ch15'];
$ch16=$_POST['ch16'];
$ch17=$_POST['ch17'];
$ch18=$_POST['ch18'];
$ch19=$_POST['ch19'];
$ch20=$_POST['ch20'];

include ("connect.php");
$sql="insert into ass_stu2 (stu2_id, stu2_q1, stu2_q2, stu2_q3, stu2_q4, stu2_q5, stu2_q6, stu2_q7, stu2_q8, stu2_q9, stu2_q10, stu2_q11, stu2_q12, stu2_q13, stu2_q14, stu2_q15, stu2_q16, stu2_q17, stu2_q18, stu2_q19, stu2_q20)  values (null,'$ch1','$ch2','$ch3','$ch4','$ch5','$ch6','$ch7', '$ch8','$ch9','$ch10','$ch11','$ch12','$ch13','$ch14','$ch15','$ch16','$ch17' ,'$ch18','$ch19','$ch20')";
$result=mysql_db_query($db_name,$sql);
if (!$result) {
	echo "<H3>NONONO!!!!!!!</H3>";
	exit;
}
echo "<H3>YEAH!!!!!!!!</H3>";
?>



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-21 15:03:47 By : gosling
 


 

No. 6



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

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

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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-21 23:19:23 By : gosling
 


 

No. 7



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

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

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


มันเป็น 0 ก็ถูกแล้วครับ มันไม่ allow null นิ

ต้องหันมา valid ข้อมูลก่อนบันทึกแทนนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-21 23:44:00 By : PlaKriM
 


 

No. 8

Guest


ถ้าชนิดข้อมูลของฟิลด์ stu2_q1 เป็นตัวเลข (INT) (รวมถึงตัวที่ stu2_q2 - stu2_q20)

ให้เปลี่ยนจาก '$ch1' เป็น $ch1 ไม่ต้องมี ' คร่อมครับ ($ch2 - $ch20 ก็เหมือนกัน)


ตอนรับค่า $_POST ก็ให้เช็กค่าด้วย

Code (PHP)
$ch1 = isset($_POST['ch1']) && $_POST['ch1'] != '' ? $_POST['ch1'] : 'NULL';


($ch2 - $ch20 ก็เหมือนกัน)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-22 08:53:32 By : CBM
 


 

No. 9



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



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

ผมว่าเก็บ 0 ก็ได้แล้วนะครับ มีปัญหาตรงไหนคับ มันเป็น 0 คือค่าว่าง ตอนโชว์ ก็บอกว่า ถ้าเป็น ค่าว่าง หรือ น้อยกว่า <1 ก็ไม่ต้องให้โชว์คับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-22 11:32:26 By : teez1232002
 


 

No. 10



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

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

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

ตอบความคิดเห็นที่ : 8 เขียนโดย : CBM เมื่อวันที่ 2013-06-22 08:53:32
รายละเอียดของการตอบ ::
ถ้าชนิดข้อมูลของฟิลด์ stu2_q1 เป็นตัวเลข (INT) (รวมถึงตัวที่ stu2_q2 - stu2_q20)

ให้เปลี่ยนจาก '$ch1' เป็น $ch1 ไม่ต้องมี ' คร่อมครับ ($ch2 - $ch20 ก็เหมือนกัน)

อันนี้ทำได้แล้ว คือเมือ่ไม่ได้ทำการเลือก ไม่สามารถบันทึกลงฐานข้อมูลได้

ถ้าต้องการให้มันขึ้น pop-up ว่า ให้เลือกข้อมูลให้ครบ

แบบโค้ดนี้ ต้องทำยังไงคะ
โค้ดนี้เค้าเช็คที่ id แต่ที่ทำไปไม่ได้กำหนด id ให้ ต้องแก้ยังไงคะ


Code (PHP)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ThaiCreate.Com</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>

<script language="JavaScript">
	function fncSubmit()
	{
		var Rows = document.frmMain.hdnRows.value;
		for(x=1;x<=Rows;x++)
		{
			var op1 = document.getElementById("radionNo"+x+"_1");
			var op2 = document.getElementById("radionNo"+x+"_2");
			var op3 = document.getElementById("radionNo"+x+"_3");
			if(op1.checked == false && op2.checked == false && op3.checked == false)
			{
				alert('Please select Answer No ' + x);
				return false;
			}
		}

	}
</script>

<form name="frmMain" method="post" action="" OnSubmit="return fncSubmit();">

  <table width="483" border="0">
  <?
	for($i=1;$i<=10;$i++)
	{
  ?>
    <tr>
      <td width="146">No <?=$i;?> </td>
      <td width="110"><input name="radionNo<?=$i;?>" id="radionNo<?=$i;?>_1" type="radio" value="1">
      Option 1 </td>
      <td width="110"><input name="radionNo<?=$i;?>" id="radionNo<?=$i;?>_2" type="radio" value="2">
      Option 2 </td>
      <td width="99"><input name="radionNo<?=$i;?>" id="radionNo<?=$i;?>_3" type="radio" value="3">
      Option 3 </td>
    </tr>
 <?
	}
 ?>
  </table>
  <input type="hidden" name="hdnRows" value="<?=$i-1;?>">
  <input type="submit" name="Submit" value="Submit">

</form>
</body>
</html>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-22 11:57:59 By : gosling
 


 

No. 11



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

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

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

ตอบความคิดเห็นที่ : 9 เขียนโดย : teez1232002 เมื่อวันที่ 2013-06-22 11:32:26
รายละเอียดของการตอบ ::
... ในส่วนนั้นแก้ได้แล้วค่ะ คือมันเป็นแบบประเมิน ต้องการให้เลือกให้ครบระหว่าง 1-5 ค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-22 11:59:28 By : gosling
 


 

No. 12

Guest



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-23 21:11:37 By : gosling
 


 

No. 13



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

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

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

ช่วยหน่อยนะคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-24 11:18:53 By : gosling
 


 

No. 14

Guest


ผมก็ไม่ได้เข้ามาบ่อยนะครับ เป็นพวกขาจร

https://www.thaicreate.com/tutorial/javascript-check-checkbox.html

https://www.thaicreate.com/tutorial/javascript-check-null-input-text-field.html

แนะนำให้ใช้ตามตัวอย่างดูครับ

แต่ยังมีอีกวิธีนึง อันนี้น่าจะง่ายที่สุดแล้ว
ตัว radio มันต้องคลิกใช่ไหมครับ
เราก็ทำให้มันเลือกเป็น default ไปเลย
Code (PHP)
<input type="radio" name="<? echo "ch".$i; ?>" value="5">

แบบนี้จะได้ไม่ต้องเช็คให้วุ่นวาย
แต่มันก็ต้องดูงานด้วยนะครับ ว่ามันเป็นการชี้นำเกินไปรึป่าว
มันอาจจะเป็นการกึ่งบังคับให้ประเมินเลยก็ได้
ลองพิจารณาดูนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-24 11:50:29 By : RootElement@KMUTNB
 


 

No. 15

Guest


ก็อบมาลืมพิมพ์เพิ่ม
Code (PHP)
<input type="radio" name="<? echo "ch".$i; ?>" value="5" checked>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-24 11:51:11 By : RootElement@KMUTNB
 


 

No. 16



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

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

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

ตอบความคิดเห็นที่ : 14 เขียนโดย : RootElement@KMUTNB เมื่อวันที่ 2013-06-24 11:50:29
รายละเอียดของการตอบ ::
ตอนแรกก็กะว่าจะให้มีค่า default เพื่อที่จะได้ไม่ต้องเช็คค่าว่าง
แต่ที่เห็นแบบประเมินส่วนใหญ่จะไม่ใส่ค่า default ให้
อยากทำแบบที่สองค่ะ ลองทำแล้วแต่ไม่ได้ค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-24 12:05:38 By : gosling
 


 

No. 17

Guest


อ้อ ถ้าตามนี้จะเข้าใจง่ายกว่า

https://www.thaicreate.com/tutorial/javascript-check-radio-button.html

Code (PHP)
document.form1.chk2.checked

เหมือนกับ
Code (PHP)
document.getElementById("chk2").checked

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-24 14:03:00 By : RootElement@KMUTNB
 


 

No. 18



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

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

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

ตอบความคิดเห็นที่ : 17 เขียนโดย : RootElement@KMUTNB เมื่อวันที่ 2013-06-24 14:03:00
รายละเอียดของการตอบ ::
ลองทำดูแล้วแต่ทำไม่ถูกค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-24 14:51:50 By : gosling
 


 

No. 19

Guest


ถ้างั้นเอาแบบนี้เลยแล้วกันครับ ถ้ายังเขียน javascript ไม่ค่อยได้
ก็ให้เช็คค่าแบบ PHP เลยแล้วกันครับ

ในหน้า insert
Code (PHP)
if($_POST['ch1'] ==NULL){
เช็คไม่ครบ
}
else{
เช็คครบแล้ว
}


น่าจะมีสักตัวที่เช็คได้
$_POST['ch1'] ==NULL
$_POST['ch1'] ==0
$_POST['ch1'] ==""

*ผมไม่ได้เขียนให้ทั้งหมดนะ ลองปรับๆเอา
**แต่ก่อนผมก็ทำแบบนี้หละ ยังไงก็ลองศึกษา Javascrip Jquery ดูนะครับ มันช่วยได้เยอะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-24 16:24:14 By : RootElement@KMUTNB
 

   

ค้นหาข้อมูล


   
 

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