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 > php ส่งข้อมูลจากฟอร์ม แต่เข้าแค่หนึ่งเงื่อนไขค่ะ จากทั้งหมดสี่เงื่อนไข



 

php ส่งข้อมูลจากฟอร์ม แต่เข้าแค่หนึ่งเงื่อนไขค่ะ จากทั้งหมดสี่เงื่อนไข

 



Topic : 086211



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



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




ปัญหาคือ ไฟล์ A_create_survey.php ส่งข้อมูลเข้าหน้าตัวเองแล้ว จะเช็คเงื่อนไขแล้วเก็บข้อมูลลงฐานข้อมูล แต่ว่าข้อมูลที่ส่งมันเก็บลงแต่เงื่อนไขสุดท้ายอย่างเดียว (sequence)ค่ะ

**อธิบาย ไฟล์ create_form.php จะเป็นการส่งชื่อแบบสำรวจไปยัง A_create_survey.php แล้วจะนำชื่อไปตั้งเป็นชื่อเทเบิ้ลในฐานข้อมูลจากนั้นในหน้าเดียวกัน ก็จะมีฟอร์มเพื่อทำข้อแบบสำรวจแบบต่างๆ ส่งข้อมูลแล้วประมวลผลในหน้าเดียวเพื่อสร้างชื่อแบบสำรวจ ในเทเบิ้ลนั้นๆ

create_form.php

Code (PHP)
<form id="form1" name="form1" method="post" action="A_create_survey.php" onSubmit="JavaScript:return fncSubmit();">
				<p id="topic_name">โปรดตั้งชื่อแบบสำรวจ :</p>
				<input name="topic_name" type="text" id="inputtopic" size="40" />
				<br>
				<br>
				<input id="inputtopicbut" type="submit" name="submit" value="เริ่มสร้างแบบสอบถาม" />
</form>




A_create_survey.php

Code (PHP)
<?php
@mysql_connect("localhost", "root", "91205") or die(mysql_error());
mysql_select_db("survey_question");

$topic = $_POST["topic_name"];
$sql = "CREATE TABLE $topic(
		q_id INT(4)  AUTO_INCREMENT PRIMARY KEY,
		q_topic TEXT ,
		q_choice TEXT ,
		q_type INT(2) );";
		
		mysql_query($sql);
		
if($_POST["textbox"]){
	$quest= $_POST['quest'];
	
	$sql = "INSERT INTO $topic VALUES
		 	(0,'$quest','',1);";
					
	@mysql_query($sql) or die(mysql_error());
}

if($_POST["radio"]){
	$quest = $_POST['quest'];
	//แยกแต่ละบรรทัดให้เป็นบรรทัดละ 1 ตัวเลือก
	$choices = explode("\n", $_POST['choice']);
	
	//เพิ่มข้อมูลในตาราง choice โดยให้ตัวเลือกละ 1 แถว
	//ดังนั้นต้องวนลูปเพื่อเพิ่มข้อมูลทีละแถวตามจำนวนตัวเลือกที่นับได้
	for($i = 0; $i < count($choices); $i++) {
		if(empty($choices[$i])) {
			continue;
		}
		$cc_data.=$choices[$i].",";
	}
	
	$sql = "INSERT INTO $topic VALUES
		 	(0,'$quest','$cc_data',2);";
					
	@mysql_query($sql) or die(mysql_error());
}

if($_POST["checkbox"]){
	$quest= $_POST['quest'];
	
	//แยกแต่ละบรรทัดให้เป็นบรรทัดละ 1 ตัวเลือก
	$choices = explode("\n", $_POST['choice']);
	
	//เพิ่มข้อมูลในตาราง choice โดยให้ตัวเลือกละ 1 แถว
	//ดังนั้นต้องวนลูปเพื่อเพิ่มข้อมูลทีละแถวตามจำนวนตัวเลือกที่นับได้
	for($i = 0; $i < count($choices); $i++) {
		if(empty($choices[$i])) {
			continue;
		}
		$cc_data.=$choices[$i].",";
	}
	
	$sql = "INSERT INTO $topic VALUES
		 	(0,'$quest','$cc_data',3);";
					
	@mysql_query($sql) or die(mysql_error());
}
		
if($_POST["sequence"]){
	$quest= $_POST['quest'];
	
	$sql = "INSERT INTO $topic VALUES
		 	(0,'$quest','',4);";
					
	@mysql_query($sql) or die(mysql_error());
}
?>

