ทำไม? แก้ปัญหาไม่ได้ซักที? ไม่เข้าใจ? งง?


ทำไม? แก้ปัญหาไม่ได้ซักที? ไม่เข้าใจ? งง?

  เมื่อพูดถึงโปรแกรม ปัจจุบันนุ้ยได้เขียนโปแกรมที่ใช้งานสำหรับกองกิจฯ มมส. หลายโปแกรมเหมือนกันค่ะ เช่น โปรแกรมสารบรรณ  โปรแกรมงานวินัยและพัฒนานิสิต   โปรแกรมงานทุนการศึกษา  โปรแกรมงานกีฬา โปรแกรมสวัสดิภาพนิสิต ล่าสุดโปรแกรมฐานข้อมูลรหัสกิจกรรม และล่าสุดยิ่งกว่าโปรแกรมการใช้งานอาคารพลศึกษา พร้อมทั้ง ควบคู่ไปกับการเป็น เว็บมาสเตอร์ ของกองกิจฯ และอื่นๆอีกจิปาถะ อิอิอิ      

    เมื่อสัปดาห์ที่ผ่านมา นุ้ยได้รับมอบหมายให้เขียนโปรแกรมฐานข้อมูลรหัสกิจกรรม เพื่อนำไปสู่ทรานสคริปต์กิจกรรม  โปรแกรมทรานสคริปต์กิจกรรม เป็นระบบที่ใหญ่มากๆ  ครอบคลุมทุกส่วน  ลึกซึ้งสุดๆเลยค่ะ  มองได้ทะลุปรุโปร่งมากๆสำหรับคนออกแบบระบบ  อันนี้ต้องยกให้กับพี่พนัสและทีมงานกิจกรรมค่ะ  ซึ่งระบบจริงๆยังไม่เสร็จสมบูรณ์ กำลังอยู่ในระหว่างดำเนินการค่ะ    

    หัวหน้านุ้ยเลยสั่งการว่าถ้ามัวแต่รอให้โปรแกรมเสร็จสมบูรณ์ ข้อมูลกิจกรรมจะหยุดนิ่งไม่มีการเคลื่อนไหว ไม่เป็นปัจจุบัน จึงควรมีข้อมูลเกี่ยวกับรหัสกิจกรรมให้เด็กรับทราบบ้างเพื่อการจดบันทึกกิจกรรมต่างๆ ลงสมุดกิจกรรม  ดังนั้นจึงมอบหมายให้นุ้ยทำระบบสำรองไปก่อน คือระบบฐานข้อมูลรหัสกิจกรรม ที่นิสิตสามารถค้นหารหัสกิจกรรมได้ผ่านอินเทอร์เน็ต ส่วนเจ้าหน้าที่ให้สามารถกำหนดรหัสกิจกรรมให้กับกิจกรรมนิสิตที่จัดขึ้นได้ โดยสามารถเพิ่ม ลบ แก้ไข ค้นหา ได้  ทั้งนี้ให้เจ้าหน้าที่กองกิจและเจ้าหน้าที่ที่รับผิดชอบเกี่ยวกับกิจกรรมนิสิตในระดับคณะฯ มีบัญชีผู้ใช้และรหัสผ่านเข้าใช้ระบบ   จึงจะสามารถเพิ่ม ลบ แก้ไข ค้นหา ข้อมูลต่างๆได้ จากลักษณะของโปรแกรม ไม่ใช่เรื่องยากใช่ไหมคะ       

    นุ้ยเขียนโปรแกรมมาหลายตัวแล้วก็ไม่มีปัญหาอะไรนะคะ แต่ทำไมโปรแกรมนี้นุ้ยเกิดปัญหาก็ไม่ทราบ  ปัญหาที่ว่าคือ การแก้ไขข้อมูล  พอกดแก้ไขก็ฟ้องบอกว่าแก้ไขเรียบร้อยแล้ว   แต่พอดูผลลัพธ์กลับไม่เปลี่ยนแปลง คือไม่สามารถแก้ไขได้   แต่ตรงกันข้าม ถ้าเรา test โปรแกรมการแก้ไข  ผลปรากฎว่าแก้ไขได้   โอยพระเจ้า!  นุ้ยเลย งงๆๆๆๆๆๆ ค่ะ  มองหาจุด error ก็หาไม่เจอใครตอบได้ช่วยบอกทีค่ะ ช่วยหาจุดที่ error ช่วยหน่อยค่ะ อิอิอิ จักขอบพระคุณอย่างยิ่งค่ะ 

   <?$host="localhost";

