Как я могу запустить два PHP скрипта из C#
Используя C# и MySQL, я создаю проект. Есть также базы данных из локальных и удаленных источников. Сначала записи вставляются или обновляются в локальную базу данных, а затем новые записи(вновь вставленные в локальную или измененные записи в локальной) должны быть загружены в удаленную базу данных. Вот я и сделал все это. Но каждый процесс идет отдельно. Моя проблема в том, как я могу сделать все это как один.
Видеть изображение [^]
Что я уже пробовал:
Кодирование на языке C#
Кнопка отображения
private void btnDisplay_Click(object sender, EventArgs e) { try { _dbConnection.Open(); const string selectQuery = "SELECT * FROM tbl_sales WHERE (row_inserted_on >= @dtp_last_updated) AND (last_edited_on >= @dtp_last_updated)"; using (var cmdLocal = new MySqlCommand(selectQuery, _dbConnection)) { cmdLocal.Parameters.Add("@dtp_last_updated", MySqlDbType.DateTime).Value = DateTime.Parse(dtpLastServerUpdated.Text); cmdLocal.Connection = _dbConnection; cmdLocal.CommandText = selectQuery; _dbDataAdapter = new MySqlDataAdapter(); _dbDataAdapter.SelectCommand = cmdLocal; _dbDataTable = new DataTable(); _dbDataAdapter.Fill(_dbDataTable); dataGridView1.DataSource = _dbDataTable; } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { _dbDataAdapter.Dispose(); _dbConnection.Close(); } }
Кнопка Expoert to JSon
private void btnExportToJson_Click(object sender, EventArgs e) { var jasonData = (DataTableToJson(_dbDataTable)); //MessageBox.Show(afd); System.IO.File.WriteAllText(@"C:\Users\BAALAN-PC\Desktop\path.json", jasonData); Application.Exit(); }
Кнопка загрузить на сервер
private void btnHttpRequest_Click(object sender, EventArgs e) { try { WebClient client = new WebClient(); string myFile = @"C:\Users\BAALAN-PC\Desktop\path.json"; client.Credentials = CredentialCache.DefaultCredentials; client.UploadFile(@"http://myWeb.com/myWorkDb/fileUpload.php", "POST", myFile); client.Dispose(); } catch (Exception err) { MessageBox.Show(err.Message); } }
PHP кодирование
phpExecute.php (загружает данные из JSon-файла в удаленную базу данных)
<?php try { $connect = mysqli_connect("localhost", "fiart", "", "dbsync"); $query = ''; $table_data = ''; $filename = "path.json"; $data = file_get_contents($filename); $array = json_decode($data, true); foreach($array as $row) { $query .= "INSERT INTO tbl_sales(sale_item, sale_qty, row_inserted_on, last_edited_on, id) VALUES ('".$row["sale_item"]."', '".$row["sale_qty"]."', '".$row["row_inserted_on"]."', '".$row["last_edited_on"]."', '".$row["id"]."') ON DUPLICATE KEY UPDATE sale_item='".$row["sale_item"]."', sale_qty='".$row["sale_qty"]."', row_inserted_on='".$row["row_inserted_on"]."', last_edited_on='".$row["last_edited_on"]."';"; } mysqli_multi_query($connect, $query); echo "<h1>All data appeded </h1>"; } catch(Exception $e) { echo $e->getMessage(); } ?>
fileUpload.php (используется с кнопкой загрузить на сервер)
<?php $filepath = $_FILES["file"]["tmp_name"]; move_uploaded_file($filepath,"path.json"); ?>