我几乎已经解决了从表中获取一些数据的问题,基本上我有一个用户表,一个类别表和一个联接表,这些表具有从用户表分配给user_id的外键以及从表中获取的cat_id的外键。猫表。
我基本上想显示不同的类别(如果已将它们分配给您),并且在联接表的数据库中,我可以选择一个用户ID和Cat ID,并且该ID连续具有自己的ID。我面临的麻烦是登录时要根据用户ID显示这些类别?
到目前为止,这是我的代码:
<?php
require ('../db_con.php');
error_reporting(E_ALL);
ini_set('display_errors', '1');
// BUILD AND DISPLAY THE CATEGORY LIST (RICOH BUILD)
function build_cat_list()
{
global $dbc;
$user = $_SESSION['user'];
$q = sprintf("
SELECT
count(*)
FROM
cats
INNER JOIN
user_cat_join
ON
cats.cat_id = user_cat_join.cat_id
WHERE
user_cat_join.user_id = '%s'
",
mysqli_real_escape_string($dbc, $user)
);
$r = mysqli_query ($dbc, $q); // Run the query.
// FETCH AND PRINT ALL THE RECORDS
while ($row = mysqli_fetch_array($r)) {
echo '
<a href="view_cat.php?cat_id='.$row["cat_id"].'">
<div class="indexBox"">
<div class="indexBoxHeader" style="background-color:'.$row["cat_color"].'"><p>'
.$row["cat_icon"].'</p>
</div>
<div class="indexBoxFooter">
<p>'.$row["cat_name"].'</p>
</div>
</div>
</a>';
}
}
?>
就目前而言,它正在整个脚本中运行,因为它的作用是建立一个带有图标,背景色和名称的小框。但是目前,它呈现了框,但告诉我有一些未定义的变量,我知道该错误意味着什么,但努力克服该错误?
Notice: Undefined index: cat_id in C:\MAMP\htdocs\functions\functions.inc.php on line 36
Notice: Undefined index: cat_color in C:\MAMP\htdocs\functions\functions.inc.php on line 38
Notice: Undefined index: cat_icon in C:\MAMP\htdocs\functions\functions.inc.php on line 39
Notice: Undefined index: cat_name in C:\MAMP\htdocs\functions\functions.inc.php on line 42
当然,以上变量指的是底部实际显示出框的部分。如果使用,它将仅向我显示这些未定义的变量,count(*)
但是如果我指定它们(例如cat_name,cat_color等),我什么也不会得到,也没有错误?
更改查询以选择您实际要使用的列
$q = sprintf("
SELECT
cats.cat_id,cat_color,cat_icon, cat_name
FROM cats
INNER JOIN user_cat_join
ON cats.cat_id = user_cat_join.cat_id
WHERE user_cat_join.user_id = '%s'
",
mysqli_real_escape_string($dbc, $user) );
最好在这里使用准备好的语句,但要保持简单!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句