简体   繁体   English

当它们满足条件时,如何遍历while循环和行变量?

[英]How do I loop through the while loop and through row variables when they meet a condition?

PHP - MySQL - Javascript PHP-MySQL-Javascript

I have a javascript accordion that I would like to have populated with data based on a MySQL query. 我有一个Javascript手风琴,我想使用基于MySQL查询的数据来填充。 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 可在此处找到手风琴的示例(现已手动更新): 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. 我已经编写了一些代码(请参阅http://www.vi-athletics.com/schedules/mens-soccer-schedule-2013-14?id=55上的内容 ),但是,我不确定如何继续。 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). 因此,举例来说,如果9月10日有两场男子足球比赛,而一场是排球比赛,那么我需要在桌子上有一个表列,上面写着这项运动的名称,然后是该表的下一行(每场比赛)运动(例如在我的示例中)。 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". 我当时的想法是继续为每个手风琴编写if语句,但是我认为在$ 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);
?>

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM