Php 使用多个表单添加记录以在数据库表上创建一条记录

Php 使用多个表单添加记录以在数据库表上创建一条记录,php,jquery,mysql,forms,Php,Jquery,Mysql,Forms,我正在创建一个onlineshop,用户将在其中添加一个新记录,方法是键入标题、描述、价格、图像上载以及从下拉列表中选择,该列表包含要添加到特定类别中的产品的所有数据库表 我目前使用多个表单添加新产品,因此我想知道如何使用所有表单,在用户输入标题、说明、价格(第一个表单)、上传图片(第二个表单——使用php文件)和选择类别之后,点击提交按钮,收集上述三种表格中的所有信息 数据库的名称为“onlineshop” index.html 1st form(image uploading) &

我正在创建一个onlineshop,用户将在其中添加一个新记录,方法是键入标题、描述、价格、图像上载以及从下拉列表中选择,该列表包含要添加到特定类别中的产品的所有数据库表

我目前使用多个表单添加新产品,因此我想知道如何使用所有表单,在用户输入标题、说明、价格(第一个表单)、上传图片(第二个表单——使用php文件)和选择类别之后,点击提交按钮,收集上述三种表格中的所有信息

数据库的名称为“onlineshop”

index.html

1st form(image uploading)

    <script type="text/javascript" src="../cms/scripts/jquery.min.js"></script>
<script type="text/javascript" src="../cms/scripts/jquery.form.js"></script>

<script type="text/javascript" >
$(document).ready(function() {          
    $('#photoimg').live('change', function(){ 
        $("#preview").html('');
        $("#preview").html('<img src="loader.gif" alt="Uploading"/>');
        $("#imageform").ajaxForm({
                    target: '#preview'
        }).submit();

    });
}); 
</script>

<style>

body
{
    font-family:arial;
} 

.preview
{
    width:160px;
    border:solid 2px #dedede;
    padding:10px;
} 

#preview
{
    color:#cc0000;
    font-size:10px
}

