Javascript 将数据插入两个表中,结果为;“数组到字符串的转换”;

Javascript 将数据插入两个表中,结果为;“数组到字符串的转换”;,javascript,php,html,mysql,Javascript,Php,Html,Mysql,我正在尝试为我的系统创建一个表单,用户可以添加输入字段的数量,输入字段主要是下拉框,选项来自数据库中的表。表单将把数据插入两个不同的数据库。但它显示了“数组到字符串转换”的错误,此时数据只插入到第一个表中。这是我到目前为止所做的 我的表格代码: <form method="post" name="maklumat_akaun" action="proses_daftar_akaun.php"> <label for="NoAkaun

我正在尝试为我的系统创建一个表单,用户可以添加输入字段的数量,输入字段主要是下拉框,选项来自数据库中的表。表单将把数据插入两个不同的数据库。但它显示了“数组到字符串转换”的错误,此时数据只插入到第一个表中。这是我到目前为止所做的

我的表格代码:

<form method="post" name="maklumat_akaun" action="proses_daftar_akaun.php">



                    <label for="NoAkaun">No. Akaun</label> 
                    <input type="text" id="NoAkaun" name="NoAkaun" class="required input_field" required/> 
                    <div class="cleaner_h10"></div> 




                    <label for="KodDaerah">Daerah</label>
                    <?php
                    include('dbase.php');$sql   = "SELECT KodDaerah, NamaDaerah FROM koddaerah";
                    $result = mysql_query($sql);
                    echo "<select name='KodDaerah' id='KodDaerah' class='input_field' required /><option></option>";
                    while($kod = mysql_fetch_array($result)){
                    echo "<option value=".$kod['KodDaerah'].">" .$kod['NamaDaerah']."</OPTION>";
                    }
                    echo "</select>";
                    ?>  
                    <div class="cleaner_h10"></div> 



                    <label for="KodBahagian">Bahagian</label>
                    <?php
                    $sql    = "SELECT KodBahagian, NamaBahagian FROM kodbahagian";
                    $result = mysql_query($sql);
                    echo "<select name='KodBahagian' id='KodBahagian' class='input_field' required /><option></option>";
                    while($kod = mysql_fetch_array($result)){
                    echo "<option value=".$kod['KodBahagian'].">" .$kod['NamaBahagian']."</OPTION>";
                    }
                    echo "</select>";
                    ?>  
                    <div class="cleaner_h10"></div>


                    <label for="KodKategori">Kategori Akaun</label>                        
                    <?php
                    $sql    = "SELECT KodKategori, NamaKategori , SubKategori FROM kodkategori";
                    $result = mysql_query($sql);
                    echo "<select name='KodKategori' id='KodKategori' class='input_field' required /><option></option>";
                    while($kod = mysql_fetch_array($result)){
                    echo "<option value=".$kod['KodKategori'].">" .$kod['NamaKategori']." (".$kod['SubKategori'].")</OPTION>";
                    }
                    echo "</select>";
                    ?>                  
                    <div class="cleaner_h10"></div>








                    <label for="Tarif">Tarif</label>
                    <input type="text" maxlength="4" size="4" id="Tarif" name="Tarif" class="required year_field"  onkeyup="this.value=this.value.replace(/[^0-9.]/g,'')">
                    <div class="cleaner_h10"></div>







