繁体   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