Не записывается массив

Nesquik

Новичок
Не записывается массив для передачи джейсоном

Код:
       $(document).ready(function() {
         $('#more_tickets').data('counter', 0).click(function(e) {
           e.preventDefault();
           
           var counter = $(this).data('counter');
           $(this).data('counter', counter + <?php echo $limit; ?>);

           var inProgress = false;
           var startTicket = 0 + $(this).data('counter');
           var act = '<?php echo $_GET['act']; ?>';
           var limit = '<?php echo $limit; ?>';
           var driverlogin = '<?php echo $_SESSION['driverlogin']; ?>';
           
           $.ajax({
             url: 'ob.php',
             method: 'post',
             data: {
               'startTicket': startTicket,
               'act': act,
               'limit': limit,
               'driverlogin': driverlogin
             },         
             beforeSend: function() {
               inProgress = true;
             }          
             }).done(function(data){

               data = jQuery.parseJSON(data);

               if (data.length > 0) {

                 $.each(data, function(index, data){     
                   $('.tickets').append(data);
                 });

                 inProgress = false;           
                 
               }
             });
         });   
       });
Код:
   if (!empty($_POST['driverlogin'])) {
   
     $ticket_data = array();
   
     $startTicket = substr(htmlspecialchars(trim($_POST['startTicket'])), 0, 1000);
     $act = substr(htmlspecialchars(trim($_POST['act'])), 0, 1000);
     $limit = substr(htmlspecialchars(trim($_POST['limit'])), 0, 1000);   
     $driverlogin = substr(htmlspecialchars(trim($_POST['driverlogin'])), 0, 1000);
     
     $data_type1 = '';
     $data_type2 = '';
     
     if(!empty($_GET['sort'])) {
       $sorting = $_GET['sort'];
       if($sorting == 'prize') {
         $order = 'prize';
         $data_type1 = 'ABS(';
         $data_type2 = ')';
         $sorting_val = 'Цене';
       }
       if($sorting == 'hum') {
         $order = 'hum';
         $sorting_val = 'Цене';
       }
       if($sorting == 'phone') {
         $order = 'phone';;
         $sorting_val = 'Телефону';
       }
       if($sorting == 'from') {
         $order = 'from';
         $sorting_val = 'Месту отправления';
       }
       if($sorting == 'to') {
         $order = 'to';
         $sorting_val = 'Месту назначения';
       }
       if($sorting == 'last') {
         $order = 'm_id';
         $sorting_val = 'Последней заявке';
       }
     }
     else {
       $order = 'm_id';
       $sorting_val = 'Последней заявке';
     }
     
     if(!empty($_GET['direction'])) {
       $direction = $_GET['direction'];
       if($direction == 'asc') {
         $d = 'ASC';
         $direction_val = 'В порядке возрастания';
       }
       if($direction == 'desc') {
         $d = 'DESC';
         $direction_val = 'В порядке убывания';
       }
     }
     else {
       $d = 'DESC';
       $direction_val = 'В порядке убывания';
     }
     
     if($act == 'home') {
       $all_tickets = mysql_query("SELECT * FROM all_tickets a WHERE (a.m_city = '$m_city') AND NOT EXISTS (SELECT * FROM banned_tickets bn WHERE a.m_phone = bn.bn_phone AND bn.bn_login = '$driverlogin') AND NOT EXISTS (SELECT * FROM accepted_tickets at WHERE a.m_m_id = at.ac_m_id AND at.ac_login = '$driverlogin') AND NOT EXISTS (SELECT * FROM archived_tickets ar WHERE a.m_m_id = ar.ar_m_id AND ar.ar_login = '$driverlogin') ORDER BY $data_type1 m_$order $data_type2 $d LIMIT $startTicket, $limit") or die(mysql_error());
     }
     
     if($act == 'accepted') {
       
       $accepted_tickets_order_ac_m_id = mysql_query("SELECT * FROM accepted_tickets ac WHERE ac.ac_login = '$driverlogin' AND NOT EXISTS (SELECT * FROM approved_tickets ap WHERE ac.ac_m_id = ap.ap_m_id AND ap.ap_login = '$driverlogin') ORDER BY $data_type1 ac_$order $data_type2 $d LIMIT $startTicket, $limit") or die(mysql_error());
       
       while($ticket = mysql_fetch_array($accepted_tickets_order_ac_m_id)) {   

         if ($ticket['ac_date'] == date('d.m.y')) {
           $ticket_date = 'Сегодня';
         }
         else if ($ticket['ac_date'] == date('d.m.y', strtotime(date('d.m.y'))-86400)) {
           $ticket_date = 'Вчера';
         }
         else {
           $ticket_date = $ticket['ac_date'];
         }
         $ticket_data[] = '             
           <div class="ticket">
             <div class="ticket_lft">
               <p><a target="_blank" href="http://maps.yandex.ru/?text='.$ticket['ac_from'].'"><strong>Откуда:</strong> '.$ticket['ac_from'].'</a></p>
               <p><a target="_blank" href="http://maps.yandex.ru/?text='.$ticket['ac_to'].'"><strong>Куда:</strong> '.$ticket['ac_to'].'</a></p>
               <p><strong>Телефон:</strong> '.$ticket['ac_phone'].'</p>
             </div>
             <div class="ticket_rt">
               <!--a title="Переместить в корзину" class="to_archive" href="">X</a-->
               <p>'.$ticket_date.', '.$ticket['ac_time'].'</p>
               <p>'.$ticket['ac_prize'].'</p>
               <p>'. $ticket['ac_hum'] . pluralForm($ticket['ac_hum'], ' человек', ' человека', ' человек').'</p>
             </div>
             <div class="clear"></div>
             <div class="buttons">
               <h3>Вы в списке кандидатов на эту поездку!</h3>
                           
               <input type="hidden" name="ac_login" value="'.$driverlogin.'">
               <input type="hidden" name="ac_m_id" value="'.$ticket['ac_m_id'].'">
               <input type="hidden" name="ac_from" value="'.$ticket['ac_from'].'">
               <input type="hidden" name="ac_to" value="'.$ticket['ac_to'].'">
               <input type="hidden" name="ac_hum" value="'.$ticket['ac_hum'].'">
               <input type="hidden" name="ac_prize" value="'.$ticket['ac_prize'].'">
               <input type="hidden" name="ac_phone" value="'.$ticket['ac_phone'].'">
               <input type="hidden" name="ac_date" value="'.$ticket['ac_date'].'">
               <input type="hidden" name="ac_time" value="'.$ticket['ac_time'].'">
             </div>
           </div>
         ';   
       }
       
     }
     
     if($act == 'approved') {
       $approved_tickets_order_ar_m_id = mysql_query("SELECT * FROM approved_tickets WHERE ap_login = '$driverlogin' ORDER BY $data_type1 ap_$order $data_type2 $d LIMIT $startTicket, $limit") or die(mysql_error());
     }
     
     if($act == 'banned') {
       $banned_tickets_order_bn_id = mysql_query("SELECT * FROM banned_tickets WHERE bn_login = '$driverlogin' ORDER BY bn_id DESC LIMIT $startTicket, $limit") or die(mysql_error());
     }
     
     if($act == 'trash') {
       $archived_tickets_order_ar_m_id = mysql_query("SELECT * FROM archived_tickets WHERE ar_login = '$driverlogin' ORDER BY $data_type1 ar_$order $data_type2 $d LIMIT $startTicket, $limit") or die(mysql_error());
     }
     
     echo json_encode($ticket_data);
   }
 

Nesquik

Новичок
method: 'post';
type: 'POST',

+
data = jQuery.parseJSON(data);
dataType: 'json',
Да без разницы. Возвращает только если без html-а.

$200 (похоже тут тоже постят заказы :D)
Ну зачем обижаете :)

$('.tickets').append('<div class="ticket">' + data.ac_from + '</div>');
и
$ticket_data[] = $ticket;

Тогда возвращает. У кого есть некоммерческие идеи как сделать нормально тоже самое?
 

riff

Новичок
Смотри, ты навалил кучу говнокода и задал вопрос понятный лишь тебе одному. Как думаешь найдётся желающий погрузиться в это?

Я, проходя мимо, понял твой вопрос так: "не передаются post данные аяксом", и заметил ошибку в коде.
Да без разницы.
Как же ты вообще пишешь, если, по идее, у тебя вообще не поступают Post-данные?
Впрочем, это не вопрос, это удивление, т.к. погружаться я тоже желания не имею.

Вот тебе палочка http://phpfaq.ru/debug , греби.
 

Nesquik

Новичок
Спасибо за комплимент коду! Джейсон не приходит, пост уходит.
 
Сверху