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 > ขอคำแนะนำเรื่อง sql ป้องกันข้อมูลซ้ำ อยากให้คำสั่งแจ้งเตือนเป็นภาษาไทยครับ



 

ขอคำแนะนำเรื่อง sql ป้องกันข้อมูลซ้ำ อยากให้คำสั่งแจ้งเตือนเป็นภาษาไทยครับ

 



Topic : 124202



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



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




ตอนนี้ผมทำคำสั่งให้ระบบดักข้อมูลชื่อสินค้า (product_name) ที่มีอยู่ในฐานข้อมูลอยู่ก่อนแล้ว
แต่ติดปัญหาคือ จะให้คำสั่งแจ้งเตือนเป็นภาษาไทยแต่เป็นภาษาต่างด้าวแทนครับ ต้องแก้ยังไงครับ

n

Code ป้องกันข้อมูลซ้ำ
Code (PHP)
$sql="SELECT * FROM product WHERE product_name='".$product_name."'";  //บรรทัดนี้เป็นการ  เลือก ว่าจะต้องการติดต่อกับ product อะไร และโดยใช้ product_name เป็นตัวแปรเงื่อนไขในการเลือกข้อมูลที่ product_name ทึ่ต้องการทราบ
$query = mysql_query($sql); //การ เก็บค่า โดยใช้ mysql_query ครับ  เพื่อทำการ query คำสั่งที่ เก็บ อยู่ใน $sql
if(mysql_num_rows($query) != 0){ // ใช้ if ตั้งเงื่อนไขตรวจสอบมีชื่อสินค้าซ้ำหรือไม่ โดยนับจำนวนแถวของข้อมูลชื่อสินค้า mysql_num_rows(ตัวแปรที่แทนค่าการจัดการฐานข้อมูล) นับจำนวนแถวของ Result ที่ได้จากการ Query
//!= 0 คือ จำนวนแถวของ Result ที่ได้ และไม่มีค่าเท่ากับ 0 หรือว่างเปล่าครับ
 echo "<script>alert ('ข้อมูลซ้ำ');history.back();</script>"; // ใส่ alert เลยครับ //ชื่อสินค้าซ้ำ กรุณาตรวจสอบใหม่
exit(); //จบกระบวนการทำงาน
}else{ //ถ้าไม่มีชื่อสินค้าซ้ำ ก็ออกไปทำกระบวนการ insert


เสริมครับ code หน้านี้ทั้งหมดครับ ที่ code ป้องกันข้อมูลซ้ำมันอยู่นอก
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> จึงทำให้เป็นภาษาต่างด้าวครับ
Code (PHP)
<?php require_once('Connections/MyConnect.php'); 
// เรียกไฟล์ MyConnect.php ที่อยู่ใน Project_Retailstore จากภายนอก
session_start();
?> 
<?php
if (!isset($_SESSION)) {
   // บรรทัดนี้เป็น การ เรียกใช้ งานsession ครับ
}
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
  // For security, start by assuming the visitor is NOT authorized. 
  $isValid = False; 

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  if (!empty($UserName)) { 
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 
    // Or, you may restrict access to only certain users based on their username. 
    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && true) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}

$MM_restrictGoTo = "admin/index.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
  $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo); 
  exit;
}
?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
	$sql="SELECT * FROM product WHERE product_name='".$product_name."'";  //บรรทัดนี้เป็นการ  เลือก ว่าจะต้องการติดต่อกับ product อะไร และโดยใช้ product_name เป็นตัวแปรเงื่อนไขในการเลือกข้อมูลที่ product_name ทึ่ต้องการทราบ