$username="";

$password="";

$db="sa";

$tb="codeacties"; 

$connect= mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");

mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้"); 

$sql="update $tb set  no='$no',id='$id',                   date_start='$date_start',date_stop='$date_stop',project='$project',

pace='$pace',choom='$choom',tum='$tum',aum='$aum',jung='$jung',

org='$org',type='$type',num='$num',files='$files'  where id=$id"; $db_query=mysql_db_query($db,$sql); 

echo "<left><font color= red>แก้ไขข้อมูล id=$id เรียบร้อยแล้ว </font>";

echo "<left><font color= red><a href=?n=search>กลับไปแก้ไขข้อมูลอีกครั้ง </a></font>";mysql_close();?>  

ตอนนี้นุ้ยเลยพักสายตาจากโปรแกรมมาเขียนบันทึกขอความช่วยเหลือค่ะ อิอิอิ เอ๊ ...เพิ่งนึกได้ว่า ยังมีโปรแกรมต้องเขียนอีกนี่นา เมื่อเช้าหัวหน้าเพิ่งสั่งให้เขียนโปรแกรมการใช้อาคารพลศึกษา ให้กับงานกีฬา.....แต่ต้องขอตัวไปทานข้าวก่อนนะคะ  

แล้วเจอกันนะโปรแกรม....อิ่มท้องแล้ว อาจจะมองเห็นจุดบกพร่องที่เกิดขึ้นได้  อิอิอิ

หมายเลขบันทึก: 99596เขียนเมื่อ 30 พฤษภาคม 2007 12:10 น. ()แก้ไขเมื่อ 29 พฤษภาคม 2012 10:43 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (22)

ขอดู error หน่อยได้มั้ยครับ

 

ลองใส่ Code แบบนี้เพิ่มเข้าไปนะครับ

die('ชื่อต่อ MySQL ไม่ได้'.mysql_error(). "บรรทัดที่" .__LINE__);

 ส่วนคำสั่งหยุดการเชื่อมต่อ บรรทัดสุดท้ายให้ใส่แบบนี้ครับ

mysql_close($connect);

ลองดูครับ เผื่อช่วยหาจุด ERROR ได้

 

สวัสดีค่ะ

P

ตอนนี้ไม่มี error ฟ้องแล้วค่ะ

มีแต่เพียงข้อความบอกว่า id=12 แก้ไขเรียบร้อยแล้ว

แต่ความเป็นจริงไม่ได้แก้ไขเลยค่ะ  นี่แหละค่ะสาเหตุที่ งง

ขอบคุณมากค่ะ

อืม...

มีอะไรผิดตอนส่งค่าหรือเปล่าครับ

 

สวัสดีค่ะ

P

นุ้ยลองใส่ code ตามที่บอกแล้วค่ะ ปรากฎข้อความว่า เชื่อมต่อ MySQL ไม่ได้Unknown column 'E007502101' in 'where clause'บรรทัดที่17

ดูจาก code คิดว่ายังไม่ได้รับค่ามาจาก ฟอร์มแก้ไขน่ะครับ

 

ถึงคุณ

P
นี่เป็นฟอร์มแก้ไขน่ะค่ะ 

<?
$host="localhost";
$username="nuymsu";
$password="nuymsu";
$db="sa";
$tb="codeacties";
$connect= mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="select * from $tb where no=$no";
$db_query=mysql_db_query($db,$sql);
$result = mysql_fetch_array($db_query);
$no=$result[no];
$id=$result[id];
$date_start=$result[date_start];
$date_stop=$result[date_stop];
$project=$result[project];
$pace=$result[pace];
$choom=$result[choom];
$tum=$result[tum];
$aum=$result[aum];
$jung=$result[jung];
$org=$result[org];
$type=$result[type];
$num=$result[num];
$files=$result[files];

?>
<form name="form1" method="post" action="?n=update1">
  <table width="43%" border="0" cellpadding="0" cellspacing="0" bgcolor="#D7EBFF">
    <tr bgcolor="#EAD5D5">
      <td colspan="2"><div align="center"><strong>แก้ไขข้อมูล</strong><br>
       no=<? echo"$no";?>   <br>
  
        
        </div></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td width="41%"><div align="right"><strong><font size="2">รหัสกิจกรรม</font></strong></div></td>
      <td width="59%"><input name="id" type="text" value="<? echo"$id";?>" size="11"></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td><div align="right"><strong><font size="2">ว/ด/ปี ที่เริ่ม</font></strong></div></td>
      <td><input name="date_start" type="text" value="<? echo"$date_start";?>" size="12"></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td><div align="right"><strong><font size="2">ว/ด/ปี ที่สิ้นสุด</font></strong></div></td>
      <td><input name="date_stop" type="text" value="<? echo"$date_stop";?>" size="12"></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td><div align="right"><strong><font size="2">ชื่อโครงการ</font></strong></div></td>
      <td><input name="project" type="text" value="<? echo"$project";?>" size="40"></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td><div align="right"><strong><font size="2">สถานที่</font></strong></div></td>
      <td><input name="pace" type="text" value="<? echo"$pace";?>" size="40"></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td><div align="right"><strong><font size="2">ชุมชน</font></strong></div></td>
      <td><input name="choom" type="text" value="<? echo"$choom";?>" size="40"></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td><div align="right"><strong><font size="2">ตำบล</font></strong></div></td>
      <td><input name="tum" type="text" value="<? echo"$tum";?>" size="40"></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td><div align="right"><strong><font size="2">อำเภอ</font></strong></div></td>
      <td><input name="aum" type="text" value="<? echo"$aum";?>" size="40"></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td><div align="right"><strong><font size="2">จังหวัด</font></strong></div></td>
      <td><input name="jung" type="text" value="<? echo"$jung";?>" size="40"></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td><div align="right"><strong><font size="2">องค์กรที่รับผิดชอบ</font></strong></div></td>
      <td><input name="org" type="text" value="<? echo"$org";?>" size="40"></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td><div align="right"><font size="2"><strong>ประเภทกิจกรรม</strong></font></div></td>
      <td><font size="2"><strong>
        <input name="type" type="text" value="<? echo"$type";?>" size="40">
        </strong></font></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td><div align="right"><strong><font size="2">ผู้เข้าร่วม</font></strong></div></td>
      <td><font size="2"><strong>
        <input name="num" type="text" value="<? echo"$num";?>" size="20">
        </strong></font></td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr bgcolor="#EAD5D5">
      <td colspan="2"><div align="center">
          <input type="submit" name="Submit" value="บันทึกข้อมูล">
          <input type="reset" name="Submit2" value="Clear">
        </div></td>
    </tr>
  </table>
  <p><br>
    <br>
 
  </p>
  <p><br>
    <br>
  
  </p>
</form>
<?
mysql_close($connect);
?>

ในสคริปอัพเดท

ลองใส่ code ต่อไปนี้ดูนะครับ ใส่ไว้ด้านบนก่อนคำสั่งติดต่อฐานข้อมูลครับ

$no=$_REQUEST['no'];
$id=$_REQUEST['id'];
$date_start=$_REQUEST['date_start'];
$date_stop=$_REQUEST['date_stop'];
$project=$_REQUEST['project'];
$pace=$_REQUEST['pace'];
$choom=$_REQUEST['choom'];
$tum=$_REQUEST['tum'];
$aum=$_REQUEST['aum'];
$jung=$_REQUEST['jung'];
$org=$_REQUEST['org'];
$type=$_REQUEST['type'];
$num=$_REQUEST['num'];
$files=$_REQUEST['files'];

ได้ผลยังไงบอกด้่วยครับ 

คุณนุ้ยก็เขียน PHP เหมือนกัน :-)

ตอนนี้ผมลองเล่น CakePHP อยู่ อาจจะช่วยให้ชีวิตง่ายขึ้น?  

สวัสดีค่ะ
P

นุ้ยลองใส่ code นี้แล้วค่ะ แต่ก็ไม่ได้เหมือนเดิมค่ะ

$no=$_REQUEST['no'];
$id=$_REQUEST['id'];
$date_start=$_REQUEST['date_start'];
$date_stop=$_REQUEST['date_stop'];
$project=$_REQUEST['project'];
$pace=$_REQUEST['pace'];
$choom=$_REQUEST['choom'];
$tum=$_REQUEST['tum'];
$aum=$_REQUEST['aum'];
$jung=$_REQUEST['jung'];
$org=$_REQUEST['org'];
$type=$_REQUEST['type'];
$num=$_REQUEST['num'];
$files=$_REQUEST['files'];

 

สวัสดีค่ะคุณวีร์
P

ขอบคุณค่ะคุณวีร์ 

ใช่ค่ะ นุ้ยเขียน php ค่ะ แต่ก็ไม่ได้เก่งนะคะ พอไปวัดไปวาได้ อิอิอิ  ปัญหานี้นุ้ยยังแก้ไม่ได้เลยค่ะ งง มากๆ 