</style>
<body bgcolor="#ffdd55">    
<font face=Arial size=3 color="#880088">
<form id="imageform" method="post" action='ajaximage.php' >
<small>Upload your image <input type="file" name="photoimg" id="photoimg" /></small>
</form>
<div id='preview'>
</div>
1表格(图像上传)
$(文档).ready(函数(){
$('#photoimg').live('change',function(){
$(“#预览”).html(“”);
$(“#预览”).html(“”);
$(“#imageform”).ajaxForm({
目标:“#预览”
}).submit();
});
}); 
身体
{
字体系列:arial;
} 
预览
{
宽度:160px;
边框:实心2px#dedede;
填充:10px;
} 
#预演
{
颜色:#cc0000;
字体大小:10px
}
上传你的图片
第二表格(文本表格)


标题:
描述:
价格:
insert.php
如果(!mysql_connect('localhost','root',''){
echo“无法连接到mysql”;
出口
}
$sql=“显示来自$dbname的表”;
$result=mysql\u查询($sql);
如果(!$result){
echo“数据库错误,无法列出表\n”;
echo'MySQL Error:'.MySQL_Error();
出口
}
$tables='';
while($row=mysql\u fetch\u row($result)){
$tables.=“$row[0]”;
}
mysql_free_result($result);
?>
connect.php

<?php
// Try to connect to MySQL
$connect = mysql_connect('localhost','root', '') or die('Sorry could not connect to database');
// Check connect and return error if failed
$use_db = mysql_select_db('onlineshop');

$create_db = "CREATE DATABASE onlineshop";
if(!$use_db) {
    echo mysql_error();
    mysql_query($create_db);
    mysql_select_db('onlineshop');
}

$con=mysqli_connect('localhost','root', '');
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

// Create database
$sql="CREATE DATABASE onlineshop";
if (mysqli_query($con,$sql))
  {
  echo "Database my_db created successfully";
  }
else
  {
  echo "Error creating database: " . mysqli_error($con);
  }

//main table
$sql = 'CREATE TABLE mens( '.
       'id INT NOT NULL AUTO_INCREMENT, '.
       'title VARCHAR(20) NOT NULL, '.
       'description  VARCHAR(45) NOT NULL, '.
       'price   FLOAT NOT NULL, '.
       'image varchar(200),'.
       'image_small varchar(200),'.
       'primary key ( id ))';

//copy attributes of the main table
$sql2= 'CREATE TABLE women AS ( SELECT * FROM mens where 1=2)';
$sql3= 'CREATE TABLE kids AS ( SELECT * FROM mens where 1=2)';
$sql4= 'CREATE TABLE infants AS ( SELECT * FROM mens where 1=2)';
$sql5= 'CREATE TABLE baby_books AS ( SELECT * FROM mens where 1=2)';
$sql6= 'CREATE TABLE garden AS ( SELECT * FROM mens where 1=2)';
$sql7= 'CREATE TABLE comics AS ( SELECT * FROM mens where 1=2)';
$sql8= 'CREATE TABLE cooking AS ( SELECT * FROM mens where 1=2)';
$sql9= 'CREATE TABLE desktop AS ( SELECT * FROM mens where 1=2)';
$sql10= 'CREATE TABLE laptop AS ( SELECT * FROM mens where 1=2)';
$sql11= 'CREATE TABLE mobile AS ( SELECT * FROM mens where 1=2)';
$sql12= 'CREATE TABLE misc AS ( SELECT * FROM mens where 1=2)';
$sql13= 'CREATE TABLE moviestv AS ( SELECT * FROM mens where 1=2)';
$sql14= 'CREATE TABLE music AS ( SELECT * FROM mens where 1=2)';
$sql15= 'CREATE TABLE games AS ( SELECT * FROM mens where 1=2)';



$retval = mysql_query( $sql, $connect );
$retval2 = mysql_query($sql2, $connect);
$retval3 = mysql_query($sql3, $connect);
$retval4 = mysql_query($sql4, $connect);
$retval5 = mysql_query($sql5, $connect);
$retval6 = mysql_query($sql6, $connect);
$retval7 = mysql_query($sql7, $connect);
$retval8 = mysql_query($sql8, $connect);
$retval9 = mysql_query($sql9, $connect);
$retval10 = mysql_query($sql10, $connect);
$retval11 = mysql_query($sql11, $connect);
$retval12 = mysql_query($sql12, $connect);
$retval13 = mysql_query($sql13, $connect);
$retval14 = mysql_query($sql14, $connect);
$retval15 = mysql_query($sql15, $connect);

//this checks only for table1, check for all of them
if(! $retval)
{
  die('Could not create table: ' . mysql_error());
}
echo "Tables created successfully\n";
?>


我在所有这些方面都是新手,所以任何建议都将被欣然接受。请详细解释我该怎么做。

@Allende我可以看到您编辑了我的源代码,但请添加一条关于如何编辑我的代码以修复的新注释。很抱歉,我是StackOverflow的新手,如果您足够友好,请帮助我@cmario该版本旨在提高可读性,使用4个空格标识,不打算修复它:如果你还没有读过,请注意:这可能会鼓励其他人阅读你的代码并回答。回到你的问题,你会看到这样的问题:如果你想一次提交所有信息,为什么不只使用一个表单?(至少您希望同时保留函数和/或使用AJAX)。如果您提供创建表的sql,也会对其他人有所帮助。我现在更新了问题,以显示用于创建表的sql语句(connect.php)。您能告诉我如何使用AJAX来完成我在上述问题中提出的任务吗?@cmario,您可以始终使用$\u SESSION全局变量来保存页面中的数据。
<?php
 $dbname = 'onlineshop';
?>
    if (!mysql_connect('localhost', 'root', '')) {
        echo 'Could not connect to mysql';
        exit;
    }

    $sql = "SHOW TABLES FROM $dbname";
    $result = mysql_query($sql);

    if (!$result) {
        echo "DB Error, could not list tables\n";
        echo 'MySQL Error: ' . mysql_error();
        exit;
    }

    $tables = '';

    while ($row = mysql_fetch_row($result)) {

        $tables .="<option value='$row[0]'>$row[0]</option>"; 

    }

    mysql_free_result($result);
?>
<?php
// Try to connect to MySQL
$connect = mysql_connect('localhost','root', '') or die('Sorry could not connect to database');
// Check connect and return error if failed
$use_db = mysql_select_db('onlineshop');

$create_db = "CREATE DATABASE onlineshop";
if(!$use_db) {
    echo mysql_error();
    mysql_query($create_db);
    mysql_select_db('onlineshop');
}

$con=mysqli_connect('localhost','root', '');
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

// Create database
$sql="CREATE DATABASE onlineshop";
if (mysqli_query($con,$sql))
  {
  echo "Database my_db created successfully";
  }
else
  {
  echo "Error creating database: " . mysqli_error($con);
  }

//main table
$sql = 'CREATE TABLE mens( '.
       'id INT NOT NULL AUTO_INCREMENT, '.
       'title VARCHAR(20) NOT NULL, '.
       'description  VARCHAR(45) NOT NULL, '.
       'price   FLOAT NOT NULL, '.
       'image varchar(200),'.
       'image_small varchar(200),'.
       'primary key ( id ))';

//copy attributes of the main table
$sql2= 'CREATE TABLE women AS ( SELECT * FROM mens where 1=2)';
$sql3= 'CREATE TABLE kids AS ( SELECT * FROM mens where 1=2)';
$sql4= 'CREATE TABLE infants AS ( SELECT * FROM mens where 1=2)';
$sql5= 'CREATE TABLE baby_books AS ( SELECT * FROM mens where 1=2)';
$sql6= 'CREATE TABLE garden AS ( SELECT * FROM mens where 1=2)';
$sql7= 'CREATE TABLE comics AS ( SELECT * FROM mens where 1=2)';
$sql8= 'CREATE TABLE cooking AS ( SELECT * FROM mens where 1=2)';
$sql9= 'CREATE TABLE desktop AS ( SELECT * FROM mens where 1=2)';
$sql10= 'CREATE TABLE laptop AS ( SELECT * FROM mens where 1=2)';
$sql11= 'CREATE TABLE mobile AS ( SELECT * FROM mens where 1=2)';
$sql12= 'CREATE TABLE misc AS ( SELECT * FROM mens where 1=2)';
$sql13= 'CREATE TABLE moviestv AS ( SELECT * FROM mens where 1=2)';
$sql14= 'CREATE TABLE music AS ( SELECT * FROM mens where 1=2)';
$sql15= 'CREATE TABLE games AS ( SELECT * FROM mens where 1=2)';



$retval = mysql_query( $sql, $connect );
$retval2 = mysql_query($sql2, $connect);
$retval3 = mysql_query($sql3, $connect);
$retval4 = mysql_query($sql4, $connect);
$retval5 = mysql_query($sql5, $connect);
$retval6 = mysql_query($sql6, $connect);
$retval7 = mysql_query($sql7, $connect);
$retval8 = mysql_query($sql8, $connect);
$retval9 = mysql_query($sql9, $connect);
$retval10 = mysql_query($sql10, $connect);
$retval11 = mysql_query($sql11, $connect);
$retval12 = mysql_query($sql12, $connect);
$retval13 = mysql_query($sql13, $connect);
$retval14 = mysql_query($sql14, $connect);
$retval15 = mysql_query($sql15, $connect);

//this checks only for table1, check for all of them
if(! $retval)
{
  die('Could not create table: ' . mysql_error());
}
echo "Tables created successfully\n";
?>