在PHP页面的URL中间添加mySQL表中的文本

在PHP页面的URL中间添加mySQL表中的文本,php,mysql,string-concatenation,Php,Mysql,String Concatenation,我会尽量正确地问这个问题。这把我打败了 我有一个在线脚本,可以根据page1.php上的搜索结果显示项目。结果来自一个名为items的表。结果列表包含指向如下项目的链接:a href=\/。船/$name/$p$行[PID]。html\ 在同一数据库中的另一个表中,有一个名为morphlinks的表,其中有两个名为elink和ulink的字段。elink具有与命名项表中的id号相对应的id号 CREATE TABLE IF NOT EXISTS morphlinks ( elink var

我会尽量正确地问这个问题。这把我打败了

我有一个在线脚本,可以根据page1.php上的搜索结果显示项目。结果来自一个名为items的表。结果列表包含指向如下项目的链接:a href=\/。船/$name/$p$行[PID]。html\

在同一数据库中的另一个表中,有一个名为morphlinks的表,其中有两个名为elink和ulink的字段。elink具有与命名项表中的id号相对应的id号

CREATE TABLE IF NOT EXISTS morphlinks ( 
  elink varchar(128) NOT NULL default '',
  ulink varchar(255) NOT NULL default '', 
  PRIMARY KEY (elink) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO morphlinks (elink, ulink) VALUES ('12345', 'canoes/Blue-Canoes/Bob-Morris/');
我希望做的是将morphlinks中相应行中的内容添加到您看到boats/$name/的url。因此,带有URL的项目列表将在php页面上显示为:a href=www.domain.com/canoes/Blue-canoes/Bob-Morris/12345.html,其中canoes/Blue canoes/Bob-Morris/是morphlinks表中的内容,12345是PID号

除了独木舟/蓝色独木舟/鲍勃·莫里斯/零件外,一切正常。我不知道如何将该部分输入url。url工作正常,无论它是否在那里,都会转到同一个项目,但我们希望它在那里用于seo目的。我们偶尔会手动填充morphlinks表

谢谢,
Douglas

您的问题在迭代行的代码中不是非常清楚,但我假设$line是作为assoc数组的mysql行。。我不知道$name是从哪里来的,所以我现在就忽略它。。。如果你想用更多的信息更新你的问题,我可以给你一些更准确的信息,但是下面是一个一般的方法

首先修改查询以将链接连接到项。。我假设pid==elink

因此,现在在rsults数组中,您可以选择一个$line['elink']

从这里我可以很容易地使用sprintf来保持理智

sprintf(
   'a href="/%s%s%s.html"', 
   (!empty($line['elink']) ? $line['elink'] : "boats/$name/"), 
   $p,
   $line['PID']
)

您在什么时候尝试将额外的材料添加到URL?这是否仅在页面上的HTML链接中?在他们转到没有完整URL的链接后重定向浏览器?谢谢回答。我应该说得更清楚些$name对应于morphlinks表中的ulink,该表具有名称或部分路径列表。独木舟/蓝色独木舟/鲍勃·莫里斯/那么$name是主键吗?$line也是行的实际数组表示形式吗?另外,什么是$p?您可以发布模式显示创建表链接;显示创建表项;?我应该说得更清楚些$name对应于morphlinks中的ulink字段,其中包含部分路径canoes/Blue canoes/Bob Morris/。结果链接不会重定向页面,但会在结果页面上列出。搜索会将用户引导到包含此代码的页面,然后他们会单击将生成的链接以查看项目。因此,当这个items.php页面加载时,它会列出我试图将部分路径放入其中的链接。抱歉,在我完成第一条注释之前,我按了enter键。-表morphlinks的表结构-创建表如果不存在链接morphelink varchar128 NOT NULL default,ulink varchar255 NOT NULL default,主键elink ENGINE=MyISAM默认字符集=latin1;--正在转储表morphlinks的数据-插入morphlinks,ulink值为“12345”,“canoes/Blue canoes/Bob Morris/”;
sprintf(
   'a href="/%s%s%s.html"', 
   (!empty($line['elink']) ? $line['elink'] : "boats/$name/"), 
   $p,
   $line['PID']
)