2012-02-16 2 views
1

기본적으로이 솔루션을 사용하고 있지만 다른 방법으로 더 잘 수행 할 수 있는지 궁금합니다.MYSQL/PHP 테이블에서 여러 값을 jQuery로 전달

MYSQL의 값을 사용하여 PHP로 작성한 테이블이 있습니다. 표의 각 항목에는 여러 값이 있습니다. 각 줄에는 단일 링크가 있으며이 링크를 클릭하면 jQuery 함수가 실행됩니다. 각 링크에서 여러 MYSQL 필드에서 값 VALUE 속성이 존재하고 & &과 결합 : 링크 'clickin하는 경우 해고 할

foreach ($this->_data as $l) 
    { 
     ?> 
     ... 
     <td><a href="#" class="clickMe" value="<?php echo $l->data1 . '&&' . $l->data2; ?>">Link</a></td> 
     ... 
     <?php 
    } 

그리고 jQuery를 기능 :

PHP 코드가

$(".clickMe").click(function() { 
    myData = $(this).attr('value').split('&&'); 
}); 

스크립트 & &에 VALUE 속성에 스트링을 분할하고 값 MYDATA 배열을 작성

MYDATA [0] => $ 리터에서 전달 된 값 -> _ PHP에서 DATA1은

MYDATA [1] => $ 리터에서 전달 된 값 -> _

PHP에서 DATA2는이 할 수있는 길이 맞는 ?

+0

.. : 당신은 같은 하나의 정규 표현식을 사용할 수

그런 다음 PHP 측에서, 그것은 그것을 분할하기 전에 하나 개의 값의 형식을 검증하기 위해 조금 쉽게 http://stackoverflow.com/questions/9311655/selecting-multiple-users-and-sending-them-an-invite/9312054#9312054 매우 유사합니다. – gorelative

답변

1

데이터에 & &을 가지지 않는 한 괜찮습니다. PHP에서는 json_encode()을 사용하고이를 JavaScript의 배열로 디코딩 할 수 있습니다. 그것은보다 표준적인 해결책이 될 것입니다.

+0

JSON을 사용해야한다고 생각한 이유는 내 더러운 솔루션이 받아 들여 지는지 궁금한 것이 었습니다. –

+0

수용 가능하거나 양호합니까? :피 – deed02392

0

부울 AND처럼 보이는 &&을 사용하는 것이 좋습니다. 대신 나는 그들과 같은 파이프를 사용하여 val1|val2을 구분할 것입니다.

나는 전체 결합 된 문자열을 PHP로 전달하고 거기에서 분리하는 것이 더 낫다고 생각한다. 두 결과 값을 적절한 게시물에 넣거나 PHP로 보낼 변수를 가져야하는 양 끝에 작업 할 필요가 없습니다. 이 질문에 대한 내 대답을 참조하십시오

// Validate both values at once: 1 or more digits, a pipe, and one or more digits 
if (preg_match('/^(\d+)\|(\d+)$/', $_POST['jqueryinput'])) { 
    // explode() and use in PHP... 
    list($val1, $val2) = explode("|", $_POST['jqueryinput']); 
} 
관련 문제