ซึ่งโปรแกรมอื่นที่เขียนก็ไม่เห็นมีปัญหาอะไร แต่ทำไมตัวนี้มีปัญหา ยัง งง กะตัวเองไม่หายเลยค่ะ

โชคดีที่ได้คุณ

P
 ช่วยแก้ปัญหานี้ ทำให้รู้ line ที่ error แนวทางแก้ไขได้มากขึ้นค่ะ ต้องขอบคุณ คุณbunpot มากๆค่ะ 

 

ตอนนี้ฟังข่าวยุบพรรคไปด้วย...เลยไม่ได้อ่านรายละเอียดในบันทึก  เอาเป็นว่ามาเยี่ยมก่อนก็แล้วกันครับ
สวัสดีค่ะคุณ 
P

นุ้ยแก้โปรแกรมได้แล้วค่ะ  

ผิดตรงไฟล์ update ค่ะ  ส่วนของ where ซึ่งเดิมใช้ where id=$id";  เปลี่ยนเป็น where no=$no"; และ

เพิ่มตรงส่วนที่คุณ bunpot บอกว่า ลองใส่ code ต่อไปนี้ดูนะครับ ใส่ไว้ด้านบนก่อนคำสั่งติดต่อฐานข้อมูลครับ

$no=$_REQUEST['no'];
$id=$_REQUEST['id'];
$date_start=$_REQUEST['date_start'];
$date_stop=$_REQUEST['date_stop'];
$project=$_REQUEST['project'];
$pace=$_REQUEST['pace'];
$choom=$_REQUEST['choom'];
$tum=$_REQUEST['tum'];
$aum=$_REQUEST['aum'];
$jung=$_REQUEST['jung'];
$org=$_REQUEST['org'];
$type=$_REQUEST['type'];
$num=$_REQUEST['num'];
$files=$_REQUEST['files'];

สามารถแก้ไขได้แล้วค่ะ ขอบคุณมากค่ะ

P  คิดว่าใช้ CakePHP แล้วปัญหาพวกนี้น่าจะน้อยลง (คล้ายๆ Ruby on Rails)  เขียนน้อยลงด้วย (โฆษณาเหมือนได้ตังมา) 
 
เวลาเขียนพวกกลัว SQL Injection จังเลย  T_T กับ XSS ก็กลัวแต่ก็ยังงงๆว่ามันคืออะไร :-P

สวัสดีค่ะคุณย่ามแดง

P

ขอบคุณมากค่ะที่แวะมาเยี่ยม ตกลง ยุบไม่ยุบคะ ลุ้นเหมือนกันค่ะ

สวัสดีค่ะคุณวีร์

P

คงต้องขอคำแนะนำเกี่ยวกับ CakePHP  กะคุณวีร์แล้วล่ะค่ะ  เขียนน้อยลง ลดปัญหาเหล่านี้  ดีค่ะดี ชอบๆ เขียนน้อยแต่ได้ประโยชน์ครบ

ยังไงก็รบกวนด้วยนะคะ อาจารย์ อิอิอิ

ดีใจด้วยครับที่แก้ปัญหาได้แล้ว

เห็นคุณบ่าววีร์ พูดถึง Cakephp ผมเลยต้องไปหาข้อมูลจาก google ดูซะหน่อย

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

 

 

สวัสดีค่ะคุณ

P

นุ้ยก็เหมือนกันค่ะ คงต้องหาข้อมูลเกี่ยวกับ Cakephp มาศึกษาบ้างซะแล้ว จะได้ช่วยให้ทำงานได้เร็วขึ้นค่ะ

ขอบคุณมากค่ะ

เริ่มจากดู video ให้เห็นภาพกว้างๆ ก่อนก็ได้ครับ http://cakephp.org/screencasts/view/1

 

พอจะเริ่มใช้ค่อยอ่านคู่มือที่ http://manual.cakephp.org/ หรือไม่ก็ดู video อื่นๆ ที่ http://cakephp.org/screencasts/ 

สวัสดีค่ะคุณวีร์

P
ขอบคุณมากค่ะ
จะลองศึกษาข้อมูลที่คุณวีร์แนะนำมานะคะ
ถ้ามีปัญหาสอบถามคุณวีร์ได้ใช่ไหมคะ ? 
ขอบคุณอีกครั้งค่ะ

ถามได้ครับ แต่อาจจะตอบไม่ได้

ถึงคุณวีร์

P
ถามได้ แต่อาจจะตอบไม่ได้
เอ๊!  อิอิอิ
ให้ถามได้ ก็โอเคแล้วค่ะ อิอิอิ 
พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท