ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์CMS & Free Scriptช่วยอธิบายโค้ดให้หน่อยนะครับ จะสอบโปรเจคครับติดตอบคำถามไม่เคยผ่าน
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ช่วยอธิบายโค้ดให้หน่อยนะครับ จะสอบโปรเจคครับติดตอบคำถามไม่เคยผ่าน  (อ่าน 892 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Bee1
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« เมื่อ: 09 กุมภาพันธ์ 2017, 13:43:11 »

เป็นโค้ดเกี่ยวกับตะกร้า ครับ
<?php
 
session_start();
$itemId = isset($_GET['itemId']) ? $_GET['itemId'] : "";
if ($_POST)
{
    for ($i = 0; $i < count($_POST['qty']); $i++)
    {
        $key = $_POST['arr_key_' . $i];
        $_SESSION['qty'][$key] = $_POST['qty'][$i];
        header('location:cart.php');
    }
} else
{
    if (!isset($_SESSION['cart']))
    {
        $_SESSION['cart'] = array();
        $_SESSION['qty'][] = array();
    }
 
    if (in_array($itemId, $_SESSION['cart']))
    {
        $key = array_search($itemId, $_SESSION['cart']);
        $_SESSION['qty'][$key] = $_SESSION['qty'][$key] + 1;
        header('location:index.php?a=exists');
    } else
    {
        array_push($_SESSION['cart'], $itemId);
        $key = array_search($itemId, $_SESSION['cart']);
        $_SESSION['qty'][$key] = 1;
        header('location:index.php?a=add');
    }
}
?>
บันทึกการเข้า
siriyot00
สมุนแก๊งเสียว
*

พลังน้ำใจ: 34
ออฟไลน์ ออฟไลน์

กระทู้: 762



ดูรายละเอียด
« ตอบ #1 เมื่อ: 09 กุมภาพันธ์ 2017, 14:15:37 »

1 เปิดใช้งาน session_start(); เพื่อใช้ session

2 $itemId = isset($_GET['itemId']) ? $_GET['itemId'] : "";
ค่าตัวแปร $itemId รับค่าจาก $_GET['itemId'] และใช้ isset เช็คว่ามีค่าตัวแปรนี้ไหม

3 if($_POST) เช็คว่ามีการส่งตัวแปรเป็นโพสไหม ถ้ามี ก็ไป 3.1 ถ้าไม่มี ก็ไป 3.2

3.1 วนลูปด้วย for นับจำนวน สินค้าด้วยตัวแปร $_POST['qty']
{
ในนี้ไม่แน่ใจว่า arr_key_ คือไร น่าจะเป็นชือสินค้าปะ
สร้าง session['จำนวนสินค้า']['ชื่อสินค้า'] = ตัวแปร $_POST['qty'][$i];
ไปยังหน้า cart.php
}
3.2 ถ้าไม่มีค่า $_POST
{
ถ้า ไม่มี $_SESSION['cart']
     {
      ก็ให้ session cart and qty เป็น array ว่างเปล่า
      $_SESSION['cart'] = array();
      $_SESSION['qty'][] = array();
     }
     ถ้าตัวแปร $itemId,session['cart'] มี array
     {
     ตัวแปร key = array_search ($itemId, $_SESSION['cart']) ฟังก์ชันการค้นหาค่าคีย์ในอาร์เรย์และผลตอบแทนที่ชื่อคีย์ที่สอดคล้องกัน
     $_SESSION['qty'][$key] = $_SESSION['qty'][$key] + 1; // คือการ เพิ่มจำนวนสินค้า +1
     ไปหน้า header('location:index.php?a=exists');
     }หรือถ้าไม่มีจำนวนสินค้า{
     array_push($_SESSION['cart'], $itemId) ก็จับใส่เพิ่มข้อมูลใน array
     ตัวแปร key = array_search ($itemId, $_SESSION['cart']) ฟังก์ชันการค้นหาค่าคีย์ในอาร์เรย์และผลตอบแทนที่ชื่อคีย์ที่สอดคล้องกัน
     $_SESSION['qty'][$key] = 1; จำนวนสินค้าก็เท่ากับหนึ่ง
     ไปหน้า header('location:index.php?a=add');
    }
}
บันทึกการเข้า

Thaipromoteboard.com
siriyot00
สมุนแก๊งเสียว
*

พลังน้ำใจ: 34
ออฟไลน์ ออฟไลน์

กระทู้: 762



ดูรายละเอียด
« ตอบ #2 เมื่อ: 09 กุมภาพันธ์ 2017, 14:17:28 »

มั่วล้วน ๆ ครับ ผมไม่ได้เรียนมานะ เลยอธิบายไม่เป็น 55555

5555555 กลับมาอ่านเองยังไม่เข้าใจเลยครับ รอคนเก่งมาละกันครับ
« แก้ไขครั้งสุดท้าย: 09 กุมภาพันธ์ 2017, 14:19:39 โดย siriyot00 » บันทึกการเข้า

Thaipromoteboard.com
Bee1
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« ตอบ #3 เมื่อ: 09 กุมภาพันธ์ 2017, 14:21:11 »

ขอบคุณมากครับ  กราบงามๆเลยครับ
บันทึกการเข้า
Bee1
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« ตอบ #4 เมื่อ: 09 กุมภาพันธ์ 2017, 14:38:41 »

ขอความกรุณาอีกโค้ดครับ พี่
<?php
                            $total_price = 0;
                            $num = 0;
                            while ($meResult = mysql_fetch_assoc($meQuery))
                            {
                                $key = array_search($meResult['id'], $_SESSION['cart']);
                                $total_price = $total_price + ($meResult['product_price'] * $_SESSION['qty'][$key]);
                                ?>
                                <tr>
                                    <td><img src="images/<?php echo $meResult['product_img_name']; ?>" border="0"></td>
                                    <td><?php echo $meResult['product_code']; ?></td>
                                    <td><?php echo $meResult['product_name']; ?></td>
                                    <td><?php echo $meResult['product_desc']; ?></td>
                                    <td>
                                        <input type="text" name="qty[<?php echo $num; ?>]" value="<?php echo $_SESSION['qty'][$key]; ?>" class="form-control" style="width: 60px;text-align: center;">
                                        <input type="hidden" name="arr_key_<?php echo $num; ?>" value="<?php echo $key; ?>">
                                    </td>
                                    <td><?php echo number_format($meResult['product_price'],2); ?></td>
                                    <td><?php echo number_format(($meResult['product_price'] * $_SESSION['qty'][$key]),2); ?></td>
                                    <td>
                                        <a class="btn btn-danger btn-lg" href="removecart.php?itemId=<?php echo $meResult['id']; ?>" role="button">
                                            <span class="glyphicon glyphicon-trash"></span>
                                            ลบทิ้ง</a>
                                    </td>
                                </tr>
                                <?php
                                $num++;
                            }
                            ?>
บันทึกการเข้า
ten1312
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 67
ออฟไลน์ ออฟไลน์

กระทู้: 1,486



ดูรายละเอียด
« ตอบ #5 เมื่อ: 09 กุมภาพันธ์ 2017, 15:17:18 »

โค้ดไม่ได้เขียนเองเหรอ มันแค่ php พื้นฐานเองนะ
บันทึกการเข้า

บันทึกการเรียนเขียน Program
Java :2 พย. 2559 - 19 พย. 2559 หยุดไว้ก่อน
PHP SQL HTML CSS Bootstrap : 25 พย. 2559 - ปัจจุบัน
Javascript jQuery Ajax Angular JS : เรียนผ่านๆยังไม่จริงจัง

นานาเกษตร
snohomish
คนรักเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 111



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 09 กุมภาพันธ์ 2017, 15:42:47 »

ถ้าเข้าใจตรงนี้ ต่อยอดได้อีกไกลเลยครับ  wanwan003
บันทึกการเข้า
Bee1
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« ตอบ #7 เมื่อ: 09 กุมภาพันธ์ 2017, 15:54:53 »

ใครรู้ช่วยหน่อยนะครับเพราะผมเรียนก็ดูโค้ดตามที่เขาแจกอ่ะครับแล้วเป็นคนอธิบายไม่เป็นภาษาทางการเท่าไหร่ครับอาจารย์บอกเธอไปฝึกมาใหม่ครับ
บันทึกการเข้า
tarllovemint
ก๊วนเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 222



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 09 กุมภาพันธ์ 2017, 16:07:24 »

จะสอบโปรเจคครับติดตอบคำถามไม่เคยผ่าน !!!!

ไม่ได้จะซ้ำนะครับ แต่ถ้าจะสอบก็ควรทำเอง
บันทึกการเข้า

Bee1
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« ตอบ #9 เมื่อ: 09 กุมภาพันธ์ 2017, 16:16:19 »

แล้วแต่ความกรุณาก็แล้วกันนะครับ
บันทึกการเข้า
ten1312
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 67
ออฟไลน์ ออฟไลน์

กระทู้: 1,486



ดูรายละเอียด
« ตอบ #10 เมื่อ: 09 กุมภาพันธ์ 2017, 17:39:34 »

ตามความเข้าใจของผม ผมก็เรียน php ได้ไม่นาน

<?php
                            $total_price = 0;
                            $num = 0; สร้างตัวแปร 2 ตัวไว้เก็บค่า
                            while ($meResult = mysql_fetch_assoc($meQuery)) วนลูปเพื่อดึงค่า query จากฐานข้อมูลออกมา
                            {
                                $key = array_search($meResult['id'], $_SESSION['cart']); เอาไอดีจากฐานข้อมูลมาค้นใน session cart เพื่อหาค่าที่ตรงกัน ส่งค่า key ออกมา
                                $total_price = $total_price + ($meResult['product_price'] * $_SESSION['qty'][$key]); ราคารวม = ราคารวมเก่า + (ราคาสินค้า*จำนวนสินค้านั้นจาก cart)
                                ?>
                                <tr>
                                    <td><img src="images/<?php echo $meResult['product_img_name']; ?>" border="0"></td>แสดงรูปสินค้า
                                    <td><?php echo $meResult['product_code']; ?></td> แสดงรหัสสินค้า
                                    <td><?php echo $meResult['product_name']; ?></td>แสดงชื่อสินค้า
                                    <td><?php echo $meResult['product_desc']; ?></td>แสดงคำอธิบาย
                                    <td>
                                        <input type="text" name="qty[<?php echo $num; ?>]" value="<?php echo $_SESSION['qty'][$key]; ?>" class="form-control" style="width: 60px;text-align: center;"> เป็นช่องที่สามารถเปลี่ยนจำนวนสินค้า
                                        <input type="hidden" name="arr_key_<?php echo $num; ?>" value="<?php echo $key; ?>">เอาไว้ส่งค่า key ไปทำงานที่อื่น
                                    </td>
                                    <td><?php echo number_format($meResult['product_price'],2); ?></td> แสดงราคาโดยใช้รูปแบบทศนิยม 2 ตำแหน่ง
                                    <td><?php echo number_format(($meResult['product_price'] * $_SESSION['qty'][$key]),2); ?></td>แสดงราคารวม
                                    <td>
                                        <a class="btn btn-danger btn-lg" href="removecart.php?itemId=<?php echo $meResult['id']; ?>" role="button">
                                            <span class="glyphicon glyphicon-trash"></span>
                                            ลบทิ้ง</a>
                                    </td>
                                </tr>
                                <?php
                                $num++;
                            }
                            ?>
บันทึกการเข้า

บันทึกการเรียนเขียน Program
Java :2 พย. 2559 - 19 พย. 2559 หยุดไว้ก่อน
PHP SQL HTML CSS Bootstrap : 25 พย. 2559 - ปัจจุบัน
Javascript jQuery Ajax Angular JS : เรียนผ่านๆยังไม่จริงจัง

นานาเกษตร
Bee1
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 6



ดูรายละเอียด
« ตอบ #11 เมื่อ: 09 กุมภาพันธ์ 2017, 19:27:03 »

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


และขอขอบคุณพี่ๆที่เข้าใจและมาให้ความรู้กับผมครับ
บันทึกการเข้า
ten1312
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 67
ออฟไลน์ ออฟไลน์

กระทู้: 1,486



ดูรายละเอียด
« ตอบ #12 เมื่อ: 09 กุมภาพันธ์ 2017, 20:16:01 »

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


และขอขอบคุณพี่ๆที่เข้าใจและมาให้ความรู้กับผมครับ

ท่านอื่นๆคงอยากให้ลองศึกษาดูก่อนครับ
เพราะโค้ดนี้มันค่อนข้างพื้นฐาน ถ้าศึกษาเข้าใจ concept มันจะไปต่อยอดได้

ลองไล่แสดงค่าทีละบรรทัดเลย จะได้รู้ว่ามันมายังไง คำสั่งไหนไม่เคยเห็นก็หาใน google
บันทึกการเข้า

บันทึกการเรียนเขียน Program
Java :2 พย. 2559 - 19 พย. 2559 หยุดไว้ก่อน
PHP SQL HTML CSS Bootstrap : 25 พย. 2559 - ปัจจุบัน
Javascript jQuery Ajax Angular JS : เรียนผ่านๆยังไม่จริงจัง

นานาเกษตร
Zamek
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 1



ดูรายละเอียด
« ตอบ #13 เมื่อ: 10 กุมภาพันธ์ 2017, 11:29:45 »

เห็นบอกว่าพื้นฐาน ง่าย ๆ ไม่เห็นมีใคร ที่บอกว่าง่ายอธิบายสักคน  ฮึฮึฮ wanwan004 wanwan004 wanwan004 wanwan004 wanwan004 wanwan004 wanwan004 wanwan004 wanwan015 wanwan015
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์