【问题标题】:Printing php elements inside html tags在 html 标签中打印 php 元素
【发布时间】:2015-12-22 03:25:32
【问题描述】:

情况:我正在尝试通过 php 变量从数据库中显示几个值。我使用引导程序和 XAMPP 作为服务器。我想要做的是,获取当前日期并用我从数据库中获得的事件日期检查它。如果它们都等于在那个红球内显示日期。我试图在他们的网站上像Mozilla Event Calendar 一样得到它

for ex-我在 phpmyadmin 中将事件日期更改为今天的日期(2015-12-22),是的,它们都是相等的,所以它必须在那个红球内显示日期。它适用于我的测试位置,但不在红球内。

问题: 问题是它没有显示任何东西。我应该怎么做才能在 html 标签中显示 php 元素?

我尝试了什么:(在红球内)

<div class="row LatestEventCircle">
  <div class="row container-fluid center-block text-center MainEventDate">
    <h2 class="center-block MainEventDate">
      <?php echo"$rows[$eventdate]"; ?><br>
      EVENT
    </h2>
  </div>
  <!--HERE IS THE PLACE-->
  <div class="row"></div>             
</div>

这是处理数据库部分和测试代码的 php 脚本:

<?php
mysql_connect("localhost","root","");
mysql_select_db("yaya");    
$sql=mysql_query("SELECT eventname,eventtime,eventplace,eventdate FROM event");

$eventdate='eventdate';
$eventplace ='eventplace';
$eventname ='eventname';
$eventtime='eventtime';

$datenow=date('Y-m-d');

if($sql==False) {
    die(mysql_error());
} 

while($rows=mysql_fetch_array($sql)) {
    if($datenow==$rows["eventdate"]) {
        echo "Next Event is";
        echo 'Event: ' .$rows[$eventname]. '<br/>' .'Place: ' .$rows[$eventplace].'<br/>' .'Time: '.$rows[$eventtime]. '<br/>'.'Date: '.$rows[$eventdate];
    }

    else {
        echo "No Events today"; 
    }
}
?> 

【问题讨论】:

  • 为什么-1这个问题有什么问题?
  • 实际上应该是echo "{$rows['eventdate']}" eventdate 和引号的大括号和没有$。你可能不需要另一个变量$eventdate='eventdate';
  • @bansi echo "{$rows['eventdate']}" 不起作用,我试过但它对我不起作用:/结果和以前一样
  • 您在哪里以及如何生成 html?
  • 什么意思?那个 代码在 div 标签内

标签: php html sql database twitter-bootstrap


【解决方案1】:
<?php echo $rows["eventdate"]; ?>

应该可以。

除此之外,请考虑像这样直接放置键名,而不是将它们放入变量中并使用变量。这是多余的,并增加了一定程度的混乱。

【讨论】:

    【解决方案2】:

    一个简单的方法就是试试这个......

     if($datenow==$rows["eventdate"])
        { 
    $result = $rows[$eventname];
    return result;
    }
    
    
    <h2><?php echo $result; ?><br>EVENT</h2>
    

    记得在html页面中包含php文件

    【讨论】:

    • 这给了我这个错误“注意:使用未定义的常量结果 - 在第 xxx 行的 C:\xampp\htdocs\FinalFinal\index.php 中假定为“结果””
    • 您看到未定义的常量,因为 $result 中的数组应该在引号 'code' $result = $rows['eventname'];
    【解决方案3】:

    就在你的while循环定义一个变量$nextEventDate之前,然后在你的循环中为这个变量分配你需要的东西;

    $nextEventDate = '';
    while($rows=mysql_fetch_array($sql)) {
      if($datenow==$rows["eventdate"]) {
        $nextEventDate = $rows[$eventdate];
        echo "Next Event is";
        echo 'Event: ' .$rows[$eventname]. '<br/>' .'Place: ' .$rows[$eventplace].'<br/>' .'Time: '.$rows[$eventtime]. '<br/>'.'Date: '.$rows[$eventdate];
      } else {        
        $nextEventDate = 'No Events';
        echo "No Events today"; 
      }
    }
    

    然后在你的 html 中使用 $nextEventDate 变量(在红球内)。

    <h2 class="center-block MainEventDate">
      <?php echo $nextEventDate ; ?><br />
      EVENT
    </h2>
    

    希望这能解决它;)

    另外,我不确定您为什么要从数据库表中选择所有数据行,然后使用 php 查找具有今天日期的行。 您应该使用数据库查询来选择今天的事件;

    $todaysEventSql=mysql_query("SELECT eventname,eventtime,eventplace,eventdate FROM event WHERE DATE(eventdate) = DATE(NOW()) ");
    

    另外,您使用的 mysql_* 函数已被弃用,请替换为最新的等效项;

    Why shouldn't I use mysql_* functions in PHP?

    【讨论】:

      【解决方案4】:
      echo"$rows[$eventdate]";
      

      你可以换成

      echo $rows[$eventdate];
      

      echo "{$rows[$eventdate]}";
      

      【讨论】:

      • 所以我认为让更改为硬编码 我觉得应该可以。如果不是,则为空变量:D
      • 它不是空的,所以我在左上角尝试了它,它起作用了
      • 我确实尝试过测试语法: 所以错误应该来自变量。让我们尝试: var_dump($rows[$eventdate]);
      【解决方案5】:

      或者只是回显这个删除那些返回结果和结果变量

      echo '<div class="row LatestEventCircle"><div class="row container-fluid center-block text-center MainEventDate">'.
              '<h2 class="center-block MainEventDate">'.$rows[$eventdate].' <br></h2></div>'.$rows[$eventname].'<div class="row"></div>
      </div>';
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-01-10
        • 1970-01-01
        • 2021-09-02
        • 1970-01-01
        • 1970-01-01
        • 2011-08-03
        • 1970-01-01
        相关资源
        最近更新 更多