php ช่วยดู code ให้หน่อยค่ะ การวน loop

เริ่มโดย test_one, 20 ตุลาคม 2014, 01:37:39

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

test_one

$sum_day = count($_POST["room_date"]);
   for($i = 0; $i < $sum_day; $i++){
      for($c= 0; $c< 5; $c++){
        $room_used = $_POST["room_date"][$i];
         echo $level_id = $_POST["level_id"][$c] ." <br/>";
           }
     }


ตอนนี้ เลือก level_id  มาหลาย  level  แต่ค่าที่ออกมาเป็นเหมือนแบบนี้ค่ะ ซึ่งตรง เลข 3  อันล่าง ไม่ได้เลือกแบบนี้ค่ะ แต่กลับ แสดงแบบนี้ค่ะ  รบกวนกน่อยนะค่ะ
3
1
1
1
1
3
1
1
1
1

gilbert

ยังไม่ค่อยเข้าใจคำถามนะครับแต่

echo $level_id = $_POST["level_id"][$i] ." <br/>";


เปลี่ยนเป็น $i หรือเปล่าครับ

p44n

ค่า $_POST[] ที่รับมา นำมา count ได้ แต่อย่านำมา loop ครับ

$level_id=$_POST["level_id"];
for(...){
   $level_id[$i];
   ...
}

อยากรูปต้องเก็บเข้าตัวแปรก่อนครับ
Python, PHP OOP, MVC CodeIgniter, MongoDB, MySQL, MsSQL ,CSS Tableless, Responsive Design, Cross-platform, Javascript, jQuery, AngularJS, NodeJS,  Fackbook API, Paypal API, Omise API, Google Map API, C# Window Applications, .NET Framework, JAVA (Android Developer, JSP), Hybrid Application with Cordova + Ionic Framework, ReactJS, React Native

dualkore

#3
แบบนี้ได้หรือป่าวครับ
$sum_day = count($_POST["room_date"]);
for($i = 0; $i < $sum_day; $i++){
   $room_used = $_POST["room_date"][$i];
    foreach ($_POST["level_id"] as $id){
       $level_id = $id;
       echo $level_id." <br/>";      
    }
}
คนเรามีความพยายามเท่ากันแต่...ใช้ไม่เท่ากัน

test_one

อ้างถึงจาก: dualkore ใน 21 ตุลาคม 2014, 17:41:57
แบบนี้ได้หรือป่าวครับ
$sum_day = count($_POST["room_date"]);
for($i = 0; $i < $sum_day; $i++){   ====> 2  วันค่ะ  ภายใน 2 วัน ที่ส่งมา มี 5 ห้อง ตลอดค่ะ
   $room_used = $_POST["room_date"][$i];
    foreach ($_POST["level_id"] as $id){   =====>   level  ที่ส่งค่ามาต่างกันค่ะ
       $level_id = $id;
       echo $level_id." <br/>";      
    }
}

ยังไม่ได้ค่ะ  วนเกิน 2 รอบค่ะ
ค่าที่ได้ค่ือ
5
4
3
2
1
1
2
3
2
1
------ด้านล่างคือ ส่วนที่เกินมาค่ะ
5
4
3
2
1
1
2
3
2
1

สิ่งที่อยากให้ออกประมาณนี้ ค่ะ 
วันที่ 1 ห้องที่ 1  Level ที่ 5
วันที่ 1 ห้องที่ 2  Level ที่ 3
วันที่ 1 ห้องที่ 3  Level ที่ 4
วันที่ 1 ห้องที่ 4 Level ที่  6
วันที่ 1 ห้องที่ 5  Level ที่ 3
วันที่ 2 ห้องที่ 1  Level ที่ 4
วันที่ 2 ห้องที่ 2  Level ที่ 2
วันที่ 2 ห้องที่ 3  Level ที่ 3
วันที่ 2 ห้องที่ 4 Level ที่  2
วันที่ 2 ห้องที่ 5  Level ที่ 1

รบกวนหน่อยนะค่ะ   :P :P

jiewlieww

Grande Kloset เดรส เสื้อผ้าไซส์ใหญ่ Big Size สำหรับสาวอวบ อ้วน สไตล์เกาหลี

dualkore

อ้างถึงจาก: test_one ใน 22 ตุลาคม 2014, 08:25:34
อ้างถึงจาก: dualkore ใน 21 ตุลาคม 2014, 17:41:57
แบบนี้ได้หรือป่าวครับ
$sum_day = count($_POST["room_date"]);
for($i = 0; $i < $sum_day; $i++){   ====> 2  วันค่ะ  ภายใน 2 วัน ที่ส่งมา มี 5 ห้อง ตลอดค่ะ
   $room_used = $_POST["room_date"][$i];
    foreach ($_POST["level_id"] as $id){   =====>   level  ที่ส่งค่ามาต่างกันค่ะ
       $level_id = $id;
       echo $level_id." <br/>";      
    }
}

ยังไม่ได้ค่ะ  วนเกิน 2 รอบค่ะ
ค่าที่ได้ค่ือ
5
4
3
2
1
1
2
3
2
1
------ด้านล่างคือ ส่วนที่เกินมาค่ะ
5
4
3
2
1
1
2
3
2
1

สิ่งที่อยากให้ออกประมาณนี้ ค่ะ 
วันที่ 1 ห้องที่ 1  Level ที่ 5
วันที่ 1 ห้องที่ 2  Level ที่ 3
วันที่ 1 ห้องที่ 3  Level ที่ 4
วันที่ 1 ห้องที่ 4 Level ที่  6
วันที่ 1 ห้องที่ 5  Level ที่ 3
วันที่ 2 ห้องที่ 1  Level ที่ 4
วันที่ 2 ห้องที่ 2  Level ที่ 2
วันที่ 2 ห้องที่ 3  Level ที่ 3
วันที่ 2 ห้องที่ 4 Level ที่  2
วันที่ 2 ห้องที่ 5  Level ที่ 1

รบกวนหน่อยนะค่ะ   :P :P


ลองแบบนี้ดูครับ
$id = array('5','3','4','6','3');
$sum_day = 2;
   for($i = 1; $i <= $sum_day; $i++){
   $x=1;
      for($c=0; $c<5; $c++){
        $room_used = $x;
      $x++;
      echo "day : ".$i." room : ".$room_used." level : ".$level_id = $id[$c] ." <br>";
      }
     echo "----".$i."----<br>";
    }
คนเรามีความพยายามเท่ากันแต่...ใช้ไม่เท่ากัน