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

发布于 2024-09-28 04:21:43 字数 953 浏览 1 评论 0原文

我会尝试正确地提出这个问题。这已经让我舔了。

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

在同一数据库的另一个表中,有一个名为“morphlinks”的表,其中有两个字段,分别为 elink 和 ulink。 elink 的 id 号与名为“items”的表中的 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 的项目列表在 php 页面上将如下所示: a href=www.domain.com/canoes/Blue-Canoes/Bob-Morris/12345.html 其中 canoes/Blue-Canoes/Bob- Morris/ 是“morphlinks”表中的内容,12345 是 PID 号。

除了独木舟/Blue-Canoes/Bob-Morris/部分之外,一切都运行良好。我不知道如何将该部分放入网址中。该网址工作正常,并且无论它是否在那里,都会转到同一个项目,但我们希望它在那里用于搜索引擎优化目的。我们偶尔会手动填充“morphlinks”表。

谢谢, 道格拉斯

I'll try to ask this correctly. This has got me licked.

I have a script online that will bring up items according to a search on let's say, page1.php. The results come from a table called items. The results list has links to the items that look like this: a href=\"/" . "boats/$name/" . "$p". $line["PID"]. ".html\"

In another table in the same database, there is a table named "morphlinks" with two fields in it named elink and ulink. elink has id numbers which correspond to id numbers in the table named "items".

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/');

What I'm hoping to do is to add what's in the corresponding row in "morphlinks" to the url where you see "boats/$name/". So the list of items with urls to display them will look like this on a php page: a href=www.domain.com/canoes/Blue-Canoes/Bob-Morris/12345.html where canoes/Blue-Canoes/Bob-Morris/ is what's in the "morphlinks" table and 12345 is the PID number.

It all works fine except for the canoes/Blue-Canoes/Bob-Morris/ part. I can't figure out how to get that part into the url. The url works fine and goes to the same item whether it's in there or not but we want it in there for seo purposes. We will manually populate the "morphlinks" table occasionally.

Thanks,
Douglas

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

差↓一点笑了 2024-10-05 04:21:43

您的问题对于迭代行的代码并不十分清楚,但我假设 $line 是作为关联数组的 mysql 行..我不确定 $name 来自哪里所以我现在要忽略它...如果您想用更多信息更新您的问题,我可以给您更准确的信息,但以下是解决此问题的一般方法...

首先修改查询以加入morphlinks 到项目..我假设 pid == elink

SELECT items.*, ml.ulink from items
LEFT JOIN morphlinks ml ON (items.pid = ml.elink)

所以现在在你的 rsults 数组中你应该有一个 $line['elink']

从这里开始就很简单了(我会使用 sprintf 来保持理智!):

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

Your question wasnt exatly clear on the code iterating over the rows but i assume $line is the mysql row as an assoc array.. im not sure where $name is coming from so im going to ignore that for now... if you want to update your question with more info i can give you something more exact, but the following is a general way to go about it...

First modify the query to join the morphlinks to the items.. i assume pid == elink

SELECT items.*, ml.ulink from items
LEFT JOIN morphlinks ml ON (items.pid = ml.elink)

So now in your rsults array you chould have a $line['elink'].

from here its easy (im goign to use sprintf for sanity!):

sprintf(
   'a href="/%s%s%s.html"', 
   (!empty($line['elink']) ? $line['elink'] : "boats/$name/"), 
   $p,
   $line['PID']
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文