2015-01-02 2 views
0

시스템에 대한 양식을 만들려고합니다. 사용자가 입력 필드의 수를 추가 할 수 있습니다. 입력 필드는 대부분 드롭 다운 상자에서 오는 옵션으로 이루어집니다. 데이터베이스의 테이블. 양식은 두 개의 다른 데이터베이스에 데이터를 삽입합니다. 그러나 그것은 "Array to string conversion"오류를 보여줍니다. 지금은 첫 번째 테이블에만 삽입 된 데이터입니다. 여기에 지금까지두 테이블에 데이터를 삽입하여 "배열을 문자열로 변환"

내 폼의 코드를 할 것입니다 내용은 다음과 같습니다

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

을이 삽입 프로세스 내 코드된다.

<?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>"; 
} 


?> 

아무도 내가 이것을 알아낼 수 있습니까?

답변

0

"배열을 문자열로 변환"오류는 배열을 코드 어딘가에있는 문자열로 사용한다는 것을 의미합니다. 그 오류 메시지는 대개 파일 이름과 줄 번호로 이어지며 검색 범위를 좁히는 데 도움이됩니다.

echo '<pre>'; print_r($stuff); die(); 

오류가 당신이하는 동안 다이 전에 에코 '를'넣어해야 while 루프의 내부 선에서 발생하는 경우 : 변수에 포함되어 무엇을 볼 수있는 한 도움이되는 방법은 다음을 사용하는 것입니다(); 그러면 루프 내에서 문제의 모든 인스턴스를 볼 수 있습니다. '(

+0

로 사용 "$ KodLokasi [$ i]", "$ KodJenisAkaun", "$ telefon", "$ akaun_idAkaun") ")"); " – itsfawwaz

+0

아니요, while 루프 안에 있지 않지만 if ($ _POST) – itsfawwaz

0

나는이 문장

$sql = mysql_query("INSERT INTO detailakaun VALUES ('', '$KodLokasi[$i]', '$KodJenisAkaun' , '$telefon' , '$akaun_idAkaun')"); 

$KodJenisAkaun에 문제를 발견 배열이며, 당신은이 선 선생님 "$의 SQL =는 mysql_query ("detailakaun 값으로 INSERT했다 문자열

+0

나는 그것을 돕기 위해 $ KodJenisAkaun [$ i]로 변경했으며, 더 이상 "Array String Conversion"오류는 없지만 첫 번째 SQL 작업 만합니다. 데이터가 첫 번째 테이블에만 삽입됩니다. – itsfawwaz

+0

안녕하세요 @itsfawwaz, 당신은'$ NoTelefon'의 요소 수를 확인해야한다고 생각합니다 –

+0

요소 수를 의미합니까? 나는 무엇을 고쳐야할지 모르겠다. – itsfawwaz