0

可能重复:
PHP 错误消息“注意:使用未定义的常量”是什么意思?

我试图在同一页面中一次显示一个(记录)问题。我在代码的开头放了一个条件来检查这是否是页面第一次加载,如果是,则显示第一条记录。否则,转到将显示第二条记录的“else”语句。每显示一条记录,计数器就会增加一 ($i++)。此外,我将所有检索到的记录保存在一个数组中,并从该数组中一次读取一个记录。我不知道为什么我在这里收到如下错误:

(1) 使用未定义的常量 i - 假定为 'i'

(2) 未定义索引:i

有谁知道如何解决这个问题?

这是我的代码:

<?php

 $f_name = $_SESSION['first_name'];
 $l_name = $_SESSION['last_name'];

 $arr_rows;
 $i;

 if (!isset($_POST['next'])) 

 { //if form is not submitted,

  $command2 = "SELECT user_id FROM user_info WHERE user_info.first_name = '$f_name' 
  and user_info.last_name = '$l_name'";

  $command1 = "SELECT * FROM topics, documents WHERE topics.topic_id =documents.topic_id";  

  $i=0; // Counter for the number of documents per topic


  $userid = mysql_query($command2);
  $results = mysql_query($command1);
  $num=mysql_numrows($results);

  //////////////

  $arr_rows = array();
  while( $row = mysql_fetch_array( $results ) )
  $arr_rows[] = $row;


  $arr = mysql_fetch_row($userid);
  $id_user = $arr[0]; 

  echo $f_name;
  $relevancy = "This is the first time to load this page";


  $f1=$arr_rows[i]['topic_name'];
  $f1_topic_description=$arr_rows[i]['topic_descrip'];
  $f1_doc_content=$arr_rows[i]['doc_content'];

  ++$i;

  } 

  else 

  { //otherwise,

    $relevancy = $_POST['RadioGroup1'];

    $f1=$arr_rows[i]['topic_name'];
    $f1_topic_description=$arr_rows[i]['topic_descrip'];
    $f1_doc_content=$arr_rows[i]['doc_content'];

    ++$i;

    }
    ?>
4

5 回答 5

1
$f1=$arr_rows[i]['topic_name'];
$f1_topic_description=$arr_rows[i]['topic_descrip'];
$f1_doc_content=$arr_rows[i]['doc_content'];

应该

$f1=$arr_rows[$i]['topic_name'];
$f1_topic_description=$arr_rows[$i]['topic_descrip'];
$f1_doc_content=$arr_rows[$i]['doc_content'];

您缺少变量“i”上的美元符号。

于 2012-11-09T11:28:55.577 回答
1

PHP 不会将您的变量存储到下一个请求中。

您可以将计数器信息 ($i) 添加到会话变量、cookie 或请求参数中。否则,您的 $i 将始终从零开始。

于 2012-11-09T11:32:39.990 回答
1

使用“i”在数组中指定索引时,您缺少 $. 例如:

$f1=$arr_rows[i]['topic_name']; $f1_topic_description=$arr_rows[i]['topic_descrip']; $f1_doc_content=$arr_rows[i]['doc_content'];

应该读

$f1=$arr_rows[$i]['topic_name'];
$f1_topic_description=$arr_rows[$i]['topic_descrip'];
$f1_doc_content=$arr_rows[$i]['doc_content'];
于 2012-11-09T11:33:07.447 回答
0

你错过了$变量名之前的。检查您的代码并替换i$i.

于 2012-11-09T11:28:07.790 回答
0

我认为错误就在这里......替换i$i所以你实际上是在调用你的变量

$f1=$arr_rows[$i]['topic_name'];
$f1_topic_description=$arr_rows[$i]['topic_descrip'];
$f1_doc_content=$arr_rows[$i]['doc_content'];
于 2012-11-09T11:28:53.603 回答