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,037

HOME > PHP > PHP Forum > IF ELSEIF ทำไมเงื่อนไขเข้าแค่เงื่อนไขเดียว รบกวนช่วยดูทีครับ



 

IF ELSEIF ทำไมเงื่อนไขเข้าแค่เงื่อนไขเดียว รบกวนช่วยดูทีครับ

 



Topic : 117527



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



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




พอดีมันเข้าแค่เงื่อนไข IF แต่ไม่เข้าเงื่อนไข ELSEIF ครับ รบกวนทีครับ

Code (PHP)
<?php
include 'connect.php';

$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];

if ($year != "")
{
	$data = $db->prepare('SELECT YEAR(start)+543 AS dtYear, COUNT((YEAR(start))+543) AS count_year
                          FROM tbl_logs
                          WHERE YEAR(start) = :y
                          GROUP BY dtYear
                          HAVING count_year
                          ORDER BY dtYear DESC');
	$data->bindParam(':y',$year);
	$data->execute();

	while ($rows = $data->fetch(PDO::FETCH_ASSOC)) 
		{
			echo $rows['dtYear'].'-'.$rows['count_year'];
		}
}

 
	
elseif ($month && $year != "") 
{
	$data1 = $db->prepare('SELECT YEAR(start)+543 AS dtYear, COUNT((YEAR(start))+543) AS count_year
                          FROM tbl_logs
                          WHERE YEAR(start) = :y AND MONTH(start) = :m
                          GROUP BY dtYear
                          HAVING count_year
                          ORDER BY dtYear DESC');
	$data1->bindParam(':y',$year);
	$data1->bindParam(':m',$month);
	$data1->execute();

	while ($rows1 = $data1->fetch(PDO::FETCH_ASSOC)) 
		{
			echo $rows1['dtYear'].'-'.$rows1['count_year'];
		}
}

?>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-07-02 20:46:35 By : littlebeer View : 1006 Reply : 4
 

 

No. 1



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



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


ตามความน่าจะเป็นก็น่าจะประมาณนี้
Code
if ($month=="" && $year != "") { } else if ($month != "" && $year != "") { }







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-02 22:12:44 By : arm8957
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : arm8957 เมื่อวันที่ 2015-07-02 22:12:44
รายละเอียดของการตอบ ::
ออกแค่เงื่อนไข 2 ครับ 1 ไม่ออก -*-

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-02 22:44:28 By : littlebeer
 

 

No. 3



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



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


อันนี้ลอง 3 เงื่อนไขเลย ออกเงื่อนแรกอันเดียว ตัวแปรก็มาครบ งง

Code (PHP)
<?php
include 'connect.php';

$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];

if ($year != "")
{
	$data = $db->prepare('SELECT YEAR(start)+543 AS dtYear, COUNT((YEAR(start))+543) AS count_year
                          FROM tbl_logs
                          WHERE YEAR(start) = :y
                          GROUP BY dtYear
                          HAVING count_year
                          ORDER BY dtYear DESC');
	$data->bindParam(':y',$year);
	$data->execute();

	while ($rows = $data->fetch(PDO::FETCH_ASSOC)) 
		{
			echo $rows['dtYear'].'-'.$rows['count_year'];
		}
}

 
	
else if ($month != "" && $year != "") 
{
	$data1 = $db->prepare('SELECT YEAR(start)+543 AS dtYear, COUNT((YEAR(start))+543) AS count_year
                          FROM tbl_logs
                          WHERE YEAR(start) = :y AND MONTH(start) = :m
                          GROUP BY dtYear
                          HAVING count_year
                          ORDER BY dtYear DESC');
	$data1->bindParam(':y',$year);
	$data1->bindParam(':m',$month);
	$data1->execute();

	while ($rows1 = $data1->fetch(PDO::FETCH_ASSOC)) 
		{
			echo $rows1['dtYear'].'-'.$rows1['count_year'];
		}
}


else if($day !="" && $month !="" && $year != "") 
{
	$data1 = $db->prepare('SELECT YEAR(start)+543 AS dtYear, COUNT((YEAR(start))+543) AS count_year
                          FROM tbl_logs
                          WHERE YEAR(start) = :y AND MONTH(start) = :m
                          GROUP BY dtYear
                          HAVING count_year
                          ORDER BY dtYear DESC');
	$data1->bindParam(':y',$year);
	$data1->bindParam(':m',$month);
	$data1->execute();

	while ($rows1 = $data1->fetch(PDO::FETCH_ASSOC)) 
		{
			echo $rows1['dtYear'].'-'.$rows1['count_year'];
		}
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-02 22:46:03 By : littlebeer
 


 

No. 4



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


if ($year != "") {
//ทำ เมื่อ year มีค่า year != ""
} else if ($month != "" && $year != "") {
// เอาสีแดงออกไป เพราะไม่มีโอกาสมีค่าแล้ว จากเงื่อนไขแรก
// ก็ตรวจสอบตัวแปรอื่นต่อไป
}


น่าจะเป็น
Code (PHP)
if( $year && $month){
    // ทำ  ถ้า year มีค่า และ month มีค่า
}else if( $year){
    // ทำ ถ้า year มีค่า และ month ไม่มีค่า
}else if( $month){
   // ทำ ถ้า year ไม่มีค่า และ month มีค่า
}else{ // ทำ ถ้า year ไม่มีค่า และ month ไม่มีค่า }


ก็ลองเช็ค flow ให้ดีครับว่าต้องการแบบไหน


ประวัติการแก้ไข
2015-07-03 02:10:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-03 02:05:55 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

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