$query = mysql_query($sql); //การ เก็บค่า โดยใช้ mysql_query ครับ  เพื่อทำการ query คำสั่งที่ เก็บ อยู่ใน $sql
if(mysql_num_rows($query) != 0){ // ใช้ if ตั้งเงื่อนไขตรวจสอบมีชื่อสินค้าซ้ำหรือไม่ โดยนับจำนวนแถวของข้อมูลชื่อสินค้า mysql_num_rows(ตัวแปรที่แทนค่าการจัดการฐานข้อมูล) นับจำนวนแถวของ Result ที่ได้จากการ Query
//!= 0 คือ จำนวนแถวของ Result ที่ได้ และไม่มีค่าเท่ากับ 0 หรือว่างเปล่าครับ
 echo "<script>alert ('ข้อมูลซ้ำ');history.back();</script>"; // ใส่ alert เลยครับ //ชื่อสินค้าซ้ำ กรุณาตรวจสอบใหม่
exit(); //จบกระบวนการทำงาน
}else{ //ถ้าไม่มีชื่อสินค้าซ้ำ ก็ออกไปทำกระบวนการ insert
  $insertSQL = sprintf("INSERT INTO product (product_name, cate_id, unit_id, product_balance, product_price, product_qty) VALUES (%s, %s, %s, %s, %s, %s)",//บรรทัดนี้ เป็นการ  insert ข้อมูล ที่ส่งมา ลง Table ครับ
                       GetSQLValueString($_POST['product_name'], "text"),
                       GetSQLValueString($_POST['cate_id'], "text"),
                       GetSQLValueString($_POST['unit_id'], "text"),
                       GetSQLValueString($_POST['product_balance'], "int"),
                       GetSQLValueString($_POST['product_price'], "double"),
					   GetSQLValueString($_POST['product_qty'], "int")); 
  mysql_select_db($database_MyConnect, $MyConnect);
  $Result1 = mysql_query($insertSQL, $MyConnect) or die(mysql_error()); 

  $insertGoTo = "product.php"; // insert ข้อมูลแล้วกลับไปหน้า product.php
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>insertproduct</title> 
<style type="text/css">
#MenuBar1 {
	font-size: 230%;
	font-family: "Courier New", Courier, monospace;
}
body p {
	font-size: 18px;
	text-align: center;
	color: #000;
}
body h2 {
	text-align: center;
}
</style>
<script src="js/jquery.js" type="text/javascript"></script>
<link href="css/bootstrap.min.css" rel="stylesheet" type="text/css" />
</head>

<body class='container'>
<p><img src="shop.jpg" width="1117" height="149" />
</p>
<h3>ร้านเกสร
</h3>
<p>ระบบจัดการฐานข้อมูลสำหรับร้านค้าปลีก</p>

<div class="btn-group">
  <button class="btn"><a href="sales_detail.php">ขายสินค้า</a></button>
</div>

<div class="btn-group">
  <button class="btn">ข้อมูลพื้นฐาน</button>
  <button class="btn dropdown-toggle" data-toggle="dropdown">
    <span class="caret"></span>
  </button>  
  <ul class="dropdown-menu">
    <li><a href="Product.php">ข้อมูลสินค้า</a></li>
    <li><a href="Category.php">ข้อมูลประเภทสินค้า</a></li>
    <li><a href="Supplier.php">ข้อมูลผู้จัดจำหน่าย</a></li>
    <!-- dropdown menu links -->
  </ul> 
</div>

<div class="btn-group">
  <button class="btn"><a href="Unit.php">หน่วยสินค้า</a></button>
</div>

<div class="btn-group">
  <button class="btn"><a href="repayment">จัดการลูกหนี้</a></button>
</div>

<div class="btn-group">  
  <button class="btn">เพิ่มเติม</button>
  <button class="btn dropdown-toggle" data-toggle="dropdown">
    <span class="caret"></span>
  </button>  
  <ul class="dropdown-menu">
    <li><a href="customer.php">ข้อมูลลูกหนี้</a></li>
    <!-- dropdown menu links -->
  </ul>
</div>

  <div class="btn-group">
  <button class="btn"><a href="edit-profile.php">แก้ไขข้อมูลส่วนตัว</a></button>
</div>

  <div class="btn-group">
  <button class="btn"><a href="admin/index.php">ออกจากระบบ</a></button>
</div>
<p>&nbsp;</p>
<script language="javascript">
function fncSubmit()
{
	if(document.form1.product_name.value == "")
	{
		alert("กรุณากรอกชื่อสินค้า");
		document.form1.product_name.focus();
		return false;
	}
	if(document.getElementById('cate_id').value  == "0"  )
    {
        alert('กรุณาเลือกประเภท');
        return false;
    }
	if(document.getElementById('unit_id').value  == "0"  )
    {
        alert('กรุณาเลือกหน่วย');
        return false;
    }
	if(document.form1.product_balance.value == "")
	{
		alert("กรุณากรอกคงเหลือต่ำสุด");
		document.form1.product_balance.focus();
		return false;
	}
	if(document.form1.product_price.value == "")
	{
		alert("กรุณากรอกข้อมูลราคา");
		document.form1.product_price.focus();
		return false;
	}
	if(document.form1.product_qty.value == "")
	{
		alert("กรุณากรอกข้อมูลจำนวนสินค้า");
		document.form1.product_qty.focus();
		return false;
	}
	document.form1.submit();
}
</script>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1"onSubmit="JavaScript:return fncSubmit();">
  <table align="center">
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td>เพิ่มสินค้า</td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">ชื่อสินค้า:</td>
      <td><input type="text" name="product_name" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">ประเภทสินค้า:</td>
