在php中一次显示一条记录

时间:2012-11-09 11:26:15

标签: php

  

可能重复:
  What does the PHP error message “Notice: Use of undefined constant” mean?

我试图在同一页面中一次显示一个(记录)问题。我在代码的开头添加了一个条件来检查这是否是第一次加载页面,如果是,则显示第一条记录。否则,转到“else”语句,其中将显示第二条记录。每次显示记录时,计数器增加1($ 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;

    }
    ?>

5 个答案:

答案 0 :(得分: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”上的美元符号。

答案 1 :(得分:1)

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

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

答案 2 :(得分: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'];

答案 3 :(得分:0)

您在变量名称前缺少$。检查您的代码并将i替换为$i

答案 4 :(得分: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'];