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

标签 javascript php mysql sql

PHP - MySQL - JavaScript

我有一个 javascript Accordion ,我想用基于 MySQL 查询的数据填充它。此处提供了 Accordion 的示例(现已手动更新):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=55 它的作用),但是,我不确定如何继续。我需要 Accordion 始终显示一周的日期,并且包含该日期的比赛行或说今天没有比赛。

我还需要显示按运动分组的比赛。因此,举例来说,如果 9 月 10 日有两场男子足球比赛和一场 Volley 比赛,那么我需要表格中有一个表格行,其中包含运动名称,后面是一个表格行(针对每场比赛)。运动(就像我的例子)。如果当天没有安排比赛,那么我需要查看第二天​​是否安排了比赛,依此类推...

我的想法是继续为每个 Accordion 编写 if 语句,但我认为每行显示的运动类型都会出现问题,其中 $sport =“value”。 到目前为止,这是我的代码:

<?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);
?>

最佳答案

我来回答标题中的问题

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

然后

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

关于javascript - 当 while 循环和行变量满足条件时,如何循环它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19200299/

相关文章:

php - 为什么我通过 php/mysql 生成的 CSV 文件上写有错误,而不是数据

javascript - 如果输入错误,HTML 输入类型日期有时为空值

javascript - 似乎无法从自定义插件关闭 tinymce 4 弹出窗口

javascript - if 条件中的递归混淆,JS 是如何解释 "truthly/falsely"条件的?

php - 循环遍历 Woocommerce 购物车项目以获取跟踪代码

javascript - 第二次单击时关闭 Accordion

javascript - 在 Angular JS 中迭代数组以获得通用代码

php - 用于 wordpress 或 Drupal 的吉他指法谱和乐谱导向插件

mysql - 查询以根据 mysql 中每个项目的角色隔离用户

mysql - 返回在另一个表中找不到 cat_id 的表中的所有行