ugrás a tartalomhoz

jquery post Array

Laci_67 · 2016. Jan. 14. (Cs), 17.18
Sziasztok,
Olyan ügyben kérnék egy kis segítséget hogy ha jquery post al küldök egy több dimenziós tömböt egy php scripnek akkor a php scripben json_decode() kell fogadnom a post adatokat? Az itthoni gépemen minden működik e nélkül is,de a weben csak a tömb egy része megy át a szerverre.(hiba üzenet nem érkezik) Eddig sima karakterláncként küldtem az adatokat elválasztó karakterekkel struktúrálva,és a php alakitota vissza tömbé az adatokat. Azt nem tudom hogy több dimenziós tömböket is lehet e küldeni jquery ajax post-al?
Minden segítséget előre is köszönök.
 
1

Szia Laci! Tudnál valami

tisch.david · 2016. Jan. 14. (Cs), 18.20
Szia Laci!

Tudnál valami minta kódot mutatni kliens és szerver oldalról? Akkor könnyebb lenne válaszolni a kérdésedre. Jó lenne látni, hogy pontosan hogyan szeretnél adatot küldeni és pontosan hogyan próbálod feldolgozni szerver oldalon.

Üdv:

Dávid
2

var lako_arr = <?php echo

Laci_67 · 2016. Jan. 14. (Cs), 18.44

var lako_arr = <?php echo json_encode($arr_lako); ?>; // $arr_lako multi array

     $('#gomb').click(function()
     {
	 var tr_no = 0;
	 var sql_arr = new Array();
     $('#my_tab tr').each(function()
     {
	 if (tr_no > 0 && $(this).find("td").eq(9).find("#c_id").prop("checked"))
	 {
	 var ck_id = $(this).find("td").eq(0).html();
	 if(lako_arr[tr_no-1][6][0]==ck_id)
	  {  
	   sql_arr.push(lako_arr[tr_no-1]); 
	  }
	 }
	 tr_no++;
	 });
	 
	 $('#display').prepend('<div id="error" style="position:relative; height:50px; left:0px; top:0px;"><div class="preloader">Adatok feldolgozása !</div></div>'); 
	 var datas = {'name' : sql_arr };
	 $.post( 'sql_upd_lakok.php', datas, function(resp)
		{
         try {
			   var resp_arr = resp.split('¦');
		       $('div').remove('#error');
			   $('#display').prepend('<div id="error" style="position:relative; height:50px; left:0px; top:0px;"><div class="'+resp_arr[1]+'">'+resp_arr[0]+'</div></div>');   
             }
		catch(e)
			 {
               console.log(e);
               console.log(resp);
             }
        });	
		var the_height=document.getElementById('display').clientHeight;
        if(the_height > 200)
	    {
	     document.getElementById('bg_1').style.height = the_height + 260 + 'px';
	    }
	 }); 
3

if ($_POST['name']) {

Laci_67 · 2016. Jan. 14. (Cs), 18.46

if ($_POST['name'])
{ 
  $sor_no = 0;
  $un = 1;
  $error = Array();
  $upd_arr = $_POST['name'];
  $date = date('Y-m-d');
  $date_cont = date('Y-m-d h:i:s');
  $admin = $upd_arr[0][6][5];
  $varos = $upd_arr[0][6][1];
  $file = 'naplok/lakok/'.$date.'.txt';
  $txt = Array('A','B','C','D','E','F');
  for($n=0; $n<count($upd_arr); $n++)
  {
    $lakok = $upd_arr[$n];
	for($l=0; $l<6; $l++)
    {
	 $tul_data =$lakok[$l];
	 foreach($tul_data as $adat)
	 {
	  $adat=trim($adat);
	  $upd_set .=" $txt[$l]$un='$adat',";
	  $upd_data .= $adat.'|';
	  if($un == 10 && $adat == 'true')
	  {
	   $lakas_tulaj = $lakok[$l][0];  
	  }
      $un++;	  
     }
     $un = 1;	 
	}
	$lakas_berlo = $upd_arr[$n][5][0];
	$upd_set = substr_replace($upd_set,'',-1);
    $sql_lako = "UPDATE lakok SET $upd_set WHERE lako_id='".$upd_arr[$n][6][0]."'";
	$result_lako = mysql_query($sql_lako,$dbc) or ($error[]= 'A lakók adatbázisban futtatott művelet a következő hibával tért vissza ! '. mysql_error());
	$sql_lakas = "UPDATE lakasok SET tulaj='$lakas_tulaj', berlo='$lakas_berlo' WHERE lakas_id='".$upd_arr[$n][6][0]."'";
	$result_lakas = mysql_query($sql_lakas,$dbc) or ($error[]= 'A lakások adatbázisban futtatott művelet a következő hibával tért vissza ! '. mysql_error());
    $cont .= $date_cont.'|'.$admin.'|'.$varos.' '.$upd_arr[$n][6][2].' '.$upd_arr[$n][6][3].' '.$upd_arr[$n][6][4].'|'.substr_replace($upd_data,'',-1)."\n";
	$upd_data='';
	$upd_set='';
	$sor_no++;
  }
4

Szerintem az első sor

tisch.david · 2016. Jan. 16. (Szo), 13.38
Szerintem az első sor semmiképpen nem korrekt így. Amit annak a változónak értékül adsz, az egy többdimenziós tömb JSON-ná kódolt változata, vagyis egy sztring. Hogy abból JavaScript tömb legyen, ahhoz - kliens oldalon - egy visszaalakító függvény is kell, pl. $.parseJSON().
Ezzel próbálkozz!

Üdv:

Dávid