Php 更改SQL查询的日期格式

Php 更改SQL查询的日期格式,php,mysql,sql,Php,Mysql,Sql,我将一些变量通过一个表单(月和年)传递到一个SQL查询中,该查询显示基于所选月和年的结果。我有一个月份和年份的选择菜单。我的日期时间戳是(yyyy,mm,dd)。当我回显结果而不是数值时,如何显示月份的全文?这是我的问题 // Query For Contract Items if(isset($_GET['month'])){ $month = $_GET['month']; $year = $_GET['year']; $ds = (int)$

我将一些变量通过一个表单(月和年)传递到一个SQL查询中,该查询显示基于所选月和年的结果。我有一个月份和年份的选择菜单。我的日期时间戳是(yyyy,mm,dd)。当我回显结果而不是数值时,如何显示月份的全文?这是我的问题

        // Query For Contract Items
    if(isset($_GET['month'])){
    $month = $_GET['month'];
    $year = $_GET['year'];
    $ds = (int)$year."-". (int)$month;
    $result = mysql_query("SELECT * FROM projects WHERE  end_date LIKE '$ds%' AND status!='Invoiced' AND status!='Done' AND status!='Delayed' AND billed='Contract' ORDER BY client, start_date DESC");

$result2 = mysql_query("SELECT SUM(amount) * 100 AS sum_ammount FROM projects WHERE end_date LIKE '$ds%' AND status!='Invoiced' AND status!='Done' AND status!='Delayed' AND billed='Contract' ORDER BY client, start_date DESC");
$information = mysql_fetch_array($result2);
}


<form action="est.php" method="get">
                          <table width="920" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                              <td align="left" valign="top">
                                  <fieldset style="float:left; margin-right:20px;">
                                   <label>Month</label>
                                    <select name="month">
                                    <option value='01' >January</option>
                                    <option value='02'>February</option>
                                    <option value='03'>March</option>
                                    <option value='04'>April</option>
                                    <option value='05'>May</option>
                                    <option value='06'>June</option>
                                    <option value='07'>July</option>
                                    <option value='08'>August</option>
                                    <option value='09'>September</option>
                                    <option value='10'>October</option>
                                    <option value='11'>November</option>
                                    <option value='12'>December</option>
                                  </select>
                                  </fieldset>
                                    <fieldset style="float:left; margin-right:20px;">
                                   <label>Year</label>
                                   <input type=text name="year" size="4" style="width:100px;" value="<?php echo $year; ?>"></fieldset>
                                  <fieldset style="float:left; margin-right:20px;">
                                  <input type="submit" style="margin-top:16px;" value="Crunch Numbers">
                                  </fieldset>
      </td></tr></table>
      </form>
  <div style="clear:both"></div>


