|
|
|
ผมต้องการให้ PHP วนลูปดึงค่ามาแสดงครับ มันดึงมาแสดงแค่แถวเดียวเองครับ ช่วยทีครับ |
|
|
|
|
|
|
|
$item[] ต้องทำเป็น array ครับ ทำแบบนั้นจะได้แถวเดียว
และ return ต้องอยู่นอก while ครับ
|
|
|
|
|
Date :
2017-02-09 23:38:48 |
By :
deawx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าจะตามนี้
Code (PHP)
function spc_itemsell() {
$tsql = "SELECT * FROM wzItemSell_TBL";
$conn = db_connect();
$stmt = exec_query($conn, $tsql);
$rank = 1;
while($stmt = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) {
$item[] .= "<div class='spc-div'>";
$item[] .= "<div class='spc-divimg'>";
$item[] .= "<img src='storage/images/SPCITEM/".$stmt["ImgName"].".png' class='spc-img'>";
$item[] .= "</div>";
$item[] .= "<form>";
$item[] .= "<button type='submit' class='spc-btn' value='".$stmt["ItemID"]."' onclick='return false'>ซื้อ ITEM</button> <br>";
$item[] .= "</form>";
$item[] .= "<span class='spc-price'>ราคา : ".$stmt["Price"]." GC</span> <br>";
$item[] .= "<span class='spc-name'>".$stmt["ItemName"]." = " .$stmt["Qty"]." EA</span> <br>";
$item[] .= "<span class='spc-detail'>คุณสมบัติ :</span> <br>";
$item[] .= "<span>- ".$stmt["Option1"]." <br> - ".$stmt["Option2"]." <br> - ".$stmt["Option3"]."</span>";
$item[] .= "</div>";
}
return $item;
}
|
|
|
|
|
Date :
2017-02-10 02:31:17 |
By :
tenten |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับตอนนี้ได้แล้ว แค่เปลี่ยน
Code (PHP)
while($stmt = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) {
เปลี่ยนเป็น
Code (PHP)
while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) {
แค่นี้เองครับ ผมก็ไม่รู้ว่าทำมันถึงได้ 55
|
|
|
|
|
Date :
2017-02-10 14:00:52 |
By :
guoatni |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$row = sqlsrv_fetch_array คำสั่งในการ Fetch ข้อมูลจากฐานข้อมูลมาเก็บไว้ใน List ของ Array
เมื่อได้ข้อมูลจากฐานข้อมูลมาอยู่ในรูปของ Array แล้ว ก็สามารถนำไปวน Loop ใช้งานได้เลย
ตัวแปร $row จะเป็นอาเรย์โดยที่ใน index แรกสุด ก็จะเก็บค่าของฟิลด์แรกสุดในตารางที่ select ออกมา
$row[0] คือ ฟิลด์แรกสุดในตาราง
$row[1] คือ ฟิลด์ที่สอง
.
.
.
จนถึงฟิลด์สุดท้าย
|
ประวัติการแก้ไข 2017-02-10 14:17:05
|
|
|
|
Date :
2017-02-10 14:16:11 |
By :
limberger |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อีกนิดนึงครับ ผมไม่ค่อยมีความรู้เรื่องนี้มากมายนักแต่อยากเรียนรู้ ผมเอาเว็บที่เค้าทำไว้มาโมหน่ะครับ
จากโพสด้านบนครับ ผมทำหน้ารับข้อมูลเขียนลง SQL ครับ
โดยปกติเวลากดปุ่มส่งค่า มันต้องขึ้น popup มาแปปนี้ แต่หน้าที่ผมเขียนไว้กดแล้วไม่มีอะไรขึ้นเลย
อันนี้หน้ารับข้อมูลที่ผมเขียนไว้ครับ
<form>
<div class='form-group'>
<label for='itemid'>ITEM ID</label>
<input type='text' class='form-control' id='itemid' placeholder='รหัสไอเทม....'>
</div>
<div class='form-group'>
<label for='itemname'>ITEM NAME</label>
<input type='text' class='form-control' id='itemname' placeholder='ชื่อไอเทม...'>
</div>
<div class='form-group'>
<label for='imgname'>ITEM IMAGE NAME</label>
<input type='text' class='form-control' id='imgname' placeholder='ชื่อไฟล์รูปไอเทม เช่น M4A1.png'>
</div>
<div class='form-group'>
<label for='opt1'>OPTION 1</label>
<input type='text' class='form-control' id='opt1' placeholder='ออฟชั่นของไอเทม...'>
</div>
<div class='form-group'>
<label for='opt2'>OPTION 2</label>
<input type='text' class='form-control' id='opt2' placeholder='ออฟชั่นของไอเทม...'>
</div>
<div class='form-group'>
<label for='opt3'>OPTION 3</label>
<input type='text' class='form-control' id='opt3' placeholder='ออฟชั่นของไอเทม...'>
</div>
<div class='form-group'>
<label for='price'>PRICE</label>
<input type='text' class='form-control' id='price' placeholder='ราคาของไอเทม...'>
</div>
<div class='form-group'>
<label for='quantity'>QUANTITY</label>
<input type='text' class='form-control' id='quantity' placeholder='จำนวนไอเทมที่จะได้หลังจากซื้อ...'>
</div>
<button type='submit' class='btn btn-success' id='submit-spcitem' onclick='return false'><i class='fa fa-edit'></i> เพิ่มไอเทม</button>
</form>
จากที่อ่านโค๊ดรู้สึกว่ามันจะส่งค่าไปหน้า Process.js
โค๊ดไฟล์ Process.js
$( "#submit-spcitem" ).click(function () {
var itemid = $("#itemid").val();
var itemname = $("#itemname").val();
var imgname = $("#imgname").val();
var opt1 = $("#opt1").val();
var opt2 = $("#opt2").val();
var opt3 = $("#opt3").val();
var price = $("#price").val();
var quantity = $("#quantity").val();
$.ajax({
type: "POST",
url: "storage/php/process.php",
data: { itemid : itemid, itemname : itemname, imgname : imgname, opt1 : opt1, opt2 : opt12, opt3 : opt3, price : price, quantity : quantity, cmd : 'addspcitem'},
success: function(res){
var arr = res.split('#');
if (re(arr[0])=='ADDSPCITEM:TRUE')
{
sweet("เพิ่มไอเทมพิเศษสำเร็จ...",true);
$(arr[1]).hide().prependTo('#table-addreward').fadeIn(700);
}
else if (re(arr[0])=='ADDSPCITEM:ITEMIDVALID')
{
sweet("รหัสไอเทมอนุญาตให้ใส่ได้เพียงตัวเลขเท่านั้น...",false);
}
else if (re(arr[0])=='ADDSPCITEM:PRICEVALID')
{
sweet("ราคาไอเทมอนุญาตให้ใส่ได้เพียงตัวเลขเท่านั้น...",false);
}
else if (re(arr[0])=='ADDSPCITEM:QTVALID')
{
sweet("จำนวนไอเทมอนุญาตให้ใส่ได้เพียงตัวเลขเท่านั้น...",false);
}
else if (re(arr[0])=='ADDSPCITEM:CHARVALID')
{
sweet("ไม่อนุญาตให้ใส่สัญลักษณ์พิเศษ...",false);
}
else
{
sweet("พบข้อผิดพลาดระบบไม่สามารถทำงานได้...",false);
}
$("#itemid").val("");
$("#itemname").val("");
$("#imgname").val("");
$("#opt1").val("");
$("#opt2").val("");
$("#opt3").val("");
$("#price").val("");
$("#quantity").val("");
}
});
})
และสุดท้ายครับ
Process.php
else if(isset($_POST['cmd']) && $_POST['cmd'] == 'addspcitem' ) {
$itemid = clean($_POST['itemid']);
$itemname = clean($_POST['itemname']);
$imgname = clean($_POST['imgname']);
$opt1 = clean($_POST['opt1']);
$opt2 = clean($_POST['opt2']);
$opt3 = clean($_POST['opt3']);
$price = clean($_POST['price']);
$quantity = clean($_POST['quantity']);
if($itemid == "" || $itemname == "" || $imgname == "" || $opt1 == "" || $opt2 == "" || $opt3 == "" || $price == "" || $quantity == "") {
echo "ADDSPCITEM:FNULL";
exit();
} else if($_POST['itemid'] != $itemid || $_POST['itemname'] != $itemname || $_POST['imgname'] != $imgname || $_POST['opt1'] != $opt1 || $_POST['opt2'] != $opt2 || $_POST['opt3'] != $opt3 || $_POST['price'] != $price || $_POST['quantity'] != $quantity) {
echo "ADDSPCITEM:CHARVALID";
exit();
} else if(!is_numeric($amount)) {
echo "ADDSPCITEMD:ITEMIDVALID";
exit();
} else if(!is_numeric($itemid)) {
echo "ADDSPCITEM:PRICEVALID";
exit();
} else if(!is_numeric($quantity)) {
echo "ADDSPCITEM:QTVALID";
exit();
} else {
echo AddReward($amount, $itemid, $quantity, $itemname);
exit();
}
ช่วยหน่อยนะครับ ต่อยอดความรู้ ขอบคุณครับ
|
|
|
|
|
Date :
2017-02-10 14:21:12 |
By :
guoatni |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใน <form > มี onSubmit="" ป่าว ลองไปไล่ดู
|
|
|
|
|
Date :
2017-02-10 14:26:21 |
By :
limberger |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งั้นก็ต้องหาว่า alert ตัวนี้ อยู่ส่วนไหนของระบบให้เจอก่อน
แล้วถึงจะทำต่อไปได้
|
|
|
|
|
Date :
2017-02-10 15:15:23 |
By :
limberger |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ chrome ดู console log เลยครับ
จากที่เห็นมีตัวแปร opt2 ตรง ajax ใส่ค่าผิด
แล้วลองดูพวก function clean() re() ที่นำมาใช้
|
|
|
|
|
Date :
2017-02-10 19:54:07 |
By :
tenten |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|