dongzhan5943 2013-10-05 16:56
浏览 45

当满足条件时,如何循环while循环和循环变量?

PHP - MySQL - Javascript

I have a javascript accordion that I would like to have populated with data based on a MySQL query. An example of the accordion (which is manually updated now) is available here: http://www.vi-athletics.com/schedules/mens-soccer-schedule-2013-14?id=56

I have written some code (see what it does at http://www.vi-athletics.com/schedules/mens-soccer-schedule-2013-14?id=55) but, I am not sure how to proceed. I need the accordion to always be there with the dates for the week and either to contain rows for games on that date or say there are no games today.

I also need to show the games grouped by their sport. So, for example, if there are two games for men's soccer on Sept. 10th and one game for volleyball then I need the table to have a table row with the name of the sport followed by a table row (for each game) under that sport (like in my example). If no games are scheduled for that day then I need to see if there are games scheduled for the following day and so on...

What I was thinking is to keep writing if statements for each accordion but I think I'm going to have a problem with the sport type showing up for each row where $sport = "value". Here's my code so far:

<?php
/* create the days of the week */
date_default_timezone_set('US/Eastern');
$today = time();
$weekStartDate = date('l, F d, Y',strtotime("last Monday", $today));
$weekTuesDate = date('l, F d, Y', strtotime('+1 days', strtotime($weekStartDate)));
$weekWedDate = date('l, F d, Y', strtotime('+2 days', strtotime($weekStartDate)));
$weekThursDate = date('l, F d, Y', strtotime('+3 days', strtotime($weekStartDate)));
$weekFriDate = date('l, F d, Y', strtotime('+4 days', strtotime($weekStartDate)));
$weekSatDate = date('l, F d, Y', strtotime('+5 days', strtotime($weekStartDate)));
$weekSunDate = date('l, F d, Y', strtotime('+6 days', strtotime($weekStartDate)));
/* select only the games for the current week from database */
require_once('filename.php');
$query = "SELECT gamedate, gametime, homeschool, visitorschool, homelivestatsurl, notes, gamestatus, homescore, visitorscore, score, record, sporttype FROM my_table WHERE WEEKOFYEAR(gamedate)=WEEKOFYEAR(NOW()) ORDER BY gamedate";
/* if there are results build the accordion and tables - if not, just say there are no games this week */
if ($result = mysqli_query($link, $query)) { ?>
<div style="vertical-align:top;"><img src="images/cobrasschedule.png" border="0"/></div>
<div style="width:300px; float: left; margin-left:15px; display:table;">
<?php
    /* variables that will change*/
    $weekday = ' ';
    $day = ' ';
    $sport = ' ';   
    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
    if (date('d', strtotime($row['gamedate'])) !== $weekday) {
    $weekday=date('d', strtotime($row['gamedate']));
    if (date('l, F d, Y', strtotime($row['gamedate'])) !== $day) {
    $day=date('l, F d, Y', strtotime($row['gamedate']));
    if ($row['sporttype'] !== $sport) {
    $sport=$row['sporttype'];
?>
<!--This builds the accordion -->
<div style="margin-top:13px;">
<div id="AC-label">
   <div id="ACIntro"><span id="hidden_box_button1" style="color:#000000; cursor:pointer;padding-top:10px; padding-bottom:10px;font-size:14px;font-weight:bold; text-shadow:none;"><?php echo date('l, F d, Y', strtotime($weekStartDate));?><span style="float:right; margin-right: 10px;"><span id="hidden_box_button1" style="color:#000000; cursor:pointer; text-shadow:none;">+</span></span></div></div></div>
    <div id="hidden_box1" style="display:none;">
<div style="float:left; clear:both; display:table; margin-top:5px;">
<!-- See if the gamedate matches the accordion date -->
<?php if (date('d', strtotime($row['gamedate'])) == date('d', strtotime($weekStartDate))) { ?>
<table style="margin-left:-15px;" cellpadding="3px">
<tbody>
<tr>
<!--Check the value of $sport and echo the appropriate table row -->
    <?php if ($sport == 'Baseball'): ?>
    <td colspan="2" style="background-color:#D3BC9A; color:white;text-transform:uppercase; padding-left:25px;"><strong>BASEBALL</strong></td>
    <?php elseif ($sport == 'MBasketball'): ?>
      <td colspan="2" style="background-color:#D3BC9A; color:white;text-transform:uppercase; padding-left:25px;"><strong>MEN'S BASKETBALL</strong></td>
    <?php elseif ($sport == 'Golf'): ?>

      <td colspan="2" style="background-color:#D3BC9A; color:white;text-transform:uppercase; padding-left:25px;"><strong>GOLF</strong></td>
    <?php elseif ($sport == 'MSoccer'): ?>
      <td colspan="2" style="background-color:#D3BC9A; color:white;text-transform:uppercase; padding-left:25px;"><strong>MEN'S SOCCER</strong></td>
    <?php elseif ($sport == 'WBasketball'): ?>
      <td colspan="2" style="background-color:#D3BC9A; color:white;text-transform:uppercase; padding-left:25px;"><strong>WOMEN'S BASKETBALL</strong></td>
    <?php elseif ($sport == 'WSoccer'): ?>
      <td colspan="2" style="background-color:#D3BC9A; color:white;text-transform:uppercase; padding-left:25px;"><strong>WOMEN'S SOCCER</strong></td>
    <?php elseif ($sport == 'Softball'): ?>
      <td colspan="2" style="background-color:#D3BC9A; color:white;text-transform:uppercase; padding-left:25px;"><strong>SOFTBALL</strong></td>
    <?php elseif ($sport == 'Volleyball'): ?>
      <td colspan="2" style="background-color:#D3BC9A; color:white;text-transform:uppercase; padding-left:25px;"><strong>VOLLEYBALL</strong></td>
    <?php elseif ($sport == 'Cycling'): ?>
      <td colspan="2" style="background-color:#D3BC9A; color:white;text-transform:uppercase; padding-left:25px;"><strong>CYCLING</strong></td>
    <?php elseif ($sport == 'Equine'): ?>
      <td colspan="2" style="background-color:#D3BC9A; color:white;text-transform:uppercase; padding-left:25px;"><strong>EQUINE</strong></td>
    <?php endif; ?>
</tr>
<!--Build the table rows for the games based on the sport -->
<?php if ($row['homescore'] != ' ' and $row['homeschool'] == 'Virginia Intermont College - VA'): ?>
<tr>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><strong><?php echo $row['homeschool'];?>&nbsp;vs.</strong><br/><?php echo $row['visitorschool'];?></span></td>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><?php echo $row['homescore'];?><br/><?php echo $row['visitorscore'];?></span></td>
</tr>
<?php elseif ($row['homescore'] != ' ' and $row['visitorschool'] == 'Virginia Intermont College - VA'): ?>
<tr>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><?php echo $row['visitorschool'];?>&nbsp;@<br/><?php echo $row['homeschool'];?></span></td>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><?php echo $row['visitorscore'];?><br/><?php echo $row['homescore'];?></span></td>
</tr>
<?php elseif (empty($row['homescore']) and empty($row['score']) and $row['homeschool'] == 'Virginia Intermont College - VA'): ?>
<tr>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><strong><?php echo $row['homeschool'];?>&nbsp;vs.</strong><br/><?php echo $row['visitorschool'];?></span></td>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><?php echo $row['gametime'];?><br/>&nbsp;</span></td>
</tr>
<?php elseif (empty($row['homescore']) and empty($row['score']) and $row['visitorschool'] == 'Virginia Intermont College - VA'): ?>
<tr>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><?php echo $row['visitorschool'];?>&nbsp;@<br/><?php echo $row['homeschool'];?></span></td>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><?php echo $row['gametime'];?><br/>&nbsp;</span></td>
</tr>
<?php elseif ($row['score'] != ' ' and $row['homeschool'] == 'Virginia Intermont College - VA'): ?>
<tr>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><strong><?php echo $row['homeschool'];?>&nbsp;vs.</strong><br/><?php echo $row['visitorschool'];?></span></td>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><?php echo $row['score'];?><br/>&nbsp;</span></td>
</tr>
<?php elseif ($row['score'] != ' ' and $row['visitorschool'] == 'Virginia Intermont College - VA'): ?>
<tr>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><?php echo $row['visitorschool'];?>&nbsp;@<br/><?php echo $row['homeschool'];?></span></td>
<td style="margin-bottom:3px;"><span style="text-shadow: none;"><?php echo $row['score'];?><br/>&nbsp;</span></td>
</tr>
<?php endif; ?>
</tr>
</tbody>
</table>
</div>
<?php } else { ?>
<div style="float:left; clear:both; display:table; margin-top:5px;">
<table style="margin-left:-15px;" cellpadding="3px">
<tbody>
<tr>
<td style="margin-bottom:3px;"><span style="text-shadow: none;">No games today.</span></td>
</tr>
</tbody>
</table>
</div>
<?php }
    }
  }
}
     /* close while and reset weekday date and sport */
    $weekday=date('d', strtotime($row['gamedate']));
    $day=date('l, F d, Y', strtotime($row['gamedate']));
    $sport=$row['sporttype'];
    }
?>     
</div>
        <script type="text/javascript">
        (function($) {
            $("#hidden_box_button1").click(function() {
                if ( $("#hidden_box1").is(":hidden") ) {
                    $("#hidden_box1").slideDown("normal");
                } else {
                    $("#hidden_box1").slideUp("normal");
                }
            });
        })(jQuery);
        </script>
</div>
<?php
 /* close ifresult and give no results statement*/
} else {?>
<span style="vertical-align:top;margin-left:-16px;padding:0;"><img src="images/cobrasschedule.png" border="0"/></span>
<?php
 echo "Schedule is not available.";
}
/* free result set*/
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>
  • 写回答

1条回答 默认 最新

  • dongnai2804 2013-10-05 17:04
    关注

    I will answer the question in the title

    $sql=mysql_query(SELECT field1 from table1 where condition1 ) // condition1 =field1=value1  for example
    

    then

     while($r=mysql_fetch_assoc($sql)){
      $var=$r['field1'];
       if($var){
         //Something
    }
       }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?