|
|
|
[มือใหม่] ขอคำแนะนำครับ จะทำอย่างไรให้สามารถเพิ่มข้อมูลและนำมาโชว์บนหน้าเว็บได้ รายละเอียดด้านใน |
|
|
|
|
|
|
|
ก็เอา UserID ไปใส่ใน ตาราง Product คับ
|
|
|
|
|
Date :
2013-06-11 13:30:27 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าจะเชื่อมกันที่ตาราง Serial นะครับ
|
|
|
|
|
Date :
2013-06-11 13:36:56 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตาราง Member เก็บข้อมูลสมาชิกที่ทำการลงทะเบียนมาจากฟอร์ม
ตาราง Product ผมเอาข้อมูลสินค้าใส่ไว้เพื่อเช็คว่า สมาชิกได้ใส่รหัสสินค้าถูกต้อง
ส่วนตารางอื่น ผมยังไม่รู้ว่าจะทำอะไรครับ ???
ผมทำได้ประมาณนี้
แล้วจะให้มันเชื่อมกันอย่างไร? แล้วข้อมูลที่สมาชิกกรอกใส่เข้าไปมันจะไปอ้างอิงกับตารางอื่นได้อย่างไร?
|
|
|
|
|
Date :
2013-06-11 13:57:27 |
By :
ghostboo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำเป็น CSV ครับ
โดยให้รหัสสินค้าเป็น varchar ขนาด (n*s)+n ตัวอักษร เมื่อ n แทนจำนวนสินค้าสูงสุด และ s คือจำนวนหลักของรหัสสินค้าครับ
แล้วเวลาเก็บ ก็เก็บทุกตัว คั่นด้วย , หรืออื่นๆ เช่น
Code (SQL)
123456,654321,234567
ประมาณนี้
เวลาจะแตกมาเป็น array ก็ใช้ explode(',',$code); เวลาจะรวมก็ใช้ implode(',',$code_arr);
|
|
|
|
|
Date :
2013-06-11 14:09:25 |
By :
itpcc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วผมจะเขียนอย่างไรให้สมาชิก 1 คนสามารถมีรหัสสินค้าได้หลายรหัส และเพิ่มรหัสสินค้าแล้วนำออกมาแสดงผลให้สมาชิกดูได้ด้วยอ่ะครับ
ผมงงจริง ๆ
|
|
|
|
|
Date :
2013-06-11 15:07:50 |
By :
ghostboo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปกติผมจะใช้วิธีจับคู่ครับ (ผมขอเรียกตามแบบฉบับของผมนะครับ ไม่ได้เรียนโดยตรงน่ะไม่ค่อยรู้เรื่องศัพท์เทคนิค 555+)
จับคู่ระหว่างตาราง Member กับตาราง Product (หรือตารางที่เก็บ Serail)
ในที่นี้ผมจะเก็บลงตารางใหม่อยากจะตั้งชื่อว่า MemberSerial
เอาไอดี Member และ Serial ของ Product ที่อยู่ในครอบครองไปใส่ในตาราง MemebrSerial
______________________
member_id | product_id
______________________
1001 | 8569
1002 | 574
______________________
|
|
|
|
|
Date :
2013-06-11 15:20:24 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้ามองเป็นแบบฟอร์ม ก็จะโหลดข้อมูลสมาชิกมาก่อน
แล้วก็มีรายการสินค้า และรหัสอยู่ด้านล่างหลายๆ รายการ เพิ่มได้ ลบได้ แก้ไขได้
เวลาเพิ่มก็ค้นหา รหัสสินค้า แล้วก็บันทึก
ตอนบันทึก ก็เก็บเอารหัสสมาชิก และรหัสสินค้าที่เลือกไปใส่ในตารางจับคู่ครับ
|
|
|
|
|
Date :
2013-06-11 17:25:52 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เมื่อในฟอร์มไม่มีให้กรอก ID ต่าง ๆ ที่ว่ามา แล้วเราจะเอามันไปใส่ในตารางจับคู่ได้อย่างไรครับ
|
ประวัติการแก้ไข 2013-06-12 10:49:20
|
|
|
|
Date :
2013-06-11 17:59:55 |
By :
ghostboo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอจะมีท่านใดช่วยผมได้บ้างรึเปล่าครับ
|
|
|
|
|
Date :
2013-06-12 10:51:38 |
By :
ghostboo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ลองเขียนอะไรไปบ้างยังครับ ยกโค้ดที่คุณเขียนมาให้ดูหน่อย อยากรู้ว่ามีพื้นฐานแค่ไหน
|
|
|
|
|
Date :
2013-06-12 11:00:59 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ฟอร์ม register.php
Code (PHP)
<html>
<body>
<form action="save_register.php" method="post">
<center>Register</center>
<table style="font-size:0.9em;" align="center" width="692" border="0" cellspacing="5" cellpadding="2">
<tr>
<td width="328" style="text-align: right">ชื่อ (Username) :</td>
<td width="341"><label>
<input type="text" name="textUsername" id="textUsername" />
<font color="#FF0000">*</font></label></td>
</tr>
<tr>
<td style="text-align: right">รหัสผ่าน (Password) :</td>
<td><label>
<input type="password" name="textPassword" id="textPassword" /><font color="#FF0000"> *</font>
</label></td>
</tr>
<tr>
<td style="text-align: right">ยืนยันรหัสผ่าน <br />
(Confirm Password) :</td>
<td><input name="conPassword" type="password" id="conPassword" /><font color="#FF0000"> *</font></td>
</tr>
<tr>
<td style="text-align: right">ชื่อ-นามสกุล (Name) :</td>
<td><input name="textName" type="text" id="textName" size="35" /><font color="#FF0000"> *</font></td>
</tr>
<tr>
<td style="text-align: right">อีเมล์ (E-mail) :</td>
<td><input name="textEmail" type="text" id="textEmail" size="35" /><font color="#FF0000"> *</font></td>
</tr>
<tr>
<td style="text-align: right">รหัสสินค้า <br />(Serial Number) :</td>
<td><label>
<input type="text" name="serial" id="serial" /><font color="#FF0000"> *</font>
</label></td>
</tr>
<tr>
<td style="text-align: right">ชื่อผลิตภัณฑ์ <br />(Product Name) :</td>
<td><label>
<input type="text" name="proN" id="proN" size="35" /><font color="#FF0000"> *</font>
</label></td>
</tr>
<tr>
<td style="text-align: right">ที่อยู่ (Address) :</td>
<td><label>
<textarea name="address" id="address" cols="45" rows="5"></textarea><font color="#FF0000"> *</font>
</label></td>
</tr>
<tr>
<td style="text-align: right">เบอร์โทรศัพท์ (Phone) :</td>
<td><label>
<input type="text" name="phone" id="phone" /><font color="#FF0000"> *</font>
</label></td>
</tr>
<tr>
<td></td>
<td><input name="save" type="submit" value="ลงทะเบียน" style="width:80px; height:35px;" /></td>
</tr>
</table>
</form>
</body>
</html>
save_register.php
Code (PHP)
<?
session_start();
?>
<!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>Untitled Document</title>
</head>
<body>
<?
$textUsername = $_POST['textUsername'];
$textPassword = $_POST['textPassword'];
$textName = $_POST['textName'];
$conPassword = $_POST['conPassword'];
$textEmail = $_POST['textEmail'];
$serial = $_POST['serial'];
$proN = $_POST['proN'];
$address = $_POST['address'];
$phone = $_POST['phone'];
if(trim($textUsername) == "" ){
echo "<script>alert('กรุณากรอก Username');history.back();</script>";
exit();
}
if(trim($textPassword)==""){
echo "<script>alert('กรุณากรอก Password');history.back();</script>";
exit();
}
if(trim($conPassword)==""){
echo "<script>alert('กรุณากรอก ยืนยัน Password');history.back();</script>";
exit();
}
if(trim($textPassword)!= trim($conPassword)){
echo "<script>alert('Password กับการยืนยัน Password ไม่ตรงกัน');history.back();</script>";
exit();
}
if(trim($serial)==""){
echo "<script>alert('กรุณากรอก รหัสสินค้า');history.back();</script>";
exit();
}
if(trim($proN)==""){
echo "<script>alert('กรุณากรอก ชื่อผลิตภัณฑ์');history.back();</script>";
exit();
}
if(trim($textEmail)==""){
echo "<script>alert('กรุณากรอก Email');history.back();</script>";
exit();
}
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $textEmail)){
echo "<script>alert('รูปแบบอีเมลไม่ถูกต้อง');history.back();</script>";
exit();
}
if(trim($address)==""){
echo "<script>alert('กรุณากรอก ที่อยู่');history.back();</script>";
exit();
}
if(trim($phone)==""){
echo "<script>alert('กรุณากรอก หมายเลขโทรศัพท์');history.back();</script>";
exit();
}
include 'setting.php';
mysql_select_db($db);
$uname = "SELECT * FROM member WHERE Username = '".trim($textUsername)."' ";
$unameQuery = mysql_query($uname,$link) or die (mysql_error());
$email = "SELECT * FROM member WHERE Email = '".trim($textEmail)."' ";
$emailQuery = mysql_query($email,$link) or die (mysql_error());
$check = "SELECT * FROM member WHERE Serial = '".trim($serial)."' ";
$checkQuery = mysql_query($check,$link) or die (mysql_error());
$sn = "SELECT * FROM product WHERE Serial = '".trim($serial)."' ";
$snQuery = mysql_query($sn,$link) or die (mysql_error());
if(mysql_num_rows($unameQuery)>0){
echo "<script>alert('มีผู้ใช้ชื่อนี้แล้ว');history.back();</script>";
exit();
}else if(mysql_num_rows($checkQuery)>0){
echo "<script>alert('มีการลงทะเบียนด้วย $serial แล้ว');history.back();</script>";
exit();
}else if(mysql_num_rows($emailQuery)>0){
echo "<script>alert('มีการลงทะเบียนด้วย Email นี้แล้ว');history.back();</script>";
exit();
}else if(mysql_num_rows($snQuery)==0){
echo "<script>alert('รหัสสินค้าของท่านไม่มีอยู่ในระบบ');history.back();</script>";
exit();
}
$sql= "INSERT INTO member (Username,Password,Name,Email,Serial,Productname,Address,Phone) VALUES ('$textUsername','$textPassword','$textName','$textEmail','$serial','$proN','$address','$phone')";
$member = mysql_query($sql,$link)or die(mysql_error());
if($member){
$snUser = "INSERT INTO serialinuser (Serial) VALUE ('$serial')";
$into = mysql_query($snUser,$link)or die(mysql_error());
print "<center>ระบบกำลังทำการเก็บข้อมูลสมาชิก</center>";
print "<center>กรุณารอสักครู่...</center>";
print "<center>$textUsername</center>";
echo "<meta http-equiv='refresh' content='5;URL=index.php'>";
}else{
echo "<script>alert('ไม่สามารถเพิ่มข้อมูลสมาชิกได้');history.back();</script>";
mysql_close($link);
}
?>
</body>
</html>
edit.php เป็นไฟล์แสดงข้อมูลของสมาชิก
Code (PHP)
<? session_start(); ?>
<html>
<body>
<div class="min">
<div class="user">
<?
if(isset($_SESSION['Username'])){
include'setting.php';
$user = "SELECT * FROM member WHERE Username = '".$_SESSION['Username']."' ";
$userQuery = mysql_query($user,$link);
$userResult = mysql_fetch_array($userQuery);
?>
ยินดีต้อนรับคุณ <font color="#FF9900"><?=$_SESSION['Username']?></font><br /><br />
<a href="logout.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image1','','img/logout-over.png',1)"><img src="img/logout.png" width="70" height="25" id="Image1" /></a> </div>
<div style="clear:both;"></div>
<div style="margin-top:30px;"><hr />
<table align="center" width="800" border="0" cellspacing="1" cellpadding="5">
<tr align="center">
<td width="80" bgcolor="#FF9900">Username</td>
<td width="100" bgcolor="#FF9900">Password</td>
<td width="117" bgcolor="#FF9900">ชื่อ-สกุล</td>
<td width="107" bgcolor="#FF9900">Email</td>
<td width="79" bgcolor="#FF9900">รหัสสินค้า</td>
<td width="83" bgcolor="#FF9900">ชือผลิตภัณฑ์</td>
<td width="71" bgcolor="#FF9900">ที่อยู่</td>
<td width="86" bgcolor="#FF9900">เบอร์โทรศัพท์</td>
</tr>
<tr align="center">
<td bgcolor="#FFFFFF"><?=$userResult['Username']?></td>
<td bgcolor="#FFFFFF"><?=$userResult['Password']?></td>
<td bgcolor="#FFFFFF"><?=$userResult['Name']?></td>
<td bgcolor="#FFFFFF"><?=$userResult['Email']?></td>
<td bgcolor="#FFFFFF"><?=$userResult['Serial']?></td>
<td bgcolor="#FFFFFF"><?=$userResult['Productname']?></td>
<td bgcolor="#FFFFFF"><?=$userResult['Address']?></td>
<td bgcolor="#FFFFFF"><?=$userResult['Phone']?></td>
</tr>
</table>
</div><br /><br />
<?
}
else{
echo "<script>alert('กรุณาล็อคอินเพื่อเข้าสู่ระบบ');history.back();</script>";
exit();
}
?>
</div>
</body>
</html>
คืออยากจะให้สมาชิกใน 1 คนสามารถเพิ่มรหัสสินค้าได้อ่ะครับ ควรจะมีอะไรยังไงบ้าง
ถ้าโค้ดดูมั่ว ๆ หน่อยก็ขออภัยด้วยน่ะครับเพราะเอาโค้ดจากพี่ ๆ บอร์ดนี้มาแก้ไขครับ
|
|
|
|
|
Date :
2013-06-12 11:15:04 |
By :
ghostboo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นประเภทเอาโค้ดมาแก้ไขอีกแล้ว เลยไม่รู้เลยว่าจริงๆ มีพื้นฐานแค่ไหน
คือคุณถามว่า ควรจะมีอะไรยังไงบ้าง
ซึ่งคำตอบก่อนหน้านี้ทั้งหมดเขาก็บอกแนวทางไว้หมดแล้ว
โดยเฉพาะภาพตารางที่รุ่นพี่คุณทำให้ นั่นคือแนวทางเลย
แต่คุณก็ยังไม่้เข้าใจอยู่ดี
ผมจะผิดและใจร้ายไหมถ้าผมจะบอกว่า คุณข้ามขั้นมาทำโปรแกรมแบบนี้เร็วไป
หาอะไรที่ง่ายกว่านี้ทำก่อนมั้ยครับ หรือถ้ายังพอมีเวลา ไปศึกษาพื้นฐานก่อน
กระทู้นี้ผมรับรองว่าถ้าจะจบ คือจบด้วยการเขีึยนโค้ดให้คุณแน่นอน เพราะคุณไม่สามารถเอาแนวคิดไปประยุกต์ได้
และต่อให้คุณได้คำตอบในเรื่องนี้ มันไม่จบแค่นี้ครับ เดี๋ยวก็ต้องมาถามอีก ไม่จบไม่สิ้น
เพราะคุณยังไม่มีพื้นฐาน ทั้งในด้านแนวคิด และในด้านการเขียนโปรแกรม
หาหนังสือมาอ่านครับ ลองนั่งศึกษาทำความเข้าใจตัวอย่างในหนังสือ อย่าใช้วิธีเอาโค้ดมาแก้ ชาตินี้ก็ไม่เก่ง
|
|
|
|
|
Date :
2013-06-12 11:29:57 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าไม่เชื่อผมว่าผลเสียของการเอาโค้ดมาแก้มันเป็นไง
ลองดูตัวอย่างกระทู้ข้างนอกหลายๆ กระทู้สิครับ บางคนตั้งกระทู้ถามมันทุกวัน
บางกระทู้ผมและคนอื่นๆ ก็ช่วยตอบไปแล้ว ให้แนวทางไปแล้ว แต่ก็ยังมาถามคำถามเดิมๆ ซ้ำๆ อีก
ซึ่งผู้ถามเขาก็ไม่รู้ตัวด้วยซ้ำว่ากำลังถามคำถามเดิม เพราะเอาความรู้ที่ให้ไปก่อนหน้านี้ไปประยุกต์ไม่ได้
เพราะไม่เข้าใจว่ามันคือเรื่องเดียวกัน
|
|
|
|
|
Date :
2013-06-12 11:33:39 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือต้องมีระดับในเหรอครับพอจะบอกผมได้ไหม ทั้งด้าน php และ ฐานข้อมูลเลยรึเปล่า
ก่อนผมจะสมัครเข้ามาในเว็บ thaicreate ผมก็ได้ศึกษากับหนังสือเล่มหนึ่งอยู่(ชื่อหนังสือ : PHP MySQL และ Dreamweaver ) พร้อมกับซื้อสื่อการสอนจากเว็บอื่นมาลองศึกษาดูเอง เป็นเวลาหลายเดือน(ประมาณ 7-8 เดือน) แล้วผมก็เลยลองทำระบบสมาชิกนี้ดู โดยการอ้างอิงจากหนังสือ วีดีโอ และทางเว็บ thaicreate นี้แหล่ะครับ ใช้วีธีเขียนตามแล้วรันดู ถ้ามันไม่ได้ผมก็มาแก้ไขโค้ดใหม่เอาเอง ผมก็ค้นหาทุกอย่างที่ผมคิดว่ามันจะเป็นประโยชน์ต่อระบบที่ผมจะทำจากทางเว็บ thaicreate พอถึงในจุดที่มันคิดไม่ออกจริง ๆ ไม่มีใครให้ถาม ผมจึงสมัครมาเพื่อมาตั้งกระทู้ถามนี้แหล่ะครับ แล้วผมก็สมัครมาเมื่อนานนี้เอง
ถ้างั้นผมก็ขอคำแนะนำจากพี่ ๆ หน่อยแล้วกันน่ะครับ ว่าควรจะปูพื้นฐานอย่างไร ?
ขอบคุณครับ
|
|
|
|
|
Date :
2013-06-12 13:18:20 |
By :
ghostboo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โห ถ้าอย่างนั้นคุณก็ถือว่าทำมานานแล้วนะครับ ควรจะเข้าใจแนวทางที่เขาตอบกันข้างบน
แต่ก็ไม่แน่ว่าหนังสือหรือบทความที่คุณอ่าน อาจจะไม่มีคุณภาพเพราะอธิบายไม่เข้าใจ
หรือไปเจอตัวอย่างโค้ดที่มันแย่เอามากๆ
เพราะถ้าบอกว่าศึกษามา 7 - 8 เดือน ประกอบกับหนังสือ และโค้ดที่ไปหามาศึกษา มันควรจะเข้าใจแนวทางที่เขาตอบกันมาข้างบนนี้
ผมจะอธิบายแนวทางที่เขาตอบมาให้อีกทีล่ะกันครับ ในภาษาของผม
คือ คุณมีตารางสมาชิกแล้วใช่มั้ยครับ
แล้วตอนนี้คุณต้องการจะมีตาราง "รหัสสินค้า" หรืออะไรก็แล้วแต่ที่มัน "เชื่อมโยง" หรือ "เป็นของ" สมาชิกนั้นๆ
ดังนั้นตามรูปภาพที่รุ่นพี่ของคุณให้มานั้น จะต้องมีตารางเพิ่มขึ้นมาอย่างน้อย 1 ตารางคือ "ตารางรหัสสินค้า"
โดยมี "รหัสสมาชิก" เป็นตัวเชื่อมโยง
ดูตามสีนะครับ สีที่เหมือนกัน คือเชื่อมโยงกัน
ซึ่งทุกคนที่เขาตอบมาทั้งหมด พยายามจะบอกคุณว่า เราควรเก็บข้อมูลให้เชื่อมโยงกันด้วย id หรืออะไรก็ตามแต่
ซึ่งจะทำให้แต่ละตาราง สามารถมีข้อมูลที่เกี่ยวเนื่องกันได้มากกว่า 1 ซึ่งจะแตกต่างกับตารางที่คุณออกแบบในตอนแรก คือมีได้แค่ 1
|
ประวัติการแก้ไข 2013-06-12 13:52:34
|
|
|
|
Date :
2013-06-12 13:51:46 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดังนั้น ในฟอร์มกรอกหรือแก้ไขข้อมูลสมาชิกของคุณนั้น
ไม่ควรที่จะรวม รหัสสินค้าเข้าไปในฟอร์มนั้น
แต่ควรจะแยกออกมาเป็นอีกฟอร์ม หรืออีกระบบหนึ่ง ที่จะทำการเพิ่ม หรือลบ หรือทำอะไรกับมันก็ตามแต่
เพราะมันไม่ใช่ข้อมูลที่มีเพียง 1
|
|
|
|
|
Date :
2013-06-12 13:54:58 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|