Как вставить извлеченные данные на сайт

я хочу знать, что как я могу вставить данные в таблицу базы данных, которую я извлекаю из других сайтов

Моя таблица базы данных Структура:

mysqli_query($db, "INSERT into doctors(name, spec, qualification, image) VALUES('$name', '$spec', '$qua', '$image'));

и вот мой PHP-код, который извлекает данные из внешних

<?php
require('admin/inc/simple_html_dom.php');
require('admin/inc/db.php');
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://health.hamariweb.com/rawalpindi/doctors",
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
));
$file = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
$dom = new simple_html_dom();
$dom->load($file);
$doctorDivs = $dom->find("#infinite-grid-images", 0)->children();
$doctors = array();
foreach($doctorDivs as $div){
$doctor = array();
$image = $doctor["image"] = "http://health.hamariweb.com".$div->find('img', 0)->src;
$details = $div->find('table', 1)->find("tr");
$name = $doctor["name"] = trim($details[0]->plaintext);
$spec = $doctor["Spec"] = trim($details[1]->plaintext);
$qua = $doctor["etc"] = trim($details[2]->plaintext);
$doctors[] = $doctor;
while($doctors){
mysqli_query($con, "INSERT into doctors(name, spec, qualification, image) VALUES('$name', '$spec', '$qua', '$image')");
}
}
echo "<pre>";
var_dump($doctors);?>

0

Решение

Выньте массив $ докторов [] из вашего цикла. Я немного изменил ваш сценарий, и он сработал.

require('admin/inc/simple_html_dom.php');
//require('admin/inc/db.php');
$db = new mysqli('localhost', DB_USER, DB_PASSWORD, DB_NAME);
mysqli_set_charset($db, "utf8");

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://health.hamariweb.com/rawalpindi/doctors",
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
));
$file = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
$dom = new simple_html_dom();
$dom->load($file);
$doctorDivs = $dom->find("#infinite-grid-images", 0)->children();
$doctors = array();
foreach($doctorDivs as $div){
$doctor = array();
$image = $doctor["image"] = "http://health.hamariweb.com".$div->find('img', 0)->src;
$details = $div->find('table', 1)->find("tr");
$name = $doctor["name"] = trim($details[0]->plaintext);
$spec = $doctor["Spec"] = trim($details[1]->plaintext);
$qua = $doctor["etc"] = trim($details[2]->plaintext);
$doctors[] = $doctor;

}
//insert database part.
$data = $doctors;
foreach ($data as $val) {

$sql = "INSERT IGNORE INTO doctors (id, name, spec, qualification, image) VALUES (NULL, '".$val["name"]."' , '" .$val["Spec"]. "' , '" .$val["etc"]. "' , '" .$val["image"]. "');";
mysqli_query($db,$sql);

}

mysqli_close($db);

Надеюсь, поможет.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector