`
jackchen0227
  • 浏览: 147304 次
  • 性别: Icon_minigender_1
  • 来自: 帝都
社区版块
存档分类
最新评论

[zz]利用PHP在mysql中同时插入多个表格(主、辅表)

    博客分类:
  • php
阅读更多
view plaincopy to clipboardprint?

   1. /*************************by garcon1986*********************************************************/  
   2. <?php  
   3. // get the values from entreprise creation form  
   4. $secteur = $_POST['secteur'];  
   5. $nom = $_POST['nom_entreprise'];  
   6. $taille = $_POST['taille_entreprise'];  
   7. $concurrent = $_POST['concurrent_entreprise'];  
   8. $investisseur = $_POST['investisseur_entreprise'];  
   9. $partenaire = $_POST['partenaire_entreprise'];  
  10. $client = $_POST['client_entreprise'];  
  11. $fournisseur = $_POST['fournisseur_entreprise'];  
  12. $info_general = $_POST['information_generale'];  
  13. //connection  
  14. //include("./conn/connect.php");  
  15. $conn = mysql_connect("localhost","charles","charles") or die("connection failed: ".mysql_error());  
  16. mysql_select_db("crm") or die("select db failed: ".mysql_error());  
  17. //execution - using trasaction  
  18. mysql_query('START TRANSACTION',$conn) or die(mysql_error());  
  19. mysql_query("insert into entreprise(nom, nombre_salarie, secteur, info_general) values('".$nom."','".$taille."','".$secteur."','".$info_general."')",$conn) or die(mysql_error());  
  20. $id = mysql_insert_id($conn) or die(mysql_error());  
  21. mysql_query("insert into concurrent(entreprise_id, nom) values('".$id."', '".$concurrent."')",$conn) or die(mysql_error());  
  22. mysql_query("insert into investisseur(entreprise_id, nom) values('".$id."', '".$investisseur."')",$conn) or die(mysql_error());  
  23. mysql_query("insert into partenaire(entreprise_id, nom) values('".$id."', '".$partenaire."')",$conn) or die(mysql_error());  
  24. mysql_query("insert into client(entreprise_id, nom) values('".$id."', '".$client."')",$conn) or die(mysql_error());  
  25. mysql_query("insert into fournisseur(entreprise_id, nom) values('".$id."', '".$fournisseur."')",$conn) or die(mysql_error());  
  26. mysql_query('COMMIT')or die(mysql_error());  
  27. //display the information  
  28. echo '<h3>LES INFORMATION DE L\'ENTREPRISE</h3>';  
  29. echo '<table style="width:80%; margin: auto 0">';  
  30. echo '<th style="width:40%"></th><th stype="width:60%"></th>';  
  31. echo '<tr class="line_even" >';  
  32. echo '<td>Entreprise :</td>';  
  33. echo '<td>'.$nom.'</td>';  
  34. echo '</tr>';  
  35. echo '<tr class="line_odd">';  
  36. echo '<td>Son secteur : </td>';  
  37. echo '<td>'.$secteur.'</td>';  
  38. echo '</tr>';  
  39. echo '<tr class="line_even">';  
  40. echo '<td>Son taille : </td>';  
  41. echo '<td>'.$taille.'</td>';  
  42. echo '</tr>';  
  43. echo '<tr class="line_odd">';  
  44. echo '<td>Son concurrent : </td>';  
  45. echo '<td>'.$concurrent.'</td>';  
  46. echo '</tr>';  
  47. echo '<tr class="line_even">';  
  48. echo '<td>Son concurrent : </td>';  
  49. echo '<td>'.$investisseur.'</td>';  
  50. echo '</tr>';  
  51. echo '<tr class="line_odd">';  
  52. echo '<td>Son partenaire : </td>';  
  53. echo '<td>'.$partenaire.'</td>';  
  54. echo '</tr>';  
  55. echo '<tr class="line_even">';  
  56. echo '<td>Son fournisseur : </td>';  
  57. echo '<td>'.$fournisseur.'</td>';  
  58. echo '</tr>';  
  59. echo '<tr class="line_odd">';  
  60. echo '<td>Son client : </td>';  
  61. echo '<td>'.$client.'</td>';  
  62. echo '</tr>';  
  63. echo '<tr class="line_even">';  
  64. echo '<td>Son information generale : </td>';  
  65. echo '<td>'.$info_general.'</td>';  
  66. echo '</tr>';  
  67. echo '</table>';  
  68. ?>  

 利用mysql_insert_id()函数可以返回上一步insert操作所返回的ID,这个时候可以用来执行先插入主表,再插入子表

   1. <?php  
   2. //mysql code  
   3. /* 
   4. create table table1(id int(10) not null auto_increment, name varchar(20), primary key(id)); 
   5. create table table2(id int(10) not null auto_increment, t1id int(10), name varchar(20), primary key(id)); 
   6. create table table3(id int(10) not null auto_increment, t1id int(10), name varchar(20), primary key(id)); 
   7. alter table table2 add foreign key (t1id) references table1(id) on delete cascade; 
   8. alter table table3 add foreign key (t1id) references table1(id) on delete cascade; 
   9. insert into table1(name) values('t1_name'); 
  10. insert into table2(t1id, name) values(last_insert_id(), 't2_name'); 
  11. insert into table3(t1id, name) values(last_insert_id(), 't3_name'); 
  12. */  
  13. //php实现  
  14. error_reporting(E_ALL ^ E_NOTICE);  
  15. $conn = mysql_connect("localhost","charles","charles");  
  16. mysql_select_db('test');  
  17. $link = 0;  
  18. mysql_query('START TRANSACTION',$link);  
  19. mysql_query("insert into table1(name) values('t1_name')",$link);  
  20. $id = mysql_insert_id($link);  
  21. mysql_query("insert into table2(t1id, name) values($id, 't2_name')",$link);  
  22. mysql_query("insert into table3(t1id, name) values($id, 't3_name')",$link);  
  23. mysql_query('COMMIT');  
  24.   
  25. //mysql 实现   
  26. set @temp=0;  
  27. insert into table1(name) values('t1_name');  
  28. select mysql_insert_id() into @temp;  
  29. insert into table2(t1id, name) values(@temp, 't2_name');  
  30. insert into table3(t1id, name) values(@temp, 't3_name');  
  31. ?>  

 

分享到:
评论

相关推荐

    mysql 多表联接查询练习

    在实际的数据库操作中,我们经常需要从多个表中获取数据,这时就需要用到多表联接查询。本篇文章将通过具体的练习案例来深入讲解MySQL中的多表联接查询技巧,特别是内联接(INNER JOIN)与外联接(OUTER JOIN)的...

    base zz zz zz zz

    base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz

    MySQL/PHP数据库应用开发指南(PDG)

    此外,还要熟悉JOIN操作,用于合并来自多个表的数据,以及索引和视图的概念,以优化查询性能和简化数据访问。 接下来,要掌握PHP与MySQL的交互。PHP通过mysqli或PDO扩展与MySQL进行通信。使用mysqli,可以编写连接...

    基于PHP的zZ笨笨php留言板程序源码.zip

    【描述】"基于PHP的zZ笨笨php留言板程序源码.zip" 描述中提到的“zZ笨笨”可能是一个项目名或开发者的昵称,暗示这个留言板程序是他们创作的。.zip文件表明源代码被压缩打包,方便用户下载和解压。通常,这样的源码...

    Apache+Php+Mysql在Windows下配置

    Apache、PHP和MySQL是互联网开发中的重要组成部分,它们在Windows操作系统上的配置对于许多开发者来说是一项基础任务。Apache作为流行的Web服务器,PHP是一种广泛使用的服务器端脚本语言,而MySQL则是功能强大的关系...

    基于PHP的zZ笨笨 php留言板程序.zip

    总之,"zZ笨笨 php留言板程序"是一个基础的PHP实践项目,适合初学者了解Web开发流程,同时也为更高级的开发者提供了自定义和扩展的基础。通过实际操作,你可以深入理解PHP与数据库的交互,以及Web应用程序的生命周期...

    PHP实例开发源码-zZ笨笨 php留言板程序.zip

    在这个实例中,我们将会深入解析“zZ笨笨 PHP留言板程序”的实现原理和核心功能,以帮助初学者更好地理解和掌握PHP的实际应用。 首先,我们来了解一下PHP的基本概念。PHP(Hypertext Preprocessor)是一种开源的、...

    统计多个文本长度

    在IT领域,文本处理是一项基础且重要的任务,特别是在大数据分析、自然语言处理和信息检索等应用中。"统计多个文本长度"是一个典型的文本处理问题,它涉及到读取文件、处理文本内容以及进行数据统计和分类。这个任务...

    word 插入EndNote参考文献 规范 (geebinf modified by zz.ens)

    word 插入EndNote参考文献 规范 (geebinf modified by zz.ens)

    Centos7安装mysql5.7yum list installed - grep mysql

    总的来说,安装MySQL 5.7.11在CentOS7上需要考虑多个步骤,包括卸载旧版本、安装新版本、设置初始密码、启动服务以及安全配置。按照上述步骤操作,可以顺利完成MySQL的安装和配置,为你的CentOS7系统提供一个稳定...

    ZZ超级画板教程.pdf

    14. 生成表格和统计表的功能:ZZ 超级画板可以生成表格和统计表,自动填表和绘制统计图表。 15. 右键菜单功能:ZZ 超级画板的右键菜单中包含了最常用的功能,易学易用,方便快捷。 此外,ZZ 超级画板还提供了许多...

    2022年最新PHP技术笔试题.doc

    1. PHP 表单处理:当在表单里面两个文本框分别输入“php”和“great”时,PHP 将在页面中打印出什么?答案:A. Nothing 知识点:PHP 表单处理, PHP 在处理表单时,会将表单中的数据存储在 `$_GET` 或 `$_POST` ...

    基于PHP的整站程序Wap Portal Server v1.21 (PHP+MYSQL的WAP整站)毕业设计实现

    【标题】"基于PHP的整站程序Wap Portal Server v1.21 (PHP+MYSQL的WAP整站)毕业设计实现"所涉及的主要知识点包括PHP编程语言、MySQL数据库管理和WAP(无线应用协议)技术在网站开发中的应用。这个项目是针对毕业生...

    Mysql解压缩版配置向导

    - 在`mysql`数据库中,修改`user`表中的`Host`字段,将对应用户的`Host`设置为`%`,允许从任何主机连接。 - 配置完成后,刷新权限并重启MySQL服务。 参考链接: - [2CTO数据库频道文章]...

    MySQL5.6版本 Linux安装包

    在这个“MySQL5.6版本 Linux安装包”中,我们可以期待一系列为了在Linux环境下顺利安装和运行MySQL 5.6所需的文件。 首先,让我们详细了解安装过程: 1. **下载安装包**:在Linux系统中,你需要先下载MySQL 5.6的...

    Java图形界面学生签到考勤系统MySQL数据库.zip

    Java图形界面学生签到考勤系统是一个利用MySQL数据库进行数据存储的软件应用,它专为在校学生设计,旨在简化考勤流程,提升签到效率。系统通过集成指纹识别技术,确保了签到的准确性和安全性,同时实现了师生对学生...

    整站程序,基于PHP+MySQL开发的数字中国全站系统 v1.3.1-dbchinav131,内含完整源代码,数据库脚本

    1. 更换了自己写的一个小型的、二级分类的论坛,还没有做完,论坛还没有后台程序,现在用phpmyadmin 操作论坛,相关代码作了更改,论坛和网站已经融为一体,1.0倒1.1的升级:上传全部的php文件,把bbs的两个表添加到...

    服务器:在树莓派上安装MySQL数据库和简单使用方法 过程详细

    在树莓派上安装MySQL数据库是一项实用的技能,尤其对于那些想要在小型设备上搭建个人服务器或进行数据存储的用户。以下将详细讲解这个过程,包括安装、配置、使用MySQL的基本步骤。 首先,确保你的树莓派运行的是...

    JAVA基于Swing和MySql的考试系统

    在这个系统中,数据库可能包含了如"students"(存储学生信息)、"exams"(存储考试信息)、"questions"(存储试题)和"results"(存储考试成绩)等表。`db`目录可能包含了数据库连接、查询、插入、更新和删除等操作...

    ZZ_MODIFIED_GEEBINF.ENS.zip

    标题中的"ZZ_MODIFIED_GEEBINF.ENS.zip"是一个压缩包文件,暗示其内容可能包含对EndNote引用样式的一种修改。EndNote是一款流行的参考文献管理软件,它允许用户存储、组织和格式化引用文献。"ZZ_MODIFIED_GEEBINF....

Global site tag (gtag.js) - Google Analytics