1

配列にあるいくつかの月の名前を比較できるようにする必要があります。

直接的な方法やサンプルがあればいいのですが..

私はこのコードを持っていますが、指定された条件 (月) を解析する方法がわかりません。月を解析するために使用するコードと、それを他のページのview_apr.phpに呼び出す方法がわかりません。私は初心者のプログラマーなので、どこから、どのように正確に開始すればよいかわかりません。助けてください。

目標: 月を選択したときに (例: 1 月を選択した場合)、その月に移動し、その月のすべてのデータのみを表示するようにしたい... 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 をきれいにしましたが、何らかの理由で 2 つの if(groupname=="SSA Group") ステートメントがあり、1 つは最初から始まりフッターで終わり、もう 1 つは同じ条件内で始まります。 ?? そして、同じ名前の 2 つの選択。1 つは値: all、1、0 で、もう 1 つはループで生成された姓の値です。

<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」として数えます。

datefrom と dateto の 2 つの変数があります。それらを投稿する日付の形式は何ですか?

于 2011-09-07T00:31:10.257 に答える