gpt4 book ai didi

PHP-MySQL 使用 Simple HTML Dom 库将 "Array"插入到 foreach 循环中的表中

转载 作者:行者123 更新时间:2023-11-29 01:57:38 25 4
gpt4 key购买 nike

我有一段类似于下面的代码:

    include 'simplehtmldom/simple_html_dom.php';
...
...
foreach ($files as $file){
$results= array();
if(substr($file->getAttribute('href'),0,strlen($lookfor))==$lookfor){
$URLs= $file->getAttribute('href');
echo $URLs ."<br>";
$html = file_get_html($URLs);
foreach($html->find('div.postDisplay') as $post) {
$item['date'] = $post->find('p.id.post-date', 0)->plaintext;
$item['location'] = $post->find('p.id.post-location', 0)->plaintext;
$title = $item['title'] = $post->find('h1.id.post-title', 0)->plaintext;
$item['post'] = $post->find('div.post', 0)->plaintext;
$results[] = $item;
}
print_r($results) ."</br>";
...
...
...
$my_id ="1";
$photos = "1";
$insert_query = mysqli_query($db_connect, "INSERT INTO jackson.data (
my_id, photos, results) VALUES (
'$my_id', '$photos', '$results')");

代码在浏览器中完美地回显了 $results 值;但是,当我将数据插入数据库时​​,results 字段仅将 "Array" 存储为值。那么,有什么我想念的吗?以及如何插入在我的浏览器上回显的 $results 值的 HTML 格式而不是纯文本?

最佳答案

您正在使用 print_r 输出带有索引的数组,这就是浏览器完美显示结果的原因。我认为您在插入查询中使用了变量 $results,这就是它失败的原因,因为它包含一个数组。尝试类似的方法这:将表结构更改为

jackson.data (my_id, photos, title,date,location,post)

并将插入语句放入 foreach 循环并相应地插入值。

例子

 foreach($html->find('div.postDisplay') as $post) {
$item['date'] = $post->find('p.id.post-date', 0)->plaintext;
$item['location'] = $post->find('p.id.post-location', 0)->plaintext;
$title = $item['title'] = $post->find('h1.id.post-title', 0)->plaintext;
$item['post'] = $post->find('div.post', 0)->plaintext;
$query=mysqli_query($db_connect,"INSERT INTO jackson.data (
my_id, photos, title,date,location,post) VALUES (
'$my_id', '$photos', '$item['title'],$item['date'],.....)");
}

对于 html 格式:

做这样的事情:

 echo "<html><body>";

foreach($html->find('div.postDisplay') as $post) {
$item['date'] = $post->find('p.id.post-date', 0)->plaintext;
$item['location'] = $post->find('p.id.post-location', 0)->plaintext;
$title = $item['title'] = $post->find('h1.id.post-title', 0)->plaintext;
$item['post'] = $post->find('div.post', 0)->plaintext;
$query=mysqli_query($db_connect,"INSERT INTO jackson.data (
my_id, photos, title,date,location,post) VALUES (
'$my_id', '$photos', '$item['title'],$item['date'],.....)");

echo "<div class=\"my_post\"><h1>".$item['title']."</h1>"."<br />Published:". $item['date']."<br />".$item['location']."<br /><br />".$item['post']."</div>";
}
echo "</body></html>";

在你的 css 中你可以有这样的东西:

.my_post
{
margin:0 auto;//centers the contents
font-weight:bold;
font:fontname;
font-size:16px;
color:brown;
padding-top:15px;//Adjusts the gap between two posts;


}

关于PHP-MySQL 使用 Simple HTML Dom 库将 "Array"插入到 foreach 循环中的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24107114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com