Update Resouce DataBase

正在处理 - $res_type - $from"; PDO_Connect("" . _FILE_DB_PALITEXT_); $query = "select * from pali_text_album where 1"; $Fetch = PDO_FetchAll($query); $iFetch = count($Fetch); echo "找到album记录 $iFetch
"; if ($iFetch > 0 && $from < $iFetch) { $i = $from; { $album_id = $Fetch[$i]["id"]; $guid = $Fetch[$i]["guid"]; $title = $Fetch[$i]["title"]; $file = _FILE_DB_PALITEXT_; $cover = $Fetch[$i]["cover"]; $language = $Fetch[$i]["language"]; $author = $Fetch[$i]["author"]; $target = $Fetch[$i]["target"]; $summary = $Fetch[$i]["summary"]; $publish_time = $Fetch[$i]["publish_time"]; $update_time = $Fetch[$i]["update_time"]; $edition = $Fetch[$i]["edition"]; $edition1 = $Fetch[$i]["edition_text"]; $type = $Fetch[$i]["type"]; PDO_Connect("" . _FILE_DB_PALITEXT_); $query = "select * from pali_text where album_index='$album_id' "; $title_data = PDO_FetchAll($query); echo "Paragraph Count:" . count($title_data) . "
"; $query = "select count(*) from pali_text where album_index='$album_id'"; $paragraph_count = PDO_FetchOne($query); // 开始一个事务,关闭自动提交 $PDO->beginTransaction(); $query = "UPDATE pali_text SET chapter_len = ? , next_chapter = ?, prev_chapter=? , parent= ? WHERE book=? and paragraph=?"; $stmt = $PDO->prepare($query); $paragraph_info = array(); array_push($paragraph_info, array($from, -1, $paragraph_count, -1, -1, -1)); for ($iPar = 0; $iPar < count($title_data); $iPar++) { $book = $from + 1; $paragraph = $title_data[$iPar]["paragraph"]; if ($title_data[$iPar]["level"] == 8) { $title_data[$iPar]["level"] = 100; } $curr_level = $title_data[$iPar]["level"]; $length = -1; for ($iPar1 = $iPar + 1; $iPar1 < count($title_data); $iPar1++) { if ($title_data[$iPar1]["level"] <= $curr_level) { $length = $title_data[$iPar1]["paragraph"] - $paragraph; break; } } if ($length == -1) { $length = $paragraph_count - $paragraph + 1; } $prev = -1; if ($iPar > 0) { for ($iPar1 = $iPar - 1; $iPar1 >= 0; $iPar1--) { if ($title_data[$iPar1]["level"] == $curr_level) { $prev = $title_data[$iPar1]["paragraph"]; break; } } } $next = -1; if ($iPar < count($title_data) - 1) { for ($iPar1 = $iPar + 1; $iPar1 < count($title_data); $iPar1++) { if ($title_data[$iPar1]["level"] == $curr_level) { $next = $title_data[$iPar1]["paragraph"]; break; } } } $parent = -1; if ($iPar > 0) { for ($iPar1 = $iPar - 1; $iPar1 >= 0; $iPar1--) { if ($title_data[$iPar1]["level"] < $curr_level) { $parent = $title_data[$iPar1]["paragraph"]; break; } } } $newData = array($length, $next, $prev, $parent, $book, $paragraph); $stmt->execute($newData); if ($curr_level > 0 && $curr_level < 8) { array_push($paragraph_info, array($book, $paragraph, $length, $prev, $next, $parent)); } //echo "$book$paragraph$curr_level$length$prev$next$parent"; } // 提交更改 $PDO->commit(); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = PDO_ErrorInfo(); echo "error - $error[2]
"; $log = $log . "$from, $FileName, error, $error[2] \r\n"; } else { $count = count($title_data); echo "updata $count paragraph info recorders.
"; echo count($paragraph_info) . " Heading
"; } /* */ $db_file = _FILE_DB_RESRES_INDEX_; PDO_Connect("$db_file"); $query = "select * from album where guid = '$guid'"; $search_album = PDO_FetchAll($query); if (count($search_album) == 0) { $query = "INSERT INTO album (id, guid, title, file, cover, language, author, target, summary, publish_time, update_time, edition, edition1, type) VALUES (NULL, '$guid', '" . $title . "', '$file', '', '0', 'VRI', '', '', '1', '" . time() . "', '1', 'CSCD4', '1')"; $stmt = @PDO_Execute($query); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = PDO_ErrorInfo(); print_r($error[2]); break; } //获取刚刚插入的索引号 $album_index = $PDO->lastInsertId(); } else { $album_index = $search_album[0]["id"]; $query = "UPDATE album SET title = '$title' , file = '$file' , cover = '$cover' , language = '$language' , author = '$author' , target = '$target' , summary = '$summary' , publish_time = '$publish_time' , update_time = '$update_time' , edition = '$edition' , edition1 = '$edition1' , type = '$type' WHERE guid='$guid' "; $stmt = @PDO_Execute($query); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = PDO_ErrorInfo(); print_r($error[2]); break; } } echo "开始更新索引 ", count($title_data), "
"; //开始更新索引 foreach ($title_data as $oneTitle) { if ($oneTitle["level"] > 0 && $oneTitle["level"] < 8) { $query = "SELECT * FROM \""._TABLE_RES_INDEX_."\" where album = '$album_index' and book='" . $oneTitle["book"] . "' and paragraph='" . $oneTitle["paragraph"] . "'"; $search_title = PDO_FetchAll($query); $title_en = pali2english($oneTitle["text"]); //找到已有的记录 更新 if (count($search_title) != 0) { $query = "UPDATE \""._TABLE_RES_INDEX_."\" SET title = '" . $oneTitle["text"] . "' , title_en = '" . $title_en . "' , language = '1' , type = '$type', editor = '1' , share = '1' , update_time = '" . time() . "' WHERE id='" . $search_title[0]["id"] . "' "; $stmt = @PDO_Execute($query); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = PDO_ErrorInfo(); print_r($error[2]); break; } } else { /*未找到 插入*/ $book = $oneTitle["book"]; if (substr($book, 0, 1) == "b") { $book = substr($book, 1); } $query = "INSERT INTO \""._TABLE_RES_INDEX_."\" (id, book, paragraph, title, title_en, level, type, language, author, editor, share, edition, album, update_time) VALUES (NULL, '" . $book . "', '" . $oneTitle["paragraph"] . "', '" . $oneTitle["text"] . "', '" . $title_en . "', '" . $oneTitle["level"] . "', '1', '1', '5', '1', '1', '1', '$album_index', '" . time() . "')"; $stmt = @PDO_Execute($query); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = PDO_ErrorInfo(); print_r($error[2]); break; } } } } foreach ($paragraph_info as $onePar) { $query = "select * from 'paragraph_info' where book='" . $onePar[0] . "' and paragraph='" . $onePar[1] . "'"; $search_par = PDO_FetchAll($query); //找到已有的记录 更新 if (count($search_par) != 0) { $query = "UPDATE 'paragraph_info' SET length = '" . $onePar[2] . "' , prev = '" . $onePar[3] . "' , next = '" . $onePar[4] . "' , parent = '" . $onePar[5] . "' WHERE id='" . $search_par[0]["id"] . "' "; $stmt = @PDO_Execute($query); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = PDO_ErrorInfo(); print_r($error[2]); break; } } else { //未找到 插入 $query = "INSERT INTO 'paragraph_info' (id, book, paragraph, length, prev, next, parent) VALUES (NULL, '" . $onePar[0] . "', '" . $onePar[1] . "', '" . $onePar[2] . "', '" . $onePar[3] . "', '" . $onePar[4] . "', '" . $onePar[5] . "')"; $stmt = @PDO_Execute($query); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = PDO_ErrorInfo(); print_r($error[2]); break; } } } } } echo "insert ok
"; if ($from >= $to) { echo "

