дата разбора в php - PullRequest
       17

дата разбора в php

1 голос
/ 07 сентября 2011

Мне нужно иметь возможность сравнивать названия некоторых месяцев в массиве.

Было бы хорошо, если бы был какой-то прямой путь или образец этого ..

У меня есть этот код, но я не знаю, как проанализировать данное условие (месяц). Я не знаю, какой код использовать для анализа месяца и как вызвать его на другой странице view_apr.php . Я не знаю, где и как именно начать, потому что я только начинающий программист .. пожалуйста, помогите мне.

Цель: я хочу, чтобы, когда я выбрал месяц (пример: я выбрал январь), он направит меня в этот месяц и отобразит все данные только за этот месяц ... Я пытаюсь создать проект, в котором он отображает 3 предыдущих месяца и текущий месяц.

код апреля:

<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";
}

и т. Д. И т. Д. До декабря

1 Ответ

1 голос
/ 07 сентября 2011

Я очистил ваш 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 для januarys, где вы считаете что-то как «Jauary»

У вас есть 2 переменные, datefrom и dateto.В каком формате даты их публикации?

...