1

我需要能够比较数组中的一些月份名称。

如果有一些直接的方法或样本会很好..

我有这段代码,但我不知道如何解析给定的条件(月份)。我不知道使用什么代码来解析月份以及如何将其调用到另一个页面view_apr.php。我不知道从哪里或如何开始,因为我只是一个初学者程序员..请帮助我。

目标:我希望当我选择一个月(例如:我选择一月)时,它将引导我进入该月并仅显示该月内的所有数据......我正在尝试制作一个项目,其中显示3 上个月和当月。

apr.php 代码:

<div class="main_content">
<?php
    include '../../includes/topnavModule.php';
    $SSAID = $_SESSION['SESS_SSA_ID'];  
    $query = mysql_query("SELECT * FROM user WHERE SSA_ID = '$SSAID'");
    $result = mysql_fetch_array($query);
    $userGroupID = $result['user_group_ID'];

    $query1 = mysql_query("SELECT * FROM user_group WHERE usr_group_ID =  '$userGroupID'");
    $result1 = mysql_fetch_array($query1);
    $groupName = $result1['group_name'];

    if ($groupName == "SSA Group")
    {
?>

<div class="center_content">  


<div class="right_content1">   
<div class="form" align="left">

     <form name = "form1" id="form1" action="view_apr.php" method="post" class="niceform">

<fieldset>
  <legend>Production Summary</legend>

   <dl>
        <dt><label for="type">Type:</label></dt>
 <dd>
            <select size="1" name="ssa_group" id="ssa_group" tabindex="3" class="combo" onchange="getSSA('ssaid.php?ssa='+this.value)">

                <option value="all">All</option>
                <option value="1">Sourcing</option>
                <option value="0">Mining</option>

            </select>
        </dd>
    </dl>

       <dl>
        <dt><label for="languages">Reports for:</label></dt>
<dd>
            <select size="1" name="duration" id="duration">
                <option value="0">Monthly</option>
                <option value="1">Weekly</option>
                <option value="2">Daily</option>
                <?php 



                ?>

            </select>
        </dd>
    </dl>

     <dl>
        <dt><label for="sourcing">SSA:</label></dt>
<dd>

<div id="SSA">
        <select size="1" name="ssa_group" id="0" tabindex="1" class="combo" >
                <?php
                    $result = mysql_query("SELECT * FROM staffing_specialist_asst") or   die(mysql_error());

                    while($row = mysql_fetch_assoc($result)) 
                    {
                    echo "<option value='{$row['last_name']}'>{$row['last_name']}   </option>";
                    }
                ?>
        </select>
</div>             


        </dd>
    </dl>
<dl>

<?php

$SSAID = $_SESSION['SESS_SSA_ID'];

$query = mysql_query("SELECT * FROM user WHERE SSA_ID = '$SSAID'");
$result = mysql_fetch_array($query);
$userGroupID = $result['user_group_ID'];

$query1 = mysql_query("SELECT * FROM user_group WHERE usr_group_ID = '$userGroupID'");
$result1 = mysql_fetch_array($query1);
$groupName = $result1['group_name'];

if ($groupName == "SSA Group")
{
echo "
                    <dl>
                    <dt style=\"float:left;\"><label for=\"\" id = 'label'>Date From:  </label></dt>
                    <dd><input type=\"text\" name=\"timestamp\" id=\"calendar1\"   class=\"calendarFocus\" size=\"54\"/>
                    </dd>
                </dl>
                <dl>
                    <dt style=\"float:left;\"><label for=\"\" id =\"label\">Date To:     </label></dt>
                    <dd><input type=\"text\" name=\"timestamp1\" id=\"calendar1\"   class=\"calendarFocus\" size=\"54\"/> 
                     </dd>
                </dl>
                                    <dl class=\"submit\">
                <input type=\"submit\" name=\"search\" class=\"NFButton\"   value=\"Search\" width=\"126\" height=\"18\" /> 
                </dl>  

</fieldset>
</form>
</div>";
 }
 ?>
 </dl>
</fieldset>
</form>
</div>
</div>
</div>  



<div class="clear"></div>
</div>


<div class="footer">

    <div class="left_footer">Extramind | Contact: (02) 866-1234 <a href="http://xmindoutsourcing.com">XMind</a></div>
    <div class="right_footer"><a href="http://xmindoutsourcing.com"><img src="../../images/xmind.gif" alt="" height="52" border="0" title="" /></a></div>
</div>

</div>  

<?php
    }//end if

    else{
        echo "<SCRIPT LANGUAGE='javascript'> redirect() ;</SCRIPT>";
    }
?>

</body>
</html>


<?php
$SSAID = $_SESSION['SESS_SSA_ID'];