<!-----------------------------------------------------------//-->  
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script>
$(document).ready(function() {
    var max_fields      = 25; //maximum input boxes allowed
    var wrapper         = $(".input_fields_wrap"); //Fields wrapper
    var add_button      = $(".add_field_button"); //Add button ID

    var x = 1; //initial text box count
    $(add_button).click(function(e){ //on add input button click
        e.preventDefault();
        if(x < max_fields){ //max input box allowed
            x++; //text box increment
            $(wrapper).append('<div>'+
                                '<td> <?php
                                $sql  = "SELECT KodLokasi, NamaLokasi FROM kodlokasi";
                                $result = mysql_query($sql);
                                echo "<select name=\'KodLokasi[]\' id=\'KodLokasi[]\' class=\'input_field\' required ><option></option>";
                                while($kod = mysql_fetch_array($result)){
                                echo "<option value=".$kod['KodLokasi'].">" .$kod['NamaLokasi']. "</OPTION>";
                                }
                                echo "</select>";
                                ?> </td> </tr>'+

                                '<tr> <td> <?php
                                $sql  = "SELECT KodJenisAkaun, NamaJenisAkaun FROM kodjenisakaun";
                                $result = mysql_query($sql);
                                echo "<select name=\'KodJenisAkaun[]\' id=\'KodJenisAkaun[]\' class=\'input_field\' required ><option></option>";
                                while($kod = mysql_fetch_array($result)){
                                echo "<option value=".$kod['KodJenisAkaun'].">" .$kod['NamaJenisAkaun']. "</OPTION>";
                                }
                                echo "</select>";
                                ?> </td>'+


                                '<td> <input type="text" name="NoTelefon[]" id="NoTelefon[]" value="0" class="required input_field"> </td>' +

                                '<a href="#" class="remove_field">Batal</a></tr></div>'); //add input box
        }
    });

    $(wrapper).on("click",".remove_field", function(e){ //user click on remove text
        e.preventDefault(); $(this).parent('div').remove(); x--;
    });
});

</script>


                        <fieldset>

                        <div class="input_fields_wrap">
                        <h3 class="add_field_button"><a href="">Add More Fields</a></h3>  


        <table>
        <tr>
            <td> <label for="KodLokasi">Lokasi</label> </td> <td> <label for="KodJenisAkaun">Jenis Akaun</label> </td> <td> <label>No.Telefon:</label> </td>

        </tr>

        <tr>

            <td>    <?php 
                    $sql    = "SELECT KodLokasi, NamaLokasi FROM kodlokasi";
                    $result = mysql_query($sql);
                    echo "<select name='KodLokasi[]' id='KodLokasi' class='input_field' required /><option></option>";
                    while($kod = mysql_fetch_array($result)){
                    echo "<option value=".$kod['KodLokasi'].">" .$kod['NamaLokasi']."</OPTION>";
                    }
                    echo "</select>";
                    ?>
            </td>


            <td>    <?php
                    $sql    = "SELECT KodJenisAkaun, NamaJenisAkaun FROM kodjenisakaun";
                    $result = mysql_query($sql);
                    echo "<select name='KodJenisAkaun[]' id='KodJenisAkaun' class='input_field' required /><option></option>";
                    while($kod = mysql_fetch_array($result)){
                    echo "<option value=".$kod['KodJenisAkaun'].">" .$kod['NamaJenisAkaun']."</OPTION>";
                    }
                    echo "</select>";
                    ?>
            </td>       

            <td> <input type="text" name="no_telefon[]" value="0" class="required input_field" onkeyup="this.value=this.value.replace(/[^0-9.]/g,'')"> </td>                    

        </tr>

        </table>


                        </div>




                        </fieldset>
<!-----------------------------------------------------------//-->                          

                        <div class="cleaner_h10"></div>
                        <div class="cleaner_h10"></div>             


                        <input type="submit" value="Daftar" id="submit" name="register-submit" class="submit_btn" /> 
                        <input type="reset" value="Batal" id="reset" name="reset" class="submit_btn" /> 


                    </table>
                    </form>