<h3><?php echo $month; ?> / <?php echo $year; ?> Contract</h3>
<table id="myTable" class="tablesorter" cellpadding="0" cellspacing="0">
            <thead>
                <tr>
                    <th width="10%">Client</th>

                    <th width="10%">Project</th>

                    <th width="10%">Designer</th>

                    <th width="5%">Start Date</th>

                    <th width="5%">End Date</th>

                    <th width="10%">Time</th>

                    <th width="10%"></th>
                </tr>
            </thead>

            <tbody>



            <?php
                            while ($row = mysql_fetch_assoc($result)) {

                                                                $id = $row['id'];
                                                                $client = $row['client'];
                                                                $title = $row['title'];
                                                                $assigned = $row['assigned'];
                                                                $start_date = date('F d, Y', strtotime($row['start_date']));
                                                                $end_date = date('F d, Y', strtotime($row['end_date']));
                                                                $status = $row['status'];
                                                                $amount = $row['amount'];
                                                                $billed = $row['billed'];

                                                        ?>



                            <?php 

                            $x++; 

                            $class = ($x%2 == 0)? 'whiteBackground': 'graybackground';

                            echo "<tr class=\"$class\">";

                            ?>


                    <td width="10%"><strong><span class="sentanceCase"><?php echo $client; ?></span></strong></td>

                    <td width="10%"><?php echo $title; ?><br/>

                   <span class="gray"><?php echo $billed; ?></span>

                   <span class="hours">...............................</span><br />
                   <?php echo $status; ?>

                   </td>

                    <td width="5%"><?php echo $assigned; ?></td>

                    <td width="10%"><span class="hours"><?php echo $start_date; ?></span></td>

                    <td width="10%">

                    <?
                    if (strtotime($row['end_date']) <= strtotime(date('Y-m-d'))) {

                        echo ' <span style="color:red;">';
                        echo $end_date;
                        echo ' <span>';
                    }
                    else{
                         echo $end_date;
                    }

                    ?>



                  </td>

                    <td width="10%">


                    <?php echo $amount; ?> Est. Hrs<br />

                    <span class="hours">...............................</span> <br />


                    <?php
                    if ( $feeA >= 1 )
                    {
                        echo $feeA;
                        echo ' Mang/Coord <br/>';
                    }

                    ?> <?php
                    if ( $feeB >= 1 )
                    {
                        echo $feeB;
                        echo ' Coord/Res <br/>';
                    }

                    ?> <?php
                    if ( $feeC >= 1 )
                    {
                        echo $feeC;
                        echo ' Design & Dev <br/>';
                    }

                    ?> <?php
                    if ( $feeD >= 1 )
                    {
                        echo $feeD;
                        echo ' Art D <br/>';
                    }

                    ?> <?php
                    if ( $feeE >= 1 )
                    {
                        echo $feeE;
                        echo ' Web Design <br/>';
                    }

                    ?> <?php
                    if ( $feeF >= 1 )
                    {
                        echo $feeF;
                        echo ' Copy <br/>';
                    }

                    ?> <?php
                    if ( $feeG >= 1 )
                    {
                        echo $feeG;
                        echo ' Photography <br/>';
                    }

                    ?> <?php
                    if ( $feeH >= 1 )
                    {
                        echo $feeH;
                        echo ' Enviro Design <br/>';
                    }

                    ?> <?php
                    if ( $feeI >= 1 )
                    {
                        echo $feeI;
                        echo ' Photo Manip <br/>';
                    }

                    ?> <?php
                    if ( $feeK >= 1 )
                    {
                        echo $feeK;
                        echo ' Marketing <br/>';
                    }

                    ?> <?php
                    if ( $feeL >= 1 )
                    {
                        echo $feeL;
                        echo ' Strategy Dev <br/>';
                    }

                    ?>
                    <?php
                    if ( $feeM >= 1 )
                    {
                        echo $feeM;
                        echo ' Web Level 1 <br/>';
                    }

                    ?>

                     <?php
                    if ( $feeN >= 1 )
                    {
                        echo $feeN;
                        echo ' Web Level 2 <br/>';
                    }

                    ?>

                     <span class="hours">...............................</span> <br />

                    <?php
                    if ( $billing_need == 'Yes' )
                    {
                        echo '<span style="color:red">';
                        echo $extended_billing;
                        echo '<span>';
                    }

                    ?>


                    </td>


                    <td width="10%">
                    <div id="changes">

                    <div id="edit"><a id="editBTN" href="edit.php?id=<?php echo $id; ?>" alt="Edit Project" title="Edit Project" ></a></div>
                    <div id="trash"><a id="trashBTN" href="delete.php?id=<?php echo $id; ?>" alt="Trash Project" title="Trash Project" ></a></div>

                    </div>
                    </td>
                </tr><?php
                                                        }

                                                        ?>
            </tbody>

            <tfoot>
                <tr>
                    <th width="10%">Client</th>

                    <th width="10%">Project</th>

                    <th width="5%">Designer</th>

                    <th width="10%">Start Date</th>

                    <th width="10%">End Date</th>

                    <th width="10%">Times</th>


                    <th width="10%"></th>
                </tr>
            </tfoot>
        </table>
        <?php echo $information['sum_ammount']; ?>
//查询合同项
如果(isset($_GET['month'])){
$month=$_GET['month'];
$year=$_获得['year'];
$ds=(int)$year.“—”(int)$month;
$result=mysql\u query(“从项目中选择*,其中结束日期如“$ds%”和状态!='invoited'和状态!='Done'和状态!='Delayed'和billed='Contract'客户订单,开始日期描述”);
$result2=mysql\u查询(“选择SUM(amount)*100作为项目的SUM\u amount,其中结束日期如“$ds%”和状态!=“发票”和状态!=“完成”和状态!=“延迟”和账单=“合同”客户订单,开始日期描述”);
$information=mysql\u fetch\u数组($result2);
}
月
一月
二月
前进
四月
也许
六月
七月
八月
九月
十月
十一月
十二月
年



美国东部时间。小时数
...............................
...............................
客户 项目 设计师 开始日期 结束日期 时代
您可以使用函数
date()
进行此操作

date('F', [$timestamp]);
将显示月份。如果省略$timestamp,则使用当前时间戳。在您的示例中,您必须准备一个时间戳。您可以使用strotime()进行此操作。

date('F', [$timestamp]);

假设我理解您的意思,您应该能够在SQL查询中执行以下操作

选择MONTHNAME(结束日期)、sum(金额)*100作为项目的sum\u amount,其中…


它应该返回月份的名称

为什么要命名数组
$i
?并且您的代码存在严重的SQL注入漏洞。您可以使用
IntlDateFormatter
进行此操作。到目前为止你试过什么?哪种语言?此外,我很确定这一点以前已经得到了回答。sql注入的原因是您应该更好地逃避sql:
$ds=(INT)$year。“-”。(INT)每月$
并读取此命令,则查询不返回日期。只有金额。您希望显示哪个日期?什么列类型具有结束日期?varchar?我取得了一些进展,但在$year和$month上添加了(int)后,查询就不再有效了。我已经包括/添加了月份和年份选择表格以及显示信息的表格。我希望表单“刷新”并显示当前选择的月份,而不是总是默认为一月。我可以通过显示“01、02、03…”而不是“一月、二月、三月…”来实现此功能,以防它应该是完整的月份名称:日期格式(结束日期,%Y,%M')