齐活!功德无量!all done!

"; } else { echo ""; echo "正在载入:" . ($from + 1); } break; case "heading": break; case "album": PDO_Connect(_FILE_DB_RESRES_INDEX_); $query = "select * from album where 1"; $search_album = PDO_FetchAll($query); foreach ($search_album as $oneAlbum) { $query = "SELECT id FROM \""._TABLE_RES_INDEX_."\" where album = '{$oneAlbum["id"]}' and book='{$oneAlbum["book"]}' and paragraph='-1'"; $id = PDO_FetchAll($query); //找到已有的记录 更新 $title_en = pali2english($oneAlbum["title"]); if (count($id) > 0) { $query = "UPDATE \""._TABLE_RES_INDEX_."\" SET title = '{$oneAlbum["title"]}' , title_en = '{$title_en}' , language = '{$oneAlbum["language"]}' , type = '{$oneAlbum["type"]}', editor = '1' , share = '1' , update_time = '" . time() . "' WHERE id='{$id[0]["id"]}' "; $stmt = @PDO_Execute($query); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = PDO_ErrorInfo(); print_r($error[2]); break; } else { echo "Updae记录成功。{$oneAlbum["title"]}
"; } } else { /*未找到 插入*/ $book = $oneAlbum["book"]; $query = "INSERT INTO \""._TABLE_RES_INDEX_."\" (id, book, paragraph, title, title_en, level, type, language, author, editor, share, edition, album, update_time) VALUES (NULL, '" . $book . "', '-1', '{$oneAlbum["title"]}', '{$title_en}', '-1', '{$oneAlbum["type"]}', '{$oneAlbum["language"]}', '{$oneAlbum["author"]}', '1', '1', '{$oneAlbum["edition"]}', '{$oneAlbum["id"]}', '" . time() . "')"; $stmt = @PDO_Execute($query); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = PDO_ErrorInfo(); print_r($error[2]); break; } else { echo "新建记录成功。{$oneAlbum["title"]}
"; } } } break; case "translation": break; case "note": break; } ?>