<article id="article">
<h1 id="head"><?=$_POST["topic_name"]."<br>";?></h1>
				<a href="#onebox" ><input id="choicebut" type="button" name="create" value="คำถามปลายเปิด"></a>
				<a href="#twobox" ><input id="choicebut" type="button" name="create" value="คำถามแบบเลือกได้ตัวเลือกเดียว"></a>
				<a href="#threebox" ><input id="choicebut" type="button" name="create" value="คำถามแบบเลือกได้หลายตัวเลือก"></a>
				<a href="#fourbox" ><input id="choicebut" type="button" name="create" value="คำถามแบบจัดอันดับ"></a>
				
				<div id="boxx">
					<div id="bigbox">
					
						<div id="onebox">
							<form id="form1" name="form1" method="post" action="A_create_survey.php">
							  <table border="0" cellspacing="3" cellpadding="0" align="center">
								<tr>
								  <td>ชนิด:</td>
								  <td>คำถามปลายเปิด</td>
								</tr>
								<tr>
								  <td>คำถาม:</td>
								  <td><input name="quest" type="text" id="quest" size="40" /></td>
								</tr>
								<tr>
								  <td
								  <br/>
								  <br/>
								  </td>
								  <td></td>
								</tr>
								<tr>
								  <td>&nbsp;</td>
								  <td>&nbsp;</td>
								</tr>
								<tr>
								  <td>&nbsp;</td>
								  <input name="topic_name"type="hidden"  value="<?=$_POST["topic_name"];?>" />
								  <td><input id="nextbut" type="submit" name="textbox" value="ข้อถัดไป" /></td>
								</tr>
							  </table>
							</form>
						</div>
						
						<div id="twobox">
							<form id="form2" name="form2" method="post" action="A_create_survey.php">
							  <table border="0" cellspacing="3" cellpadding="0" align="center">
								<tr>
								  <td>ชนิด:</td>
								  <td>คำถามแบบเลือกได้ตัวเลือกเดียว</td>
								</tr>
								<tr>
								  <td>คำถาม:</td>
								  <td><input name="quest" type="text" id="quest" size="40" /></td>
								</tr>
								<tr>
								  <td valign="top">ตัวเลือก:
									<br />
								  (บรรทัดละ <br />
									1 ตัวเลือก) </td>
								  <td><textarea name="choice" cols="37" rows="5" id="choice"></textarea></td>
								</tr>
								<tr>
								  <td>&nbsp;</td>
								  <td>&nbsp;</td>
								</tr>
								<tr>
								  <td>&nbsp;</td>
									  <input name="topic_name"type="hidden"  value="<?=$_POST["topic_name"];?>" />
								  <td><input id="nextbut" name="radio"     type="submit"  value="ข้อถัดไป" /></td>
								</tr>
							  </table>
							</form>
						</div>
						
						<div id="threebox">
							<form id="form3" name="form3" method="post" action="A_create_survey.php">
							  <table border="0" cellspacing="3" cellpadding="0" align="center">
								<tr>
								  <td>ชนิด:</td>
								  <td>คำถามแบบเลือกได้หลายตัวเลือก</td>
								</tr>
								<tr>
								  <td>คำถาม:</td>
								  <td><input name="quest" type="text" id="quest" size="40" /></td>
								</tr>
								<tr>
								  <td valign="top">ตัวเลือก:
									<br />
								  (บรรทัดละ <br />
									1 ตัวเลือก) </td>
								  <td><textarea name="choice" cols="37" rows="5" id="choice"></textarea></td>
								</tr>
								<tr>
								  <td>&nbsp;</td>
								  <td>&nbsp;</td>
								</tr>
								<tr>
								  <td>&nbsp;</td>
								  <input name="topic_name"type="hidden"  value="<?=$_POST["topic_name"];?>" />
								  <td><input id="nextbut" type="submit" name="checkbox" value="ข้อถัดไป" /></td>
								</tr>
							  </table>
							</form>
						</div>
						
						<div id="fourbox">
							<form id="form4" name="form4" method="post" action="A_create_survey.php">
							  <table border="0" cellspacing="3" cellpadding="0" align="center">
								<tr>
								  <td>ชนิด:</td>
								  <td>คำถามแบบจัดอันดับ</td>
								</tr>
								<tr>
								  <td>คำถาม:</td>
								  <td><input name="quest" type="text" id="quest" size="40" /></td>
								</tr>
								<tr>
								  <td
								  <br/>
								  <br/>
								  </td>
								  <td></td>
								</tr>
								<tr>
								  <td>&nbsp;</td>
								  <td>&nbsp;</td>
								</tr>
								<tr>
								  <td>&nbsp;</td>
								  <input name="topic_name"type="hidden"  value="<?=$_POST["topic_name"];?>" />
								  <td><input id="nextbut" type="submit" name="sequence" value="ข้อถัดไป" /></td>
								</tr>
							  </table>
							</form>
						</div>
					</div>
				</div>
				<form>
				<a href="JavaScript:if(confirm('คุณต้องการสิ้นสุดการทำแบบสำรวจใช่หรือไม่ ?')==true){window.location='A_saveform.php'};" alt="" ><input id="finishbut" type="button" name="exit" value="สิ้นสุดการทำแบบสอบถาม"/></a>
</article>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-11-03 11:44:23 By : jummu View : 1060 Reply : 3
 

 

No. 1



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



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


ช่วยหน่อยค่าา T T






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-03 18:07:36 By : jummu
 


 

No. 2

Guest


1. การตั้งชื่อนะ ตรงนี้น่ะ $_POST['radio'] , $_POST['textbox'] มันเป็นชื่อสงวนน่ะ มันไม่ควรเอามาใช้เป็นชื่อตัวแปรน่ะ
2. ฟอร์มมันมีเยอะไปไหมน่ะ ในความคิดของเราน่ะ มีแค่ฟอร์มเดียวก็พอ แล้วใช้การเช็คเอาน่ะว่าเข้าเงื่อนไขไหนก็ให้แสดงเฉพาะฟอร์มนั้น
ออกมาทำงานเอาน่ะ

ก็ดูเรื่องการตั้งชื่อตัวแปรก่อนน่ะ ระวังเรื่องคำสงวนน่ะ และลองเช้คดูว่าค่ามันถูกส่งมาครบหรือป่าว ค่าที่รับน่ะมันมีเท่ากับจำนวนของ input ทั้งหมดที่ใช้หรือป่าว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-03 19:47:01 By : บังเอิญผ่านมาเห็น
 

 

No. 3



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



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


ขอบคุณค่ะ เดี๋ยวจะลองแก้ดูค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-04 11:32:17 By : jummu
 

   

ค้นหาข้อมูล


   
 

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