不,阿肯
达拉
巴哈教徒
明川胜雄
塔里夫
$(文档).ready(函数(){
var max_fields=25;//允许的最大输入框数
var wrapper=$(“.input_fields_wrapp”);//字段包装器
var add_button=$(“.add_字段_button”);//添加按钮ID
var x=1;//初始文本框计数
$(添加按钮)。单击(函数(e){//在添加输入按钮上单击
e、 预防默认值();
如果(x
这是我插入过程的代码

<?php
require("dbase.php"); 

if ($_POST) {

    $NoAkaun            = isset($_POST['NoAkaun'])          ? $_POST['NoAkaun'] : '';
    $KodBahagian        = isset($_POST['KodBahagian'])      ? $_POST['KodBahagian'] : '';
    $Tarif              = ISSET($_POST['Tarif'])            ? $_POST['Tarif'] : '';
    $KodDaerah          = isset($_POST['KodDaerah'])        ? $_POST['KodDaerah'] : '';
    $KodKategori        = isset($_POST['KodKategori'])      ? $_POST['KodKategori'] : '';
    $NoTelefon          = isset($_POST['NoTelefon'])        ? $_POST['NoTelefon'] : '';
    $KodLokasi          = isset($_POST['KodLokasi'])        ? $_POST['KodLokasi'] : '';
    $KodJenisAkaun      = isset($_POST['KodJenisAkaun'])    ? $_POST['KodJenisAkaun'] : '';
    $akaun_idAkaun      = isset($_POST['akaun_idAkaun'])    ? $_POST['akaun_idAkaun'] : '';




    $sql = mysql_query("INSERT INTO maklumatakaun VALUES ('', '$NoAkaun'  , '$KodBahagian' , '$KodDaerah' , '$KodKategori' ,  '$Tarif' )");
    $akaun_idAkaun = mysql_insert_id();
    foreach ($NoTelefon AS $i => $telefon) {
    $sql = mysql_query("INSERT INTO detailakaun VALUES   ('',  '$KodLokasi[$i]', '$KodJenisAkaun' , '$telefon' , '$akaun_idAkaun' )");
}



    echo "<script type='text/javascript'> alert('AKAUN BERJAYA DIDAFTARKAN')</script> ";
    echo "<script type='text/javascript'>window.location='pilih_kategori_daftar.php'</script>";
}


?>
错误“数组到字符串的转换”意味着您在代码的某个地方将数组用作字符串。该错误消息后面通常是文件名和行号,这有助于缩小搜索范围。查看变量中包含的内容的一个有用方法是使用以下命令:

echo '<pre>'; print_r($stuff); die();
echo';印刷品;模具();

如果错误发生在while循环内的一行上,则应将echo“”放在while和die()之前;之后,您可以在循环中看到问题的所有实例。

我在这条语句中找到了您的问题


$KodJenisAkaun
是一个数组,您可以将它用作字符串“$sql=mysql_查询(“插入到detailakaun值('''$KodLokasi[$i]','$KodJenisAkaun','$telefon','$akaun_idAkaun')”)”;不,它不在while循环中,但如果($\u POST)我已将其更改为$KodJenisAkaun[$i]来帮助,没有更多的错误“数组字符串转换”,但只有第一个SQL工作。数据只插入第一个表hi@itsfawaz,我认为您应该检查
$NoTelefon
中的元素数量先生,您所说的元素数量是什么意思?我不知道该修复什么@itsfawaz,您说数据只插入到第一个表中,所以我认为
$NoTelefon
有零元素,第二个SQL无法执行。您可以使用
echo count($NoTelefon)
显示
$NoTelefon
的元素数。如果
$NoTelefon
有一个或多个元素,我认为您应该检查SQL错误
foreach($NoTelefon AS$I=>$telefon){$SQL=mysql\u查询(“插入到detailakaun值中(''''$KodLokasi[$I]','$KodJenisAkaun','$telefon','$akaun\idAkaun'))”);echo mysql\u error()
,如我上面的评论所示,您可以检查SQL语句,使用
mysql\u error()
显示mysql错误
$sql = mysql_query("INSERT INTO detailakaun VALUES   ('',  '$KodLokasi[$i]', '$KodJenisAkaun' , '$telefon' , '$akaun_idAkaun' )");