Как вставить PHP-массив в базу данных MYSQL?
Привет Гарбел Брют,
Я нашел вашу статью "Простой способ преобразования данных HTML-таблицы в массив PHP", и получилось, что она прекрасно создала массив с помощью проекта, над которым я работал. Я пытаюсь ввести этот массив в свою базу данных mysql. К сожалению, без особого успеха. Мне нужен счетчик, так как html-файл может иметь больше или меньше столбцов и строк, и мне было трудно понять, как это сделать. Любой вклад, который вы могли бы мне дать, был бы очень признателен. Я приложу то, что я написал в коде до сих пор, чтобы у вас было представление о том, где я нахожусь.
Спасибо!
Что я уже пробовал:
<?php $servername = "localhost"; $username = "user"; $password = "pass"; $database = "ticker"; // Create connection $conn = new mysqli($servername, $username, $password, $database); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "Connected successfully"; $table = file_get_contents("watchlist.html"); $dom = new DOMDocument; @$dom->loadHTML($table); $tds = $dom->getElementsByTagName("td"); $tags = $dom->getElementsByTagName("th"); $symbol = $tags->item(0)->nodeValue; $vwap = $tags->item(1)->nodeValue; $last = $tags->item(2)->nodeValue; $trend = $tags->item(3)->nodeValue; $bid = $tags->item(4)->nodeValue; $ask = $tags->item(5)->nodeValue; $volume = $tags->item(6)->nodeValue; $markchg = $tags->item(7)->nodeValue; $markpcnt = $tags->item(8)->nodeValue; $shares = $tags->item(9)->nodeValue; $marketcap = $tags->item(10)->nodeValue; $ttmsqz = $tags->item(11)->nodeValue; foreach($tags as $NodeHeader) { $aDataTableHeaderHTML[] = trim($NodeHeader->textContent); } //print_r($aDataTableHeaderHTML); die(); $i = 0; $j = 0; foreach($tds as $sNodeDetail) { $aDataTableDetailHTML[$j][] = trim($sNodeDetail->textContent); $i = $i + 1; $j = $i % count($aDataTableHeaderHTML) == 0 ? $j + 1 : $j; } print_r($aDataTableDetailHTML); die(); //this is where your sql goes $query = "INSERT INTO riser (symbol, vwap, last, bid, ask, volume, markchg, markpct, shares, marketcap, ttmsqz) VALUES ('$aDataTableDetailHTML[0][0]', '$aDataTableDetailHTML[0][1]', '$aDataTableDetailHTML[0][2]', '$aDataTableDetailHTML[0][3]', '$aDataTableDetailHTML[0][4]', '$aDataTableDetailHTML[0][5]', '$aDataTableDetailHTML[0][6]', '$aDataTableDetailHTML[0][7]', '$aDataTableDetailHTML[0][8]', '$aDataTableDetailHTML[0][9]', '$aDataTableDetailHTML[0][10]', '$aDataTableDetailHTML[0][11]')"; mysql_query($query); $conn->close(); ?>