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

HOME > PHP > PHP Forum > [PHP] การแก้ไขข้อมูล โดยเช็คจากฐานข้อมูลก่อนว่าชื่อซ้ำกันหรือไม่



 

[PHP] การแก้ไขข้อมูล โดยเช็คจากฐานข้อมูลก่อนว่าชื่อซ้ำกันหรือไม่

 



Topic : 047922



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



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




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

Code หน้าแก้ไขครับ
Code (PHP)
<?
$no_edit=$_GET['no_edit'];
include"connect.php";
$tblname="user";
$sql="select *from $tblname where no='$no_edit'";
$dbquery=mysql_db_query($dbname,$sql);
$result=mysql_fetch_array($dbquery);
$user=$result['user'];
$pass=$result['pass'];
$type=$result['type'];
?>
<form id="form1" name="form1" method="post" action="check_user_edit.php">
<table width="536" border="0" align="center">
  <tr>
    <td width="135" align="center">Username</td>
    <td width="135" align="center">Password</td>
    <td width="135" align="center">ประเภทผู้ใช้งาน</td>
    <td width="102" align="center"><input name="no_edit" type="hidden" id="no_edit" value="<?= $no_edit ?>" /></td>
  </tr>
  <tr>
    <td align="center" bgcolor="#FFFFFF"><input name="user" type="text" id="user" value="<? echo $user; ?>" size="15" /></td>
    <td align="center" bgcolor="#FFFFFF"><input name="pass" type="text" id="pass" value="<? echo $pass; ?>" size="15" /></td>
    <td align="center" bgcolor="#FFFFFF"><select name="type" id="type">
      <option value="" <?php if (!(strcmp("", $type))) {echo "selected=\"selected\"";} ?>>-------------------</option>
      <option value="ผู้ใช้งานทั่วไป" <?php if (!(strcmp("ผู้ใช้งานทั่วไป", $type))) {echo "selected=\"selected\"";} ?>>ผู้ใช้งานทั่วไป</option>
      <option value="หัวหน้าแผนก" <?php if (!(strcmp("หัวหน้าแผนก", $type))) {echo "selected=\"selected\"";} ?>>หัวหน้าแผนก</option>
      <option value="ผู้ดูแลระบบ" <?php if (!(strcmp("ผู้ดูแลระบบ", $type))) {echo "selected=\"selected\"";} ?>>ผู้ดูแลระบบ</option>
    </select></td>
    <td bgcolor="#FFFFFF"><label for="type">
      <input type="submit" name="submit" id="submit" value="บันทึก" />
     <input type="button" onclick="window.location='admin.php'" value="ยกเลิก">
    </label></td>
  </tr>
</table>
</form>


อันนี้เป็น Code เช็คหน้าแก้ไขครับ
Code (PHP)
<?
include"connect.php";
$tblname="user";
$no_edit=$_POST['no_edit'];
$user=$_POST['user'];
$pass=$_POST['pass'];
$type=$_POST['type'];
if((empty($user))||(empty($pass))||(empty($type)) ){
echo "<script>alert('กรุณากรอกให้ครบ');history.back();</script>";
exit();
}else{
$sql = "select * FROM $tblname where (user='".$user."' ) ";
$query = mysql_query($sql);
$num=mysql_num_rows($query);
if(mysql_num_rows($query) != 0){ 
echo "<script>alert('ขออภัย!! ท่านไม่สามารถใช้ชื่อ $user ได้');history.back();</script>";
exit();
}else{
$sql_update = "update $tblname set user='$user',pass='$pass',type='$type' WHERE no ='$no_edit' ";
$result_update= mysql_query($sql_update) or die ("<script>alert('ไม่สามารถแก้ไขข้อมูลได้');history.back();</script>");
echo "<script>alert('แก้ไขข้อมูลเรียบร้อยแล้ว');window.location='admin.php';</script>";
exit();
}
} 
mysql_close();
?>


ภาพประกอบครับ
ภาพประกอบ

อีกอย่างครับ ผมอยากให้มันตัวเลขโดยเริ่มจาก 1 2 3 4 5 ... ไปเรื่อย ๆ อ่ะครับ ถ้าถึงมาจากฐานข้อมูลมันไม่ยอมรันเป็น 1 2 3 4.. อ่ะครับ
ภาพประกอบ


ภาพประกอบ

Code ครับ
Code (PHP)
<form id="form1" name="form1" method="post" action="check_add_user.php" onsubmit="javascript:return fncSubmit();">
  <table width="594" border="0" align="center">
    <tr>
      <td width="775" height="175" align="center" bgcolor="#FFFFFF"><p>
        <label for="user"></label>
      </p>
        <table width="525" height="20" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td width="135" height="20" align="center">Username</td>
            <td width="135" align="center">Password</td>
            <td width="135" align="center">ประเภทผู้ใช้งาน</td>
            <td width="102">&nbsp;</td>
          </tr>
          <tr>
            <td height="20" align="center" bgcolor="#FFFFFF"><input name="user" type="text" id="user" size="15" /></td>
            <td align="center" bgcolor="#FFFFFF"><input name="pass" type="text" id="pass" size="15" /></td>
            <td align="center" bgcolor="#FFFFFF"><select name="type" id="type">
              <option>-------------------</option>
              <option value="ผู้ใช้งานทั่วไป">ผู้ใช้งานทั่วไป</option>
              <option value="หัวหน้าแผนก">หัวหน้าแผนก</option>
              <option value="ผู้ดูแลระบบ">ผู้ดูแลระบบ</option>
            </select></td>
            <td align="left"><input type="submit" name="submit" id="submit" value="เพิ่ม" />
            <input type="reset" name="Reset" id="button" value="รีเซ็ต" /></td>
          </tr>
        </table>
        <table width="527" border="1">
          <tr>
            <td width="38" align="center">ลำดับ</td>
            <td width="120" align="center">ชื่อผู้ใช้งาน</td>
            <td width="120" align="center">รหัสผ่าน</td>
            <td width="125" align="center">ประเภทผู้ใช้</td>
            <td width="42" align="center">แก้ไข</td>
            <td width="42" align="center">ลบ</td>
          </tr>
          <tr>
          <? 
		  while($result=mysql_fetch_array($dbquery)){
		  ?>
          <td height="26" align="center"><?= $result[no]; ?></td>
           <td align="center"><label for="user"><?= $result[user]; ?></label></td>
            <td align="center"><label for="pass"></label><?= $result[pass]; ?></td>
            <td align="center"><label for="type"></label><?= $result[type]; ?></td>
<?
		    }
	?>
 </table></td>
    </tr>
   </table>
</form>


ขอบคุณมากๆ นะครับ ทุกท่าน



Tag : PHP, MySQL, HTML/CSS









ประวัติการแก้ไข
2010-08-30 16:54:39
2010-08-30 16:57:44
2010-08-30 16:58:27
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-08-30 16:41:46 By : _MOO_ View : 2081 Reply : 4
 

 

No. 1



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



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

ก็ไม่ต้องเช็ค username อีกครั้งสิครับมันก็ไม่แจ้งเตือนว่าซ้ำแล้ว

ส่วนเรื่องตัวเลขคุณก็กำหนดตัวแปรมาหนึ่งตัว

$No = 1;

while ( ) {

// วนค่า

$No++;
}

ถ้ามีการแบ่งหน้าก็เช็คตัวแปร์จากหน้าเพจมาคำีนวนให้ได้ตัวเริ่มต้นครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-30 17:00:26 By : oxygenyoyo
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : oxygenyoyo เมื่อวันที่ 2010-08-30 17:00:26
รายละเอียดของการตอบ ::
ใส่ code ตรงไหนอ่ะครับ ผมลองใส่แล้วมันก็รันตามตัวเลขในฐานข้อมูลอ่ะครับ มันไม่ยอมรันเป็น 1 2 3 4 5.....

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-31 09:25:41 By : _MOO_
 

 

No. 3



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



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

Code (PHP)
 <? 
  $No = 1; //ตัวอย่างนี้ใช้ได้แค่หน้าแรกถ้ามีการสร้างฟังก์ชันแบ่งหน้าคุณต้องใส่เงื่อนไขด้วย
		  while($result=mysql_fetch_array($dbquery)){
		  ?>
          <td height="26" align="center"><?= $No?></td>
           <td align="center"><label for="user"><?= $result[user]; ?></label></td>
            <td align="center"><label for="pass"></label><?= $result[pass]; ?></td>
            <td align="center"><label for="type"></label><?= $result[type]; ?></td>
<?
$No++;
        
		    }
	?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-31 10:08:51 By : oxygenyoyo
 


 

No. 4



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



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


มันไม่ขึ้นเลขเลยครับท่าน ลองเขียน code ให้ดูหน่อยได้ไหมครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-09-01 15:42:15 By : _MOO_
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่