if (isset($_POST['submit']))
{


//get the SS 
$name =  $_POST['ss'];
$SS= explode("-", $name);
$lastName = $SS[0];
$firstName = $SS[1];


//get the SS ID
$result1 = mysql_query("SELECT * from staffing_specialist WHERE last_name LIKE '$lastName' AND first_name LIKE '$firstName'");
$row = mysql_fetch_array($result1);
$SSID = $row['SS_ID'];



if($result1){
    echo "<SCRIPT LANGUAGE='javascript'> confirmation() ;</SCRIPT>";
}
else{
    echo "<SCRIPT LANGUAGE='javascript'> confirmationError() ;</SCRIPT>";
  }
}

?>

<?php ob_flush(); ?>

view_apr.php 代码:

<?php

$datefrom= $_POST['timestamp'];
$dateto=$_POST['timestamp1'];

$parsemonth="";
$parseday ="01";

$conditionmonth=$parsemonth-3;


//january
if ($conditionmonth == '1'){

$sql="SELECT
a.specialist_partner_ID
,count(CASE WHEN a.receivedDate between DATE_SUB('2011-01-01', INTERVAL 3 MONTH) and  DATE_SUB('2011-09-30', INTERVAL 3 MONTH) THEN a.job_order_number ELSE null END) As December
,count(CASE WHEN a.receivedDate between DATE_SUB('2011-01-01', INTERVAL 2 MONTH) and  DATE_SUB('2011-09-30', INTERVAL 2 MONTH) THEN a.job_order_number ELSE null END) As November
,count(CASE WHEN a.receivedDate between DATE_SUB('2011-01-01', INTERVAL 1 MONTH) and  DATE_SUB('2011-09-30', INTERVAL 1 MONTH) THEN a.job_order_number ELSE null END) As October 
,count(CASE WHEN a.receivedDate between '2011-01-01' and  '2011-01-30'THEN  a.job_order_number ELSE null END) As Jauary
,count(job_order_number) As Total
FROM jo_partner a
WHERE a.receivedDate BETWEEN '2011-01-01' AND '2011-12-31'
GROUP BY a.specialist_partner_ID";
}

//february
else if ($conditionmonth == '2'){

$sql="SELECT a.specialist_partner_ID
,count(CASE WHEN a.receivedDate between DATE_SUB('2011-02-01', INTERVAL 11 MONTH) and  DATE_SUB('2011-02-29', INTERVAL 3 MONTH) THEN a.job_order_number ELSE null END) As November
,count(CASE WHEN a.receivedDate between DATE_SUB('2011-02-01', INTERVAL 10 MONTH) and  DATE_SUB('2011-02-29', INTERVAL 2 MONTH) THEN a.job_order_number ELSE null END) As December
,count(CASE WHEN a.receivedDate between DATE_SUB('2011-02-01', INTERVAL 9 MONTH) and  DATE_SUB('2011-02-29', INTERVAL 1 MONTH) THEN a.job_order_number ELSE null END) As January
,count(CASE WHEN a.receivedDate between '2011-02-01' and  '2011-02-29'THEN a.job_order_number ELSE null END) As February
,count(job_order_number) As Total
FROM jo_partner a
WHERE a.receivedDate BETWEEN '2011-01-01' AND '2011-12-31'
GROUP BY a.specialist_partner_ID";
}

依此类推,直到 12 月

4

1 回答 1

1

我清理了你的 apr.php 以提高可读性,但由于某种原因,你有两个 if(groupname=="SSA Group") 语句,一个从最开始到页脚结束,另一个在相同的条件下开始?? 和两个同名的选择。一个具有值:all、1、0,另一个具有通过循环生成的姓氏值。

<form name="form1" id="form1" action="view_apr.php" method="post">
<fieldset>

<legend>Production Summary</legend>

<label for="type">Type:</label>

<select name="ssa_group" id="ssa_group">
<option value="all">All</option>
<option value="1">Sourcing</option>
<option value="0">Mining</option>
</select>

<label for="languages">Reports for:</label>

<select name="duration" id="duration">
<option value="0">Monthly</option>
<option value="1">Weekly</option>
<option value="2">Daily</option>
</select>

<label for="sourcing">SSA:</label>

<select name="ssa_group" id="0">
//foreach
<option value='{$row['last_name']}'>{$row['last_name']}</option>
</select>

<label id='label'>Date From:  </label>
<input type="text" name="timestamp" id="calendar1" />

<label id ="label">Date To:     </label>
<input type="text" name="timestamp1" id="calendar1" /> 

<input type="submit" name="search" value="Search" /> 
</fieldset>
</form>

他的 view_apr 以

$datefrom= $_POST['timestamp'];
$dateto=$_POST['timestamp1'];

$parsemonth="";
$parseday ="01";

$conditionmonth=$parsemonth-3;

//january
if ($conditionmonth == '1'){

我遇到了这个问题......好像你根本没有使用发布的数据。另外,您在 SQL for januarys 条件中有一个错字,您将其视为“Jauary”

您有 2 个变量,datefrom 和 dateto。您发布日期的格式是什么?

于 2011-09-07T00:31:10.257 回答