iT邦幫忙

0

[ PHP]使用表格傳資料給python並執行後,無法顯示表格

  • 分享至 

  • xImage

我想
1.使用表單讓使用者輸入值
https://ithelp.ithome.com.tw/upload/images/20220527/2014544144FsTWwPs2.jpg
2.按下"查詢"會呼叫python執行並且代入剛才使用者輸入的值($value)
3.最後把python所print的東西在網頁上用表格展示(後來改成從資料庫取得資料,資料庫的資料是從被呼叫的py匯入的)

1~2都有成功,3不僅值沒跑出來連表格也沒出現,2的python程式碼都有成功執行
以下是我的php寫法:

<?php
		echo '<form action="" method="post">';   
			echo '<input type="text" name="value" placeholder="請輸入值">';
			echo '<input type="submit" value="查詢">';
		echo '</form>';
	
		

	
		if (isset($_POST['value'])) {
			
			echo '<br>';
			
			$value = $_POST['value'];
			
			
			// 定義資料庫資訊
			$DB_NAME = "mydb"; // 資料庫名稱
			$DB_USER = "root"; // 資料庫管理帳號
			$DB_PASS = "********"; // 資料庫管理密碼
			$DB_HOST = "localhost"; // 資料庫位址





			// 連接 MySQL 資料庫伺服器
			$con = mysqli_connect($DB_HOST, $DB_USER, $DB_PASS);
			if (empty($con)) {
				print mysqli_error($con);
				die("資料庫連接失敗!");
				exit;
			}

			// 選取資料庫
			if (!mysqli_select_db($con, $DB_NAME)) {
				die("選取資料庫失敗!");
			} else {
				/*echo "連接 " . $DB_NAME . " 資料庫成功!<br>";*/
			}

			// 設定連線編碼
			mysqli_query($con, "SET NAMES 'utf8mb3'");

			$sql="SELECT * from information WHERE `search_id`='" . $value . "'";
			$result = mysqli_query($con, $sql);

			$nums = mysqli_num_rows($result);   //查詢資料筆數

			echo '<table border="1">';
				echo '<tr>';
					echo '<th>欄位 1</th>';
					echo '<th>欄位 2</th>';
					echo '<th>欄位 3</th>';
					echo '<th>欄位 4</th>';
				echo '</tr>';
				echo '<tr>';


				#--------------------資料庫無資料----------------------
					if ($nums == 0) {    
						$output = exec("D:/ProgramData/Anaconda3/python D:/xampp/htdocs/website_test/car_information.py {$value}", $out, $ret);

						#echo json_encode($out);
						
						
						

						$result = mysqli_query($con, $sql);

					}



				#------------------資料庫有資料---------------------
					while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {



						echo '<td>' . $row[0] . '</td>';
						echo '<td>' . $row[1] . '</td>';
						echo '<td>' . $row[2] . '</td>';
						echo '<td>' . $row[3] . '</td>';
					

					}


				echo '</tr>';
			echo '</table>';
	
		}
	?>

請問各位高手我是不是有漏了什麼才導致執行python後表格出不來?(感覺像是頁面沒有轉跳)
如果還需要其他資料會再補,先謝謝各位了!!


更新 : 根據多方嘗試發現原因是因為py檔的webdriver(在指定網站載圖片)導致,把爬蟲的部分刪掉表格就會顯示但是var_dump($output)的值是亂碼,$out是空,$ret為0
請問各位高手,要如何才能解決此問題?謝謝!!

3的前端應用在哪沒看到。你要不要先確定一下 $output 是否有值
2024 iT邦新手 5 級 ‧ 2022-05-27 17:21:48 檢舉
謝謝㊣浩瀚星空㊣大大回覆,2的py檔會把需要的結果匯入資料庫的資料表中,我後來就把3改成從資料庫取資料,但是只要有exec() 網頁的任何結果都不會顯示出來,所以也看不到echo json_encode($output)的值,請問大大還有什麼方法可以得知 $output 是否有值? 謝謝!!

另外,如果py檔本身有指定初始值是能成功執行的,結果也正確
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答