作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我要求用户以表单形式提供以下详细信息:
用户可以在购物车中添加多个商品。在结帐期间,我想过滤 URL,例如用户在表单中输入以下多个 URL,这些多个 URL 将插入到产品表中。
在这种情况下,我想获取 URL 的主机(域),例如:
并在数据库存储表中添加一次。例如,用户添加了 2 个来自 Aliexpress 的 URL,一个来自 Nike 的 URL,因此我想在数据库中商店表的 store_url 列中存储一次 Aliexpress 和一次 Nike。我通过下面的代码获取主机 URL:
foreach ($data as $show)
{
$var= parse_url($show->produst_url);
echo $var['host'];
}
下面是数据库表
-------- -------
products store
-------- -------
id id
product name products_id
product url store url
product price
感谢任何帮助。我已尽力向您解释我的问题,但如果您仍然需要更多细节,我将很乐意向您解释更多信息。谢谢
最佳答案
有很多方法可以做到这一点,这只是其中之一......
您的主要问题是 - 如何保存唯一条目?
这只是一些示例代码,基于您提供的调试代码,以便我可以在开发时看到它是如何工作的。没有数据库“东西”,因为您没有提供任何相关信息,所以这只是让您继续前进的一个开始。
// Create some dummy test data as per the provided code.
$data[] = (object)array('produst_url' => 'http://aliexpress.com/product/phone_cover');
$data[] = (object)array('produst_url' => 'http://aliexpress.com/product/phone_battery');
$data[] = (object)array('produst_url' => 'http://nike.com/cat/shoes');
var_dump($data); // Check the test array
$host_array = array(); // Init the array to store the host values
foreach ($data as $show) {
$var = parse_url($show->produst_url);
var_dump($var); // Check the $var array
$host = $var['host'];
// Save the host name in the host_array ONLY if it hasn't already been saved.
if ( ! in_array($host, $host_array)) {
$host_array[] = $host;
}
echo $host; // show the host name
}
// Check the final $host_array
var_dump($host_array); // What does the final answer look like?
最终的 var_dump ,var_dump($host_array),揭示了......
array (size=2)
0 => string 'aliexpress.com' (length=14)
1 => string 'nike.com' (length=8)
不确定produst是否应该是产品,但我保留了它,因为你有它。至少是一致的。
现在您拥有一组唯一主机名。接下来,如果它们尚不存在,则必须将它们保存到数据库中,以防止重复。
由于您没有提供有关数据库/表设置的任何见解,因此如果您不确定如何执行此操作,那么这部分应该是另一个问题。
关于php - Codeigniter:如果有多个项目,如何对主机 url 进行分组并将其保存到数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49581874/
我是一名优秀的程序员,十分优秀!