Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何制作<;标题>;标签动态_Php_Mysql_Html_Dynamic_Title - Fatal编程技术网

Php 如何制作<;标题>;标签动态

Php 如何制作<;标题>;标签动态,php,mysql,html,dynamic,title,Php,Mysql,Html,Dynamic,Title,我需要一些帮助,在生成动态网页标题页,根据用户采取的行动。下面的代码是我在所有页面顶部包含的$title根据我调用它的页面进行更改 <?php $title = "Biographies of Company Executives"; require('includes/header.php'); ?> 从上面的查询 $row[comp_bios_position] 可供页面使用。 如何使$row[comp\u

我需要一些帮助,在生成动态网页标题页,根据用户采取的行动。下面的代码是我在所有页面顶部包含的
$title
根据我调用它的页面进行更改

  <?php
      $title = "Biographies of Company Executives";
      require('includes/header.php');
  ?>
从上面的查询

                   $row[comp_bios_position]
可供页面使用。 如何使
$row[comp\u bios\u position]
可用于HTML标题部分的
$title

多谢各位

在问我的问题之前,我看到了这个问题。它没有回答我的问题,因为我会喜欢

更新:我将其添加到header.php脚本中,但仍然不起作用。屏幕上没有显示错误

<title>
      <?php if(isset($row['comp_bios_position'])) {
               $title = $row['comp_bios_position'];} 
               echo $title; 
      ?>
</title>

我在评论中的回答仍然有效,请将选择部分置于
要求的上方

<?php
      //Do all the selects:
      $bios = mysql_query( "SELECT *
                   FROM  `comp_bios`
                   WHERE `comp_bios_id` =  '{$id}'") or die(mysql_error());
                   $row = mysql_fetch_array($bios);

      //Use this how ever you want: $row[comp_bios_position]
      $title = "Biographies of Company Executives : " . $row[comp_bios_position];
      require('includes/header.php');
?>


您将在
标题中有
$title
。php

我在评论中的回答仍然有效,请将选择部分放在
require
上方:

<?php
      //Do all the selects:
      $bios = mysql_query( "SELECT *
                   FROM  `comp_bios`
                   WHERE `comp_bios_id` =  '{$id}'") or die(mysql_error());
                   $row = mysql_fetch_array($bios);

      //Use this how ever you want: $row[comp_bios_position]
      $title = "Biographies of Company Executives : " . $row[comp_bios_position];
      require('includes/header.php');
?>


header.php

中会出现
$title
。您遇到的问题是由于代码的执行顺序。请记住,PHP是一个函数,这意味着变量的内容是从脚本的“上到下”设置和使用的。简单地说,这意味着因为在代码主体中实际运行查询之前,
标记(在
header.php
中)就出现了,所以在选择自定义标题之前很久就已经设置了标题

基本上,有两种主要方法可以解决这一问题:

1) 将查询放在包含
header.php
的行上方,以便在实际使用/解释变量之前选择动态标题

2) 重新考虑您的设计模式,以便可以在包含的文件体中更改变量,并且不必确保执行顺序如此严格。这可以通过多种方式实现:深入研究,甚至更好,将您的逻辑与输出/表示完全分离(即MVC),这样您就可以对变量执行任何您喜欢的操作,并且只有在这之后,您的页面才会真正溢出

至于为什么更新的代码不起作用,可能是因为您还没有运行SELECT查询,但您正在尝试访问它返回的$row对象。基本上,您无法访问查询结果,因为在代码中,查询甚至还没有发生


祝你好运

您遇到的问题是由于代码的执行顺序造成的。请记住,PHP是一个函数,这意味着变量的内容是从脚本的“上到下”设置和使用的。简单地说,这意味着因为在代码主体中实际运行查询之前,
标记(在
header.php
中)就出现了,所以在选择自定义标题之前很久就已经设置了标题

基本上,有两种主要方法可以解决这一问题:

1) 将查询放在包含
header.php
的行上方,以便在实际使用/解释变量之前选择动态标题

2) 重新考虑您的设计模式,以便可以在包含的文件体中更改变量,并且不必确保执行顺序如此严格。这可以通过多种方式实现:深入研究,甚至更好,将您的逻辑与输出/表示完全分离(即MVC),这样您就可以对变量执行任何您喜欢的操作,并且只有在这之后,您的页面才会真正溢出

至于为什么更新的代码不起作用,可能是因为您还没有运行SELECT查询,但您正在尝试访问它返回的$row对象。基本上,您无法访问查询结果,因为在代码中,查询甚至还没有发生


祝你好运

打印标题前不能进行选择吗?^如前所述,只需在包含
header.php
@njk之前进行选择,请查看更新的问题。谢谢。@krycke请查看更新的问题。谢谢,在打印标题之前不能进行选择吗?^如前所述,只需在包含
标题之前进行选择。php
@njk请查看更新的问题。谢谢。@krycke请查看更新的问题。非常感谢。