簡體   English   中英

將數據添加到表形式的sql中並存儲回新數據庫

[英]Adding data to table form sql and storing back to new database

我也很難解釋這一點,但我仍然會盡力解釋。

因為我是php和mysql的新手,所以我不了解如何完成此操作。

請看一下圖片,並以我的觀點為指導。

看到這張圖片,我希望它能解釋我的需要

簡而言之,我需要的是:如何進行數據庫連接和更新等!

如果您是使用php和mysql的初學者,則這里提供了基礎步驟。


MSQLI

首先:為數據庫用戶,通過,主機,數據庫名稱設置配置

$conn = new mysqli('database_server','database_username','database_password','database_name');

第二:創建查詢(您可以在此處插入,選擇,更新,刪除查詢)。

$result= $conn->query("SELECT * FROM users");

最后:使用類似MySQL的功能顯示記錄

while($row = $result->fetch_assoc()){
    echo $row['dabatase_columnname'];
    echo $row['database_columnname'];
}
//For connection setup
$con=mysql_connect("localhost","root","");//For localhost
//DB choosing
mysql_select_db("sampldb",$con);
//For inserting
mysql_query("insert into table1 (name,rollno) values ('$name','$rollno')");
mysql_query("insert into table2 (name,rollno) values ('$name','$rollno')");

Dont update,insert the values in both the table at the time of inserting.So it is easy for you.

首先,您需要使用以下查詢從第一個表中選擇數據:

<?php
//connect to the database server
$objConnect = mysql_connect("localhost","root","Dropje123") or  die(mysql_error()); 
//select the database 
$objDB = mysql_select_db("NAW"); 
//select which data you want to get.
$sql           = "SELECT * FROM tb1";
$objQuery      = mysql_query($sql);
$objResult     = mysql_fetch_array($objQuery);  
?>

然后,您需要使用html創建一個表,如下所示:

<form id="form" action="insert.php" method="post">
<table width="700" border="1">  
<tr>  
<th width="20"> <div align="center">Roll_no </div></th>  
<th width="98"> <div align="center">Name </div></th> 
<th width="98"> <div align="center">Class </div></th>
<th width="98"> <div align="center">Marks </div></th>
<th width="98"> <div align="center">Subject1 </div></th> 
<th width="98"> <div align="center">Sub2 </div></th> 
<th width="98"> <div align="center">Sub3 </div></th> 
<th width="98"> <div align="center">Adress </div></th> 
<th width="98"> <div align="center">Phone </div></th> 
</th>  
</tr>  
<tr>  
<td><input type="hidden" name="Roll_No" value="<?=$objResult["Roll_No"];?>"></td>  
<td><div  align="center"><?=$objResult["Roll_No"];?></div></td>  
<td><input type="text" name="Name" value="<?=$objResult["Name"];?>"></td> 
<td><input type="text" name="Class" size="20"></td> 
<td><input type="text" name="Marks" size="20"></td> 
<td><input type="text" name="Subject1" size="20"></td>  
<td><input type="text" name="Sub2" size="20"></td>  
<td><input type="text" name="Sub3" size="20"></td>  
<td><input type="text" name="Adress" size="20"></td>  
<td><input type="text" name="Phone" size="20"></td>  
</tr> 
<button type="submit" id="send">Verzenden</button>
</form>

這會將插入的數據發送到insert.php。 insert.php看起來像這樣:

<html>  
<head>  
<title>Insert</title> 
</head>  
<body>      
<?php
mysql_connect('localhost','root','root');
mysql_select_db('yourdb') or die (mysql_error());

$Roll_No           =    $_POST['Roll_No'];
$Name              =    $_POST['Name'];
$Class             =    $_POST['Class'];
$Marks             =    $_POST['Marks'];
$Subject1         =    $_POST['Subject1'];
$Sub2              =    $_POST['Sub2'];
$Sub3              =    $_POST['Sub3'];
$Adress           =    $_POST['Adress'];
$Phone             =    $_POST['Phone'];

$sql = mysql_query("INSERT INTO db2 (Roll_No, Name, Class, Marks, Subject1, Sub2, Sub3, Adress, Phone) VALUES ('".$Roll_No."', '".$Name."', '".$Class."', '".$Marks."','".$Subject1."', '".$Sub2."', '".$Sub3."', '".$Adress."', '".$Phone."')") or die (mysql_error());

if ($sql === false) {

die (mysql_error());

}

else {

echo 'The data is inserted in the database!.<br><br>
}
?>
</body>  
</html> 

您只需要稍微修改一下此代碼即可滿足您的需求。 希望這對您有所幫助,並祝您好運!

編輯:要顯示數據庫中的所有行,可以使用如下所示的for循環:

<?php 
$i = 0;  
while($objResult = mysql_fetch_array($objQuery))  
{  
$i++;  
?>  
<tr>  
<td><input type="text" name="Roll_No" value="<?=$objResult["Roll_No"];?>"></td>  
<td><input type="text" name="Name" value="<?=$objResult["Name"];?>"></td> 
<td><input type="text" name="Class" size="20"></td> 
<td><input type="text" name="Marks" size="20"></td> 
<td><input type="text" name="Subject1" size="20"></td>  
<td><input type="text" name="Sub2" size="20"></td>  
<td><input type="text" name="Sub3" size="20"></td>  
<td><input type="text" name="Adress" size="20"></td>  
<td><input type="text" name="Phone" size="20"></td>  
</tr> 
<?php  
}  
?> 

注意:如果使用此for循環,則必須從sql部分刪除以下行,否則它將不顯示數據庫的第一行:

$objResult     = mysql_fetch_array($objQuery);

注意2:這只會顯示數據庫中的所有行,但是如果您提交此行,則只會在第二個數據庫中插入1行。 您將需要在insert.php中獲得某種循環,但是我不確定這是如何工作的。

有關SQL部分的一些說明,您可以看一下本教程!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM