可能重复:
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;
}
?>
答案 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'];