在为具有多对多关系的业务目录构建类别导航系统时,我理解创建映射表是一种好习惯.
类别表(CategoryId,CategoryName)
业务表(BusinessId,BusinessName)
类别映射表(BusinessId,CategoryId)
当我加入Category表和Business表来创建映射表时,这会给我一个包含每个可能的业务和类别关系的表吗?
我有800个类别和1000个商家信息.那会不会给我一张包含800,000种可能关系的表格.如果是这样,我将如何只关注存在的关系?我是否必须通过所有列表(800,000)将其标记为真或假?
我对此非常困惑,所以任何帮助都会非常感激.
我试图添加一个链接来阅读段落末尾的更多文本.我想这个链接最后显示在段落中,如下所示:

我希望段落附加...和阅读更多链接.
现在我不希望阅读更多链接做任何事情,因为一旦我得到链接,我将添加我自己的功能.我只是在努力寻找一种让链接看起来像这样的方法.
我一直在看下面的jquery脚本,但这似乎对字符数有效,并且无论字符限制是什么都会切断最后一个字,然后不显示我想要的方式(链接出现在段落下方) .它还包含一个函数,用于单击链接时发生的事情,由于我缺乏jquery的能力,我在编辑时失败了.
$(function(){ /* to make sure the script runs after page load */
$('.customer_experience').each(function(event){ /* select all divs with the customer_experience class */
var max_length = 250; /* set the max content length before a read more link will be added */
if($(this).html().length > max_length){ /* check for content length */
var short_content = $(this).html().substr(0,max_length); /* split the content in two parts */
var long_content = $(this).html().substr(max_length);
$(this).html(short_content+
'<a href="#" class="read_more"><br/>read more...</a>'+
'<span class="more_text" style="display:none;">'+long_content+'</span>'); /* …Run Code Online (Sandbox Code Playgroud) 构建仅供成员访问的页面时,以下是正确的php:
<?php if($_SESSION['logged_in']): ?>
// all code for page here
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)
我的所有html/php都位于这两行之间吗?
还有其他方法可以做得更好吗?
我应该注意哪些安全问题?
我的内容不是特别敏感,但可能在将来.
如果我从名为categories的mysql表中调用链接列表,我想我会使用如下的select语句:
$query = "SELECT cat_name, cat_description FROM categories";
$result = mysqli_query($dbc, $query)
or die('Error querying database.');
while ($row = mysqli_fetch_array($result)){
echo '$row';
}
Run Code Online (Sandbox Code Playgroud)
这些类别已与mapping_table中的business_info表连接(它们具有多对多关系).我认为目前这将回显每个类别名称的字符串,所以我不明白我如何使我的回显结果活动链接,这将显示点击时的业务信息.
我知道一旦点击它们就会向mapping_table发出一个SELECT语句,我很酷.我正在努力的一点是让他们可以点击发出那个声明.任何想法,我都迷路了!
编辑:我编辑了AND子句.我错了.
以下查询没有执行,我很难过为什么.查询返回die"错误查询数据库"的子句,但我的所有信息都是准确的.
我的查询变量中是否出现语法错误?
<?php
$db_host = 'localhost';
$db_user = 'root';
$db_pass = 'root';
$db_database = 'bbg_db_2';
$dbc = mysql_connect($db_host,$db_user,$db_pass) or die('Unable to establish a database connection');
$query = "SELECT category_name, category_desc FROM categories";
$result = mysqli_query($dbc, $query) or die ('error querying database');
while ($row = mysqli_fetch_array($result)) {
$catname = $row['category_name'];
$catdesc = $row['category_desc'];
echo "<li>$catname</br><span>$catdesc</span></li>";
}
mysqli_close($dbc);
?>
Run Code Online (Sandbox Code Playgroud) 我遇到的问题是当我回显或打印以下变量时,我收到的数据只是我表中列出的最后一个商家的数据.
目前无论我在哪个列表中单击,我都会获得返回的最后一个业务的相同数据集.
正如您在下面的代码中看到的那样,我将从单击的列表中传递business_name以在我的查询中使用,以查找相关的业务配置文件信息.
$business_name = mysql_real_escape_string($_GET['business_name']);
$query = "SELECT
business_id,
category,
years_recommended,
profile_size,
business_name,
established,
employees,
service,
strengths,
ideal_for,
reassurance
FROM
business_data
WHERE
business_name = '$business_name'
AND
profile_size = 'A'
OR
profile_size = 'B'
OR
profile_size = 'C'
OR
profile_size = 'D'
OR
profile_size = 'E'";
$result = mysql_query($query, $dbc)
or die (mysql_error($dbc));
while($row = mysql_fetch_array($result)) {
$business_id = $row["business_id"];
$profile_size = $row["profile_size"];
$category = $row["category"];
$years = $row["years_recommended"];
$established = $row["established"];
$employees = $row["employees"];
$service = $row["service"];
$strengths = …Run Code Online (Sandbox Code Playgroud) php ×5
mysql ×4
categories ×1
css ×1
echo ×1
html ×1
hyperlink ×1
jquery ×1
mapping ×1
membership ×1
navigation ×1
security ×1
session ×1