<?php
mysql_connect("localhost", "root","0885272244") or die(mysql_error()); //เชื่อมต่อ localhost
mysql_select_db("retail store") or die(mysql_error()); //เลือกฐานข้อมูลที่จะติดต่อ
mysql_query("SET NAMES UTF8"); //Extension By DwThai.Com

$query = "SELECT * FROM  `category` ORDER BY  `cate_id` ASC LIMIT 0 , 30"; // บรรทัดนี้เป็นการ  เลือก ว่าจะต้องการติดต่อกับ Table อะไร และ โดยใช้ ตัวแปรอะไรในการเลือก
$result = mysql_query($query) or die(mysql_error()."[".$query."]"); // บรรทัดนี้เป็นการ เก็บค่า โดยใช้ mysql_query ครับ  เพื่อทำการ query คำสั่งที่ เก็บ อยู่ใน $sql
?>
      <td><select name="cate_id" id="cate_id"> 
      <option value="0">----เลือกประเภท----</option>
   
       <?php 
while ($row = mysql_fetch_array($result)) // ใช้ while ตรวจสอบเงื่อนไข ตัวแปร $row ตรวจสอบว่า $row = mysql_fetch_array($result) หรือ $row เท่ากับค่า ที่ส่งมาจากฐานข้อมููลหรือเปล่า มีการคืนค่าข้อมูลจาก $result ถ้าเป็นจริงให้ แสดงข้อมูลออกมา ถ้าไม่ให้ออกจากลูป แล้วไม่แสเดงข้อมูล
{
     echo "<option value=".$row['cate_id'].">".$row['cate_name']."</option>"; // $ตัวแปรใหม่ > $row[ตัวแปรจากฐานข้อมูล]; 
} //วนลูปตามเงื้อนไข while ออกมาตามจำนวนที่มีข้อมูล เช่น อันที่ 2 ขนมมันมาได้ยังไง <<< มาได้เกิดจากอันแรกจบกระบวนการแล้วไป เริ่มเซ็คที่while ใหม่ว่ามีขอมูลอีกไหมถ้ามีก็ทำในลูป ทำไปเลื่อยๆจนกว่าจะหมด
?>
      </select></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">หน่วยสินค้า:</td>
      <?php
mysql_connect("localhost", "root","0885272244") or die(mysql_error()); //เชื่อมต่อ localhost
mysql_select_db("retail store") or die(mysql_error()); //เลือกฐานข้อมูลที่จะติดต่อ
mysql_query("SET NAMES UTF8"); //Extension By DwThai.Com

$query = "SELECT * FROM  `unit` ORDER BY  `unit_id` ASC LIMIT 0 , 30"; // บรรทัดนี้เป็นการ  เลือก ว่าจะต้องการติดต่อกับ Table อะไร และ โดยใช้ ตัวแปรอะไรในการเลือก
$result = mysql_query($query) or die(mysql_error()."[".$query."]"); // บรรทัดนี้เป็นการ เก็บค่า โดยใช้ mysql_query ครับ  เพื่อทำการ query คำสั่งที่ เก็บ อยู่ใน $sql
?>
      <td><select name="unit_id" id="unit_id">
        <option value="0">----เลือกหน่วย----</option>
             
        <?php 
while ($row = mysql_fetch_array($result))
{
    echo "<option value=".$row['unit_id'].">".$row['unit_name']."</option>";
}
?> 
      </select></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">คงเหลือต่ำสุด:</td>
      <td><input type="text" name="product_balance" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">ราคา:</td>
      <td><input type="text" name="product_price" value="" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">จำนวนสินค้า:</td>
      <td><input type="text" name="product_qty" value="0" size="32" /></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">&nbsp;</td>
      <td><input name="btn" type="submit" id="btn" value="ตกลง" />
      <input type="reset" name="btn2" id="btn2" value="ยกเลิก" /></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1" />
</form>
<p>&nbsp;</p>
<script type="text/javascript">
function thaidecode(str) {
  return decodeURIConponent((str+'').replace(/\+/g, '%20'));}
</script>

<script src="js/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>




Tag : PHP, MySQL, HTML/CSS, JavaScript, jQuery, CakePHP









ประวัติการแก้ไข
2016-08-09 17:34:00
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-08-09 16:41:59 By : suwidha View : 2304 Reply : 1
 

 

No. 1



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



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


https://www.thaicreate.com/community/php-mysql-thai.html






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-09 17:05:40 By : stepartz
 

   

ค้นหาข้อมูล


   
 

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