[英]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.