Scriptcase 9: Advanced Grid and Form Applications

안녕하세요, Scriptcase의 전문가 과정의 세 번째 클래스에 오신 것을 환영합니다 나의 이름은 카를로스, 나는이 강좌의 강사이고 오늘은 시스템 관리자를 지원할 몇 가지 응용 프로그램 먼저, 모든 약속 세부 사항 및 다른 보고서가 포함 된 전체 보고서 하나를 작성합니다

관리자가 약속을 만들 수 있습니다 그가 서비스의 기간 및 총 가격을 계산합니다 자동으로 약속 좋아요, 그럼 여기에 접근 해 봅시다 약속 프로젝트에 액세스하십시오

그래서, 우리가 가고있는 첫 번째 응용 프로그램입니다 오늘 만드는 것은 그리드 어플리케이션입니다 이제 새 응용 프로그램 만들기> 그리드로 이동하십시오 이 응용 프로그램은 약속 테이블을 사용할 것입니다 과 그것은 "grid_appointments_adm"이라고 불릴 것입니다

그것을 창조합시다 하지만, 이미 리포지토리에 대한 액세스 권한이있는 경우 여기에 저장소가 있습니다 grids> grid_appointments_adm을 참조하십시오

여기에 SQL이 있습니다 그 선택 사항, 알았지? 사실, 당신은 그것을 배치 할 필요가 없습니다 필터는 약속이 상태가 우리의 "대기 확인", 알았지? 그러나 이 경우는 현재 날짜가됩니다 이것은 mySQL 함수입니다 내가 가지고있는 데이터베이스가 조금 오래 되었기 때문에, 여기 날짜 중 어느 것도 현재 날짜보다 큽니다

그래서, 실제로 이것은 약속을 나열하지 않으므로이 where 절을 사용하지 않을 것입니다 그럼, 여기서 다시 가자 당신이 볼 수 있도록 응용 프로그램을 실행하겠습니다 이 응용 프로그램에 표시되는 내용 우리는 약속의 ID, 직원 ID, 고객 ID, 가격, 추가 요금 및 할인

그곳에 표시되는 다른 필드이기도합니다 여기에는 다른 분야가 있습니다 : 총 가격, 약속 시작 날짜, 시작 시간, 종료 날짜, 종료 시간, 현재 상태 반복, 기간 및 등급 좋아요, 그래서, 나는 표시되는 필드를 수정하려고합니다 이 신청서 사실 몇 개의 필드를 제거하려고합니다

여기로 가자 필드 위치 지정 처음에 모든 것을 제거하도록하겠습니다 하나씩 선택하면이 필드에이 응용 프로그램에 표시되기를 원합니다 시작 날짜와 시작 시간, 직원 ID, 고객 ID, 총 가격 및 현재 상태 ID

이것을 저장합시다 내가 가자 전지 직원 ID, 고객 ID 및 현재에 대한 조회 설정을 조정하겠습니다 상태 ID

직원 ID는 자동으로 조회하도록하겠습니다 방법 여기에 선택을 만들어 보겠습니다 그것은 스태프 테이블을 사용 중이면 키 필드는 스태프 ID가되고 필드 직원 이름이 표시됩니다 알겠습니까? 그걸 확인합시다

여기에 가자 고객 ID, 이것을 저장하십시오 주의 사항 : 다음을 포함하는 필드에 차이가 있습니다 조회 방법이 활성화되었습니다 이 삼각형 부분은 오른쪽에서 볼 수 있습니다

측면, 필드 아이콘의 하위 부분 그래서, 그것은 차별화 된 것입니다 lookup 메소드를 가지고있는 필드 다시 말하지만, 여기 고객 ID는 자동 검색을 할 것입니다 고객을 기반으로 "Select select" 테이블, 실제로 이러한 필드를 사용합니다

주요 필드 : 고객 ID; 표시 할 필드 : 고객 이름 저장하십시오 여기서 "current_status_ID"로 가자 검색하려면 여기로 이동하십시오 방법 : 자동

"appointment_status"테이블을 사용하여 select를 만들고 "appointment_status_ID"를 키 필드로 사용하고 그 필드는 "appointment_status_description"이 표시됩니다 저장하십시오 애플리케이션을 실행하고 결과를 봅시다 좋아요, 그래서 지금 작업하면서 관련 데이터를 표시하기 시작했습니다 관리자,이 데이터를 실제로 볼 필요가 있습니다

하지만 몇 가지 사항이 있습니다 이 그리드 애플리케이션을 훨씬 더 효율적으로 만들고 필터링하거나 주문할 수 있습니다 사실, 기록 내가 그리드 어플리케이션 그룹별로 지원합니까? "group by"에서 이름이 말했듯이, 그룹 기반의 레코드를 그룹화합니다 네가 바라는 분야 야

여기 Scriptcase로 돌아 가자 여기로 이동 fields 폴더와 여기에 "group by"로 가자 다음과 같이 정적 그룹을 만듭니다 괜찮아? 이것은 Scriptcase 9 버전의 새로운 기능입니다 기본적으로 그룹으로 필드를 끌어서 놓기 만하면됩니다

이 경우, 주의를 기울이십시오 : 더 이상 합계가 없다는 것을 유의하십시오 응용 프로그램의 다른 부분 모든 것이 여기에서 직접 제어됩니다 그룹 그래서, 기본적으로 내가 할 일은 "customer_status_ID"를 필드별로 내 그룹으로 드래그합니다

그럴거야 y 축, 알 겠어? 나는 둘 이상 가질 수있다 그룹별로 여기에 필드가 있습니다 그리드 합계의 경우, 나는 총 가격을 끌거야, 알았지? 요약, 나는 아직 끌지 않을거야, 나중에 직접 요약에서 직접 설정할 수도 있지만 방해 나는 여기에 "상태"라는 이름을 설정했다 좋아, 그럼 그걸 저장하고 실행하자

응용 프로그램, 그래서 너희들은 정확히 내가 뭘했는지 알 수 있었다 그래서, 그것은 그룹화 처음에는 많은 레코드를 보여 드리겠습니다 그리고 결국 우리는 실제로 각 레코드에 대해 합계를 봅니다 나는 모른다

왜 여기에 "2"를 표시하고 다른 하나는 보여 주는지 여기 보자 나는 또한 설정할 수 있습니다 그룹 별 필드의 조회 설정 이것은 사실 내게도 새로운 것입니다

실제로 Scriptcase 9를 많이 사용하지 않았습니다 그래요 당신 여기에서도 조회 상태 조회를 설정할 수 있습니다 그것이 조금 시작된 이유입니다 처음에는 직접 보이지 않는 이상한데, 왜냐하면 스크립트 81에서 조회 설정을 직접 입력란의 필드 설정에서 직접 입력하십시오

전체 그리드, 그것은 모든 모듈에 대한 해당 조회 설정을 입력거야,하지만, Scriptcase의 개발자들이 각 모듈을 만들었습니다 그리드의 독립적 인, 그래서 모든 것은 실제로 상속하지 않습니다 그리드에서 직접 설정하여 필드를 만들 수 있습니다 귀하의 필요에 따라 더욱 맞춤화되었습니다 그럼, 지금 실행하면 아마 갈거야 기다리고있는 확인을 보여주기 위해 여기에 하나를 설정하고 두 사람을 위해 일정을 잡으라

기대 다시 해 볼까요? 이상한 잘, 사실, 개발 팀과 함께 여기에 문제가있을 수 있습니다 조회 설정을 포함하도록 설정된 경우 필드 및 설정에 따라 그룹에서 여전히 ID를 표시합니다 기록하고 정확하게 프로그래밍 된대로 설명을 작성하지 않은 경우 이걸 버그라고 생각해, 알았지? 나는 정말로 사과하기 때문에 사과하고 싶습니다

이것이 일어날 것을 몰랐다 하지만 문제는 내가 버그에 연락 할거야 팀을 찾아서 그들이 정리 해줄 수 있는지 확인하십시오 알았어, 음, 계속해서, 이것은 내가 여러분에게 보여주고 싶은 그룹 별 중 하나였습니다 다른 하나는 동적 그룹입니다

동적 그룹은 다른 그룹과 다릅니다 정적 그룹은 애플리케이션을 실행할 때 알 수 있듯이 그렇게 유지됩니다 영원히 에 의해 동적 그룹을 적용 할 때, 시작을 배치하고 싶다고 가정 해 봅시다 데이트, 여기 보시죠

전체 날짜까지 말하자 시작 시간, 시간 및 분, 직원 ID, 고객 ID 및 현재 상태 ID가 표시됩니다 그리고 또한 총액 : 총액

예, 합계입니다, 알았죠? 이렇게하면, 내가 그것을 실행하자 여기에 가면 "그룹화"라는 새 버튼이 있습니다 때를 그것을 클릭하면 두 개의 탭이 있습니다 : 그것은 현재 정적 인 것이고, "동적"을 클릭하면 될 필드를 변경할 수 있습니다 그룹화 그래서, 날짜를 봅시다

그래서, 그것은 정보를 모두 그룹화합니다 실제로 시간은 여기에 있습니다 시간대별로 그룹화한다고 가정 해 보겠습니다 대신 그래, 거기에 오류가있다

초기 버전 고객 ID를 사용해 보도록하겠습니다 따라서 고객 ID별로 그룹화됩니다 그래, 그게 그룹이야 그것이 그 목적입니다

기본적으로 사용자의 필요에 따라 화면에 정보를 그룹화하지만 그룹 기준으로 요약을 사용할 수도 있습니다 나중에 내가 너에게 보여줄거야 이 애플리케이션에서 그러나 나는 아직도 너희들에게 또 다른 특징을 보여주고 싶다 세련된 검색 세련된 검색 – 당신이 온라인 상점에 익숙한 지 모르겠다

또는 전자 상거래 시스템의 왼쪽에는 필터 메뉴가 있습니다 필터를 적용하려는 정보를 선택하십시오 글쎄, 그건 좀 비슷해 이것은 하나 – 실제로, 나는 현재 상태를 선택할 것입니다 이걸 보자

"직원 ID"및 "약속 시작 날짜" 저건 구해줘 좋아, 그럼 어서 가자

실제로, 왼쪽 부분에서 여러분에게이 부분을 보여주기 위해 실행하도록하겠습니다 나는 기다리고있는 확인에서 걸러 낼 수 있으므로 기다리는 모든 사람 확인은 시작 날짜와 함께 여기에 있습니다 많이있다 여기에 날짜가 표시되며 내 화면이 오염되는 것과 같습니다 일종의 그리드 자체 아래에 간다

저것을 대우하는 방법이있다 내가 돌아 가면 검색 수정> 입력란에 '더보기'라는 옵션이 있습니다 이 옵션을 사용하면 최대 레코드 수를 알릴 수 있습니다 표시하고 싶으면, 더 많은 레코드를 보여줄 링크를 허용하십시오 그래서 다시 해보자

좋아, 이제 열 개를 보여주고있어 "모두보기"를 클릭하면 지금 모든 기록을 볼 수 있습니다 가장 이상한 것은이 "직원 ID"가없는 것입니다 이름 데이터베이스 빌더에서 여기서 어떤 것을 확인해 보겠습니다

그냥 잠깐 사실 그것은 "직원"입니다 데이터를 선택하십시오 이름이 없습니다 이걸 앤더슨에게 바꿔 드리겠습니다 구하다

좋아, 이제 그 이름이 여기에 주어 졌는지 보자 아직도 아니야 그럼 내가 약속에 문제가 있다고 생각합니다 여기에 쿼리를 실행 해 보겠습니다 어느 쪽이 카를로스 야

5 번 앤더슨에 대한 모든 것을 놓으십시오 내가 뭔가 시험하게 해줘

이리 예, 0이됩니다 이유는 모르겠습니다 "UPDATE 약속 SET staff_id = 5 WHERE staff_id = 0" 괜찮아, 지금 실행되는지 보자

알았지? 앤더슨입니다 그래서, 그것은 또 다른 것입니다 SQL 빌더도 마찬가지입니다 일반 DML 명령을 실행합니다 좋아, 다음 일은 내가 고급 검색에서 할 수있는 설정을 보여주고 싶었습니다

가자 다시 Scriptcase에 여기있는 사람들 검색 – 고급 검색으로 이동해 봅시다 내가 할 일은, 내가 사용할 분야를 선택하도록하겠습니다 고급 검색

첫 번째는 현재 상태 ID이고, 다음은 스태프 ID이며, 고객 ID 및 약속 시작일 저장하십시오 그렇게하면 나는 여기 필드로 가서 각 필드를 설정하겠습니다 이 입력란은 선택형이 될거야, 알았지? "자동", 여기에 약속 상태에 따라 작성하십시오 좋아요, 직원 ID는 직원에 따라 그래서 고르다

"오토매틱" 직원을 기준으로 선택 만들기 좋아, 고객을 만들어 보겠습니다

이 번호는 자동 완성 번호가 될 것입니다 많은 사람들이 저에게 텍스트와 번호 자동 완성 기본적으로 내부 가치입니다 너는 조작하고있어 텍스트는 일반적으로 사용되며 사용자가 사용할 때 사용해야합니다

영숫자 값인 내부 값을 처리합니다 오직 사실 번호가있는 신분증을 치료할 때 번호 자동 완성이 가능합니다 약속 날짜와 약속 시작 날짜를 저장하십시오 나는 특별한 것을 바꿀거야 우리가 여기있는 조건

그것이 될 특별 조건 사용하는 것은 기본적으로 모두 다, 알았지? 과 동적 검색, 또한 같은 필드를 선택하겠습니다 현재 상태 ID, 직원 ID, 고객 ID 및 약속 시작일 나는 그들을 세울 필요가 없다 다시 들판에 이미 있기 때문에 다시, 알았지? 그러나 나는 아직도 필요하다

여기서 설정으로 이동하고 다른 필드에 대한 검색 기준을 설정하십시오 직원 ID에서는 값이 같을 때만 값을 사용할 수 있습니다 선택 상자에 내가 설정 한 값 고객 ID입니다 "동일"

약속 시작 날짜 나는 그것을 "두 가치 사이"로 설정하려고합니다 그리고 현재 상태 ID도 "같음"입니다

그럼, 저것을 실행합시다 무슨 일이 일어나는가? 여기서 고급 검색에 액세스하면 현재 상태를 선택할 수 있습니다 그것은 결론 지어지고, 주인은 Isaac입니다 좋아요, 그래서, 그것은 일종의 집단입니다 그것은 내가 사용하고있는 필터를 보여 주며, 현재의 특정 상태를 찾는다

여기 총계도있어, 알았지? 동적 검색을 설정할 수도 있습니다 종결 된 모든 분야를 원한다고 가정 해 봅시다 "대다" 그리고 그것은 보여줍니다 아브라함, 야곱, 이삭에 대한 나, 괜찮 니? 동적 인 고급 기능입니다

수색 내가 보여주고 싶은 또 다른 점은 내가 여기에 합계를 설정하여 총계에 직접 설정할 수 있습니다> 설정, 그렇지 않은 경우 착각이되어서 직접 여기에 놓으라고 부탁합니다 난 그냥 해요 "총 가격"이라고 말할 것입니다 여기, 여기, 여기, 여기, 여기 그걸로 가자

좋아요, 모든 기록에 대해 그 레이블을 봅시다 여기 총 가격이 있습니다 권리? 그래서 각 그룹별로 직접 여기에 추가되었습니다 너에게 보여 줄께 우리가 가지고있는 요약

요약을 보시려면 여기를 클릭하십시오 그 종류의 요약은 현재 상태 ID 만 보여줍니다 클릭하면 여기에 특정 현재 상태에 대한 모든 레코드가 표시됩니다 하자 예를 들어 여기에> 동적으로 그룹화하려면 여기에 축을 설정할 수 있습니다 예를 들어 y 축인 직원 ID와 고객 ID를보고 싶습니다

X가되고 좀 혼란 스럽네요, 그렇죠? 실제로, 그것은 심지어 전체로 배치되지 않습니다 이상한 이 부분이 나타납니다 에 직접 문제가있을 수 있습니다

그래도 그룹 나는 심각하게 버그 팀에 연락하고 무엇이 필요한지를 볼 필요가있다 왜냐하면 내가 기억하기에, 만약 당신이 이것을한다면, 그것은 여기서 직원의 이름과 상태 설명을 표시하고 여기서 기록의 양 틀린 것이 있어야합니다 실제로 조회 설정을 직접 사용하여 그룹과 내가 그들에게 연락해서 볼거야

정확히 무슨 일이 일어나고 있는지 아마 많은 사람들이 똑같은 고통을 겪고있을거야, 알았지? 이 응용 프로그램은 여기 완료되었습니다 여기에서 그것을 닫으십시오 다음 것 우리가 만드는 응용 프로그램은 양식 응용 프로그램이 될 것입니다 응용 프로그램을 사용하여 약속을 예약하는 데 사용됩니다

특정 날짜와 시간을 선택하십시오 서비스 가치를 계산합니다 자동으로 모든 관련 고객 및 직원에게 전자 메일을 보냅니다 실제로 이메일을 보내려면 보증 할 수 없지만 나는 아직 코드를 테스트하지 않았다 "형태"

"설비" 여기에서 이름을 확인하겠습니다 그게 form_appointments 야 알았지? 그것을 창조합시다 내가 실제로 이메일을 보낼 것이라고 보장 할 수는 없습니다

나를 테스트하기 위해 순간에 SMTP 계정을 실행하십시오 좋아, 그럼, 여기로 가자 필드 위치 지정 나는 몇 개의 들판을 제거 할 것이다 첫 번째는 약속 ID, 반복, 기간 및 평가, 종료 날짜 및 종료 시각

그것을 저장하고 몇 블록을 만들어 봅시다 여기에 가자 레이아웃> 블록 세 블록을 만들어 보겠습니다 이건 "데이트"라고 부를거야

하지만 자동으로 이름을 얻으려는 라벨을 알려주지 마십시오 당신 여기를 볼 수 있습니다 다음에 나는 "가치"라고 부를 것이고, 세 번째 것은가는 것입니다 "서비스"가 될거야, 알았지? 그래서, 첫 번째는 들었습니까? 이 부분 만 여기서 제거하겠습니다 이 사람은 사실, 제목이 닫히기 시작할거야, 알았지? 그리고 내가 여기에 열이 있습니다

초기 블록에는 세 개의 열이 포함됩니다 무엇인가 이 칼럼? 이것이 표시 할 필드를 구성하는 방법입니다 화면 여기에 하나만 입력하면 어떻게 보이는지 볼 수 있습니다 표시, 알았지? 그래서 이것은 현재 우리가 바라 보는 분야입니다

내가 여기 셋을 설정하면 그냥 실행하면 모든 필드가 첫 번째 블록에 계속 남아 있습니다 그렇게 될 것입니다 여기에서 볼 수 있듯이 세 열로 나뉩니다 그러나 나는 그들을 다른 블록들, 그래서 두번째 컬럼은 두 개의 컬럼을 포함 할 것이고 가치는 4를 포함 할 것입니다 저건 구해줘

그것들을 그들의 정확한 블록 날짜는 기본적으로 시작 날짜와 시작 시간입니다 시각, 여기 값은이 4 개입니다 나머지는 여기에 머물러 있습니다 필요한 직원 ID 고객 ID 및 회전 상태 ID 조회 설정을 구성 할 수 있습니다

그들은 이미 선택 필드로 설정되어 있지만 하지만 조회 설정을 올바르게 작성하지는 못했습니다 "직원"

여기있어 바르게 "고객 ID" 좋아요, "현재 상태 ID", "약속 상태" 좋아 네가 지금 어떻게 조직되어 있는지 볼 수 있도록해라 알았지? 이제해야 할 일은 사실 두 가지입니다 설정을 변경하려고합니다

약속 시작 날짜와 시작 시간 둘 다 여기있어, 알았지? 시작 시간에는 형식을 변경하여 시간과 날짜를 표시합니다 의사록 시작 시간에 여기로 가보겠습니다 표시하고 "hh / mm"으로 변경하면 형식이 변경됩니다 그 시작 날짜,이 스위치는 날짜 형식의 버전을 제거 할 것입니다

바로 여기에 그걸 해보자 표시되지 않는지 확인하고 이 시간과 분으로 바뀌 었어, 알았지? 좋아 좋아 가격과 총 가격을 라벨로 설정하겠습니다

알겠습니까? 자, 가자 여기에 가격 기본적으로, 나는이 옵션을 여기에서 가능하게 할 것이다 "label field" 필드는 레이블 필드로 작동하며 변경할 수 없습니다

세부 사항 : 그것은있을 수 없다 인터페이스에 의해 직접 변경되었지만 변경 될 수있는 이벤트가있는 경우 내부적으로 그 값은 정상적으로 변경 될 것입니다 좋아요, 여기 여기에 라벨이 붙어 있습니다 내가이 위치를 바꿀 수있게 해줘 실제로 레이블

그들이 모두 왼쪽에 있기 때문에 일종의 이상합니다 오른쪽 필드 블록으로 다시 돌아가 위에서 레이블을 설정해 보겠습니다 우리가 더 잘 조직 할 수 있도록 실행 해 봅시다

이렇게 이상하게 여깁니다 좋아요, 그럼 더 좋을 것 같네요 저는 여러분에게 PHP라는 것을 소개 할 것입니다 행동 양식 그것이 스크립트 케이스가 만드는 곳입니다

PHP 함수는 응용 프로그램에서 재사용됩니다 어떻게 우리가 그렇게 할 수 있겠습니까? 이것들을 닫자 프로그래밍에 들어가면 여기 있습니다 "프로그래밍> 새로운 방법" 이 새로운 메소드를 클릭하고 새로운 메소드를 만들어 봅시다

메서드는 "upd_price"라고합니다 그렇게하면 만들자 좋아, 이것은 PHP 편집기이다 우리가 행사에서 가지고있는 것과 똑같은 것 코드에서 코드를 가져 오도록하겠습니다

저장소 양식에 가자 여기 그럼 내가 정확히 여기서 뭘하고있는거야? 나는 추가 요금을 받고있다 할인을 뺀 다음 그 결과를 가격에 더하고 그 값을 얻습니다

결과 및 총 가격 적용 그래서, 내가 추가 비용, 총 가격 자체에 그 가치를 추가해야합니다 만약 내가 가지고 있다면 할인, 나는 합계 가격에서 그 가치를 직접 뺄 필요가있다 좋아요 그걸 구해주게

나는 또 다른 방법을 만들 예정입니다 "fill_values"라고 불릴거야, 알았지? 여기로 돌아가서 그 코드 이건 좀 더 복잡해 설명해 줄게 그것은 너희들에게 그렇다 따라서이 코드는 모든 기간 및 가치를 계산합니다

이 약속에 첨부 된 서비스 내가 몇 가지를 가지고 있다는 것을 기억해라 필드를 삭제하고 디스플레이에서 제거 했습니까? 그 분야는 실제로 존재하지 않지만 표시되지만, 그것이 당신이 생각할 때 고려되지 않는다는 것을 의미하지는 않습니다 데이터 조작 우리는 여기서 그것을 바꿀 것입니다

그래서 내가하고있는 일은 값을 입력하고 숨겨진 필드에 값을 적용하려면 여기에서 몇 가지 수학을 수행하십시오 사실, 약속, 종료 날짜 및 약속 시작 날짜 – 실제로, 약속 끝 날짜와 종료 시간 직접 정보 얻기 데이터베이스와 화면에서; 그래서 여기 단계별로 "@val_duration"변수가 있습니다 그 값은 0이고, "@val_price"도 0입니다 여기 내려와

나는 select 명령을 포함하는 변수를 선언한다 기간 및 상금 약속 테이블에서 그리고 또한 약속 유형과 내부 조인, 필터링에서의 약속 ID 위치 필터링 약속 상세 표는 약속 ID에 제시된 것과 동일합니다 이 필드가 현재 숨겨져 있다는 것을 의미합니다 그렇지 않다고 표시됩니다 논리는 여기에 지역 변수에 적용되는 쿼리가 있습니다 그런 다음 여기에서 Scriptcase의 "sc_lookup"이라는 매크로를 사용하고 있습니다

이 매크로를 사용하면 데이터베이스에서 결과를 직접 쿼리하여 반환 할 수 있습니다 그것은 양방향 벡터 또는 2 차원 광선 또는 행렬에 따라 달라집니다 어떻게 그걸 부르고 싶은지 좋아요, 그런 종류의 수직 위치를 반환합니다 수평 위치, 알았지? 그래서 여기에 "0, 0"이 있습니다

이것은 무엇을 의미 하는가, 사실은? 이 쿼리가 여기에 하나의 행으로 전송되었는지 고려해 봅시다 에 벡터에서 한 줄 이상을 반환하면 모든 것이 0부터 시작합니다 1, 2, 3, 4입니다 예를 들어이 쿼리가 두 줄을 반환하면 0으로 시작하고 따라서 여기서는 0부터 시작하고 0 인 첫 번째 줄은 2로 시작합니다 열

이 경우 약속 기간 및 가격 위치 0은 기간이되어야합니다 예를 들어 여기에 가격이 있으면 가격이 책정됩니다 그래서, 이 경우 나는 지속 기간을 얻는 행이 있는지 확인하고 그것을 적용합니다 직접 지역 변수에

가격과 같은 것, 가격 그것을 얻고, 나는 가치를 전달하고있다 가격 필드에 직접 연결하고 시작 날짜를 적용하여 끝과 같음 날짜 그런 다음 정보를 탐색하면서 시작 시간을 얻습니다 시간과 분을 얻고, 부분으로 분리하고 60 분을 곱하면됩니다

– 여기에 부품을 가져 오는 것과 시간에 그것을 돌려, 알았지? 음,이 두 가지 방법이 만들어집니다 그러나 우리는 그들을 어디에서 사용할 것인가? Scriptcase는 일종의 이벤트를 제공합니다 Ajax라고 불린다 선택 필드를 변경할 때 사용하는 것의 종류 다른 필드의 값 Scriptcase는 일반적인 필드에 이벤트를 제공하고, 이쪽이 바로 여기입니다 Ajax 이벤트

이제 새로운 Ajax를 만들어 보자 행사 내가 만들 예정인이 행사의 목적은 무엇입니까? 에 대한 예를 들어 내가 추가 할 때 내가 원하는 것은, 여기에 50, 56,이 추가 비용은 계산되어 총 가격에 더해진다 괜찮아? JavaScript와 Ajax를 통해서만 가능합니다 이 경우 Ajax를 사용할 것이다

다음은 첫 번째 단계입니다 여기에서 요청한 매개 변수는 이벤트를 트리거 할 필드입니다 이 경우 추가 비용을 선택하겠습니다 사용하려는 이벤트 유형을 선택합니다 나는 onChange

필드에서 값이 수정되면이 이벤트는 트리거 됨 그럼,이 일을 만들고, 이벤트를 만들고, 나는 무엇을 할거야 여기에있는 장소? 글쎄, 내가 만든 메서드 "upd_price"를 호출 할 것이다 즉, 지금 애플리케이션을 실행하면 여기에서 "56"을 시뮬레이트하십시오 처리 중이고 총 가격에 56을 더했습니다

~하지 않는다 할인을 위해 일한다 왜? 내가 이벤트를 만들지 않았기 때문에 할인하고 지금 당장 할거야 여기에 새로운 이벤트를 만들어 보겠습니다 할인 필드를 이벤트의 트리거로 사용하는 새로운 Ajax 이벤트 onChange 처리 이벤트를 사용합니다

나는 똑같은 것을 부를거야 여기, "upd_price" 다시 해보자 보자, 이것을 백개로 만들자 50을 놓고 250으로 돌아가려면 여기에 50을 놓으십시오

자, 이제 총 가격 및 가격과 동일합니다 따라서 값을 변경하면 지금 업데이트됩니다 추가 요금 및 할인 저장하면 정보가 저장됩니다 데이터베이스의 모든 네 필드에 대해 나는 두 가지 일을 할거야

시작 날짜에 대한 이벤트와 시작 시간에 대한 이벤트 중 하나 기본적으로 작성한 다른 메소드, 즉 채우기 값입니다 그래서 여기에서 선택합시다 시작일 "onChange" "fill_values"라고 부르 자

저장하십시오 너는 보이지 않을거야 종료일이 화면에 표시되지 않기 때문에 화면의 모든 수정 화면 그래서 당신은 그것을 보지 않을 것입니다 "onChange", "fill_values"

괜찮아, 응용 프로그램을 실행 해 봅시다 이 응용 프로그램은 부분적으로 완료되었습니다 생각해 내다 서비스라고하는 세 번째 블록을 만들었습니까? 글쎄, 그건 세부 응용 프로그램이 들어 있습니다 이제 폼 응용 프로그램을 만듭니다 "새로운 응용 프로그램 "양식의 형식, 약속 세부 테이블을 사용하지만, 그것은 다른 이름을 지어야한다

그것은 "form_request_appointment_details"가 될 것입니다 그것을 창조합시다 응용 프로그램을 실행 해 보도록하겠습니다 무엇이 표시되고 있는지 3 개의 필드 밖에 없어요

나는 두 개를 제거 할거야 그들 우리가 약속을 표시 할 현장 위치 지정으로 가자 유형 ID 세부 정보 ID 및 약속 ID는 표시되지 않습니다

그래서, 그것을 저장하고이 필드에 대한 선택 검색 방법을 설정하도록하겠습니다 여기에 약속 유형을 입력하고 ID 설명을 삽입하십시오 저장하십시오 물론이 응용 프로그램은 하나의 필드 만 표시 할 수는 없습니다 다른 두 분야가있을 것입니다

방금 다른 두 개를 제거했습니다 아니 Scriptcase를 사용하면 주로 가상 필드를 만들 수 있습니다 계산 목적 및 일시적인 표시 문제 그래서, 나는 만들거야 두 개의 필드

둘 다 타입 라벨이 될거야, 알았지? 첫 번째는 기간이 될 것이고 다음은 가격이 될 것입니다 그걸 만들자 지금, 응용 프로그램을 실행하면 무엇을 정확하게 이해할 수 없을 것입니다 그것은 단지 이것을 보여주고 있습니다 나는 그 방향을 바꿔 보자

폼의 필드 편집 가능한 눈금보기로 설정하겠습니다 에 보내기 편집 가능한 격자보기, 필드는 격자 모양으로 표시되며, 각 필드에 대한 정보를 수정하십시오 나는 아직도해야 할 일이있다 내가 할 수 있도록 PHP 메소드를 만들 예정입니다

기간과 가격에 대한 정보를로드하십시오 그럼, 다시 가자 여기, 프로그래밍> PHP 메소드> 새로운 메소드로 가자 이것을 "get_price"라고 부르십시오 그것을 창조하십시오

이 메소드의 코드를 여기에서 보자 저장소에 "Forms_request_appointment_details" "가격을 내라" 좋아요

코드는 이것에 기반하여 각 서비스의 기간과 가격을 검색합니다 내가 여기서하고있는 쿼리를 선택하십시오 기간, 약속 유형의 가격 여기서 약속 ID- 실제로 약속 유형 ID = 약속 유형 ID, 알 겠어? "upd_master"라는 또 다른 메서드를 만들려고합니다 이 방법은 정확히 무엇입니까? 그것을위한 코드를 얻자 첫 번째 부분 다른 응용 프로그램 인 양식 약속에서 본 것과 거의 같습니다

여기에 데이터가 있습니다, 알았죠? 여기에 또 다른 조회가 진행 중입니다 추가 요금, dicounts, 약속 시작 시간부터 내가 현재 가지고있는 appointment_id를 기반으로 한 약속 자체 응용 프로그램, 그리고 우리는 시간을 기반으로 몇 가지 계산을하고 있습니다 물론, "sc_exec_sql"매크로를 사용하여 특정 레코드를 업데이트하고 가격 변수 및 종료 시간 (여기는 약속 ID = 현재 레코드의 약속 ID가 열려 있습니다 하지만이 코드는 그것은 정확히 무엇입니까? 좋아, Scriptcase 는 마스터 응용 프로그램의 정보를 업데이트 할 수있는 기능이 있습니다 세부 응용 프로그램은 "SC 마스터 값"이라는 기본적으로 하나의 매크로를 사용합니다

전달하는 첫 번째 매개 변수는 실제로 필드의 이름입니다 마스터 응용 프로그램에서 업데이트하고 두 번째 매개 변수는 값입니다 그들은 그것을 지나치 길 원합니다 무엇이 포함되어있는 다른 줄은 무엇입니까? "sc_format_num"? 이 매크로를 사용하면 정보를 보내기 전에 정보를 포맷 할 수 있습니다 마스터 응용 프로그램에, 알았지? 자, 이제이 함수들을 어디에서 호출할까요? 우리가 만든이 방법들? Ajax 이벤트를 만들겠습니다

"onChange" 약속 유형 ID 이벤트를 만들어 보겠습니다 할거다 이 행사에서 가격을 불러주세요 알았죠? 그럼, 이걸 복사하겠습니다 나는 또한 전화 할거야

이 경우에는 "로드 중"레코드입니다 편집 가능한 그리드이므로이 이벤트가 실행됩니다 한 번 화면에로드 된 각 레코드에 대해, 그래서 그것을 여기에 놓습니다 그것은 정확하게 할 것입니다 각 레코드에 대해서도 똑같이

그걸 구합시다 이제 나는 그것을 모든 약속 유형에 대해 기간 및 가격을 지정합니다 그래서, 기본적으로, "파일 백업"으로 변경하면 잠깐, 이상하게 들린다 죄송합니다 정확히 알고 있지 않습니다 Scriptcase 9에있는 버그는 현재 내가 Scriptcase 회사와 직접 일하는 것도 아닙니다 나는 거기에서 일했었다

그들은 저에게이 수업을 해달라고 부탁 했었습니다 그러나 솔직히 저는이 수업을 정말로 모르고 있습니다 버그 나는 지금 당장이 과정 전반에 걸쳐 그들에 대한 지식을 얻었습니다 그래, 다른 문제가 나타나면 사전에 사과하고 싶습니다

스크린없이 나를 알지 못한다 내가 놓아야했던 다른 방법은 upd 마스터 이제 onAfterInsert에서 다시 돌아가 봅시다 "석사" 그래서, 그것은 마스터 응용 프로그램의 정보를 매번 업데이트 할 것입니다

레코드를 업데이트 할 때마다 레코드를 삽입하십시오 레코드를 삭제할 때마다 그래서이 레코드를 삭제할 때마다 신청서, 알았지? 소스 코드를 생성하겠습니다 나는 그것을 실행하지 않을거야 이걸 닫으시고 양식 약속으로 다시 가자 응용 프로그램과 마스터 세부 사항을 만들자, 알았지? 나는 그것을 부르겠다

"요청" 몹시 떠들어 대다 "form_request_appointment_details"를 호출 해 봅시다 다음 것 기본적으로 약속 ID를 설정하려고합니다

저장하여 화면에서 어떻게 작동하는지 봅시다 좋아, 보자 내가 바꿀 경우 기다려 좋아 작동하고있어 그냥 여기에 가격을 제거, 나는 그것이 작동하지 않는 줄 알았는데 하지만 효과가 있습니다

250,00 이었지, 그렇지? 그냥 100 아래로 내려 가자 설치 바이러스 백신 제거 다시, 100 80 할인 때문에 여기에 새로운 것을 시도하자

하나 파일 백업 150, 130까지 올라갈거야 그래서, 효과가 있습니다 내가 만든이 응용 프로그램을 추가하겠습니다 – 둘 다, 실제로 – 그리드 양식 서브 메뉴

프로젝트의 집으로 돌아가 보겠습니다 메뉴에서 admin이라는 항목을 만듭니다 그것을 올려 놓으십시오 "관리자" 나 여기있어 약속 만들기 "를 설정합니다

여기에서 양식 약속을 선택하십시오 그리고 "약속 보고서"

"grid_appointments_adm", 알았지? 잠깐 시간을 내자, 알았지? 그래서, 나는 여기에로드했습니다 그것이 만들어야하는 것처럼 보입니다 약속 보고서에 여기 약속들과 짐을 싣고있어, 알았지? 그래, 이 응용 프로그램은 끝났습니다

다음 단계로 넘어 갑니 이것들은 관리자 용 응용 프로그램이었습니다 고객을위한 신청서, 괜찮습니까? 이제 이것들을 닫아 보겠습니다 고객 모델을위한 몇 가지 응용 프로그램 고객은 무엇의 목록을 선택할 것인가? 그가 계획해야하는 서비스는 "실행"요청에 의해 요청이 생성됩니다

버튼을 클릭하고 고객을 양식 선택 날짜 및 시간으로 리디렉션합니다 그가 선택한 후 약속 그는 모든 사람과 함께 보고서를 리디렉션합니다 그의 약속 좋아, Douglas가 나에게 "어디에서 가장 좋은지 물었다

매크로에 대한 설명 " Simple"Scriptcasenet "> "e- 러닝"> "문서"> "영어"> "매뉴얼 읽기"그리고 매크로 부분이 있습니다 이리

매크로 그리고 그것의 유형별로 구분됩니다 SQL 조작 매크로 여기에는 날짜, 컨트롤 유형, 필터, 보안, 표시 목적, 단추, PDF, 메뉴 목적 좋아요? 더 이상 질문하지 않습니까? 괜찮아, 계속하자 먼저 그리드 애플리케이션을 만들자 약속 유형 테이블이지만 그 이름은 "grid_appointments_type"이 될 수 없습니다 그것은 "새로운 요청 카탈로그"가 될 것입니다 나는 where 절

사실 여기에 where 절을 추가 할 것입니다 활성화 된 곳 = 왜, 알았지? 따라서, 활성 약속 유형을 우리의 데이터베이스 현장 배치를 위해 여기에 들어가서 한 쌍을 제거합시다 전지 나는 단지 설명, 기간 및 가격을 보여주고 싶었다

좋아요, 저장하고 상단 툴바에서 모든 항목을 제거해 보겠습니다 버튼 그래서, 내가 그들을 제거하자 좋아, 구해 응용 프로그램을 실행시켜 보도록하겠습니다

사람들은 그것이 무엇을 표시하는지 정확히 볼 수 있습니다 우리가 보았던 종류의 우리 이전 신청서, 알았지? 하지만 나는 너희들에게 버튼 타입을 보여줄거야 "버튼 실행 (button run)"이라고 불렀지 만 먼저 여기에 복사하여 저장소에 액세스해야합니다 사용할 루틴 나는 이걸 복사 해 드리겠습니다

onScriptInit 글쎄, 여기에 정확히 무엇을하는지 설명하겠습니다 우리는 PHP 함수 인 unset은 글로벌 변수 또는 세션을 설정 해제합니다 PHP에서 변수, 그리고 당신이 볼 수 있듯이, 다음과 같이 선언하고 있습니다 변수가 배열이 될 것입니다

그런 다음 다른 전역 변수를 준비 중입니다 변수 "i"는 0이되는 카운터가 될 것입니다 "duration_checked"가있을 것입니다 이는 금액이기도하고 시작하는 것입니다 0에서 "price_checked", 괜찮습니까? 우리는 이것을 저장하고 여기 버튼으로 가자

새 단추 왜 내가 그 변수들을 정확히 만들었습니까? 왜냐하면 정보를 얻으려는 경우 실행 버튼으로 작업해야합니다 선택한 레코드의 나는 그것을 부르겠다 "의뢰" 자, 요청 버튼의 편집 부분입니다

그것 onRecord 이벤트가 있고 onFinish가있는 두 가지 이벤트를 지원합니다 그래서 응용 프로그램에서 선택된 각 레코드에 대해 실행됩니다 예를 들어, 내가 뛰게하십시오 응용 프로그램, 그래서 당신은 사람들이 정확히 무엇을 요구하는지 볼 수 있습니다 우리는 이것들을 설정할 것입니다

2 아웃 보시다시피, 이제 레코드에 대한 확인란을 구현했습니다 다 좋아? 실행 버튼에서만 사용 가능합니다 코드를 붙여 넣어야합니다 여기 내가 onRecord 코드로

내가 얻을 수있는 – 나는 지역 변수를 선언한다 그 자체가 카운터를 가지고 있고, 그리고 나서 나는 bidelimensional aray를 만듭니다 신분증 수표는 배열입니다

저는 카운터의 위치를 ​​얻고 약속 유형 ID를 입력 한 다음 기간 확인 및 증분 수표 기록의 기간 필드 그런 다음 가격에 대해 동일한 작업을 수행합니다 카운터를 확인하고 증가시킵니다 좋아, 여기에 onFinish 좋아요, 그래서 여기에 그 모든 정보를 얻으면 내일의 날짜를 계산합니다 시간, 가격 합계, 기간 합계 및 약속에 삽입 – 새로운 약속, 실제로 – 모든 필요한 정보 이 "glo_customer_id" 우리가 선언 할 때 선언 될 전역 변수가 될 것입니다 이 프로젝트의 로그인 응용 프로그램을 만듭니다

나는 그것이 8 번째가 될 것이라고 생각한다 클래스 또는 일곱 번째 클래스 사실 다음 주에 갈 것입니다 이것을 삽입하는 중 정보를 약속에 넣은 다음 다른 매크로를 사용하고 있습니다 "sc_select"라고합니다

이 매크로는 사실 "sc_lookup"과 유사하지만 차이점은 내가 말한 것처럼 sc 조회가 기본적인 배열을 반환한다는 것입니다 이 이 경우 실제로 결과 집합이나 데이터 집합을 반환하므로 수동으로 수행 할 수 있습니다 이전의 모든 데이터를 검토하십시오 얻기 체크 된 항목의 양, 나는 각 항목을 통과하고 그들을 삽입하고있다 약속 세부 사항에, 알았지? 그 후, 나는이 방향으로 리디렉션 할 것이다

아직 양식을 요청하는 약속 인 응용 프로그램을 만듭니다 다 좋아? 계속하기 전에 전역 변수를 밖으로 설정하십시오 모든 것이 만들어지면 내가 보여줄거야 달리기, 괜찮 니? 자, 이제 다음 응용 프로그램을 만들어 봅시다 실제로는 다음과 같은 형식입니다

약속을 요청하십시오 약속에 기반 할 것입니다 "form_request_ 약속들 " 자, 이제 표시 할 필드를 선택하겠습니다 시작 날짜 및 시작 시간, 총 가격, 종료 날짜 및 종료 시간

좋아, 여기에 가자 들판들, 총 가격을 라벨로 정할거야, 알았지? 그리고 나는 갈거야 툴바에서 모든 버튼을 제거하고 저장 버튼을 상단 툴바의 중심 그래서, 이것들을 제거하십시오 여기 아래 모든 것들 자, 요일이라는 가상 필드를 만들자

그것은 정수가 될 것입니다 요일 그리고 나는 그것을 숨겨진 필드로 설정할 것입니다 자, event onLoad,이 루틴 코드를 추가하겠습니다 시작일 필드를 기준으로 한 요일을 알 수 있습니다

자, 결국 날짜는 실제로 시작일부터 시작됩니다 더 의미가 있습니다 선택이있다 사실 그 필드에 장소를 원한다는 쿼리 이 하나

예 시간 입력란은 실제로는 검색어 입력란을 포함하는 선택 입력란입니다

내가 직접 시간 값을 선택할 수 있도록 할 것입니다 방법? 이번은 테이블 약속 시간에 가능하다 좋아, 이제 필드 끝 날짜와 끝 시간이 숨김으로 설정 될거야, 알았지? 내게 알려줘 내가 무슨 일이 일어나고 있는지 정확히 알 수 있도록 응용 프로그램을 실행하십시오 이미 수정을 많이 했으므로 직접 회사를 운영 할 수 있습니다

어디 보자 괜찮아, 그래서 이것은 지금처럼 생겼습니다 아무 문제 없습니다 그래서 그것에 대해 노력하고 가자 여기 JavaScript 부분에 대해 설명하고 자바 스크립트 이벤트를 만들어 보겠습니다

이 양식 및 제어 응용 프로그램에만 사용할 수 있습니다 나에게 JavaScript 코드를 기반으로 이벤트를 만들고 객체를 선택할 수있게 해줍니다 그 사건을 일으킬 것입니다 이 경우 시작을 선택하겠습니다 JavaScript 이벤트에서 onChange를 트리거 할 날짜를 지정합니다

그래서, 여기에서 편집을 클릭하겠습니다 그게 내가 일상을 알릴 수있게 해줄거야 이 메서드는 여기,이 자바 스크립트 함수는 "nm_recarga_form"라는 Scriptcase의 JavaScript 내부 기능 그것이하는 일은 기본적으로 전체 양식을 새로 고칩니다 알았지, 알았지? 이제 두 가지 PHP 메소드를 만들 예정입니다

가자 "필드", "이벤트" 프로그래밍> PHP 메소드> 새로운 메소드 좋아, 첫 번째는 "chk_date"라고 할 것입니다

권리? 여기 정보를 얻었 어, 알았지? 여기에 정확히 무엇을하는지 설명하겠습니다 코드가 실제로 날짜를 확인합니다 그건 통보 받고 있습니다 선택한 날짜가 실제 날짜보다 낮은 지 확인합니다 날짜와 같거나 날짜와 동일합니다

그럴 경우 날짜가 잘못되었다는 오류가 발생합니다 오늘보다 더 높아야합니다 시간이 지났 으면 날짜가 맞는지 확인하십시오 가능하면 휴일이 있는지 확인하십시오 그래서, 그것은 여기 그리고 테이블 "unavailable_dates"

"sc_selects"를 통해 이동합니다 전체 데이터 세트를 살펴 보겠습니다 여기 논리가 어떤 종류입니까? 매일 시간을 정한다 이 논리를 살펴 보겠습니다 사실 조금 혼란 스럽습니다

그리고 마지막에는 연결을 끊습니다 정보를 얻을 때 사용자의 날짜를 확인합니다 괜찮아, 여기에 "fill_values"라는 또 다른 메서드를 만들어 보겠습니다 우리가 만든 다른 응용 프로그램 및 확실히 동일한 코드, 알았지? 좋아, 내가 구해줘 이제 onValidate에 코딩을 추가하겠습니다

start 이벤트에 대한 onChange 이벤트와 Ajax에있는 onChange 이벤트 시작 시간 그럼 내가 유효성을 검사하러 가자 그것은 기본적으로 같은 것입니다 그것은 그것들 각각을 검증 할 것입니다 여기 유효성 검사로 가자

이 경우이 양식의 정보를 제출하면 이벤트가 실행됩니다 절약 할 때 여기에 시작 날짜와 시작 시간에 대한 이벤트가 생성됩니다 예, 시작일에 이미 자바 스크립트 이벤트가 있지만 다시 할 수 있습니다 Ajax와 같은 것

그래서, 그것은 일종의 두 가지 사건이 있습니다 가치 변화 좋아, 시작일은 onChange 똑같이 확인해 그래, 기본적으로 같은

다음 시간, 시작 시간입니다 여기 붙여 넣으세요, 알았죠? 저장하십시오 좋아, 지금, 내가 뭐야? 사실,이 애플리케이션에 실제로 새로운 블록을 추가 할 것입니다 전화하자 그것은 "세부 사항", 왜냐하면 그것은이 응용 프로그램에 대한 세부 사항을 가지기 때문입니다

오토 내가 만든 기본 응용 프로그램을 사용하려고합니다 ~없이 레이블도 실제로 새로운 새로운 세부 사항을 만들어 보겠습니다 그것을 "세부 사항"이라고 부르십시오 "form_request_appointment_details"

약속의 ID를 전달하면, 또한 자,이 응용 프로그램을 실행하자 나는 그것을 조금 남겨 둘 필요가있다 더 두꺼운 500 픽셀을 시험합시다

알았어 할인을 표시하지 않기 때문에 130을 보여주고있다 추가 비용도 없습니다 좋아,이 응용 프로그램은 여기있다 끝마친

그래서이 아이디어 카탈로그는 요청 카탈로그를 실행할 때 일종의 것입니다 미안합니다 깜빡했습니다 여기에 한 가지만 놓으려면 업데이트하십시오 여기에는 유효성 검사가 있습니다 의 다른 필드로 나를 리디렉션합니다 사실, 다른 응용 프로그램, 깜빡 했네

이것에 대해 "onAfterUpdates" 좋아요, 그래서 여기에서는 약간의 유효성 확인을합니다 애플리케이션에 액세스 한 사용자에게 이메일을 보내고 이제는 역사를 창조하기 때문에 나는이 특정 약속의 역사를 가지고있다 업데이트 된 다음 고객의 그리드 약속으로 리디렉션됩니다

그래서 나는 아직 전체 시스템을 실행할 수는 없습니다 이 그리드 약속을 만들어 보겠습니다 고객 소스 코드를 생성하겠습니다 자, 약속을 기반으로 그리드를 만들자

이름이 될거야 "grid_appointments_customer"이고 where 절이 있습니다 내가 여기서 확인하자 이리 그것은 SQL입니다 "어디", 고객 ID = 전달 된 것입니다 그것을 창조합시다 내가 원하는 건, 약속 ID, 시작 날짜, 시작 시간을 원해

직원 ID 및 총 가격 등급이 표시됩니다 "약속 ID", "시작 날짜 ","시작 시간 ","직원 ID ","총 가격 "및"등급 "을 입력하십시오 그리드 모듈을 비활성화하고자 할 때, 예를 들어, 세부 사항은 여기에서이 표시를 선택 취소해야합니다 나는 싫어 사용자가 요약 차트에 액세스하거나 검색 할 수 없습니다

그리드만으로 충분합니다 그를 앱을 실행하면 지금은 그대로, 고급 스러움없이 3 개의 점들없이 나에게 이것을 보여줍니다 검색은 여기에서도 가능합니다 이제 Scriptcase로 돌아가 보겠습니다

상단 툴바에서 모든 버튼을 제거하려고합니다 그래서, 이것에 대한 수출은 없습니다 사용자, 또한 onRecord에 대한 루틴이있을 것입니다 그래서, 그것은 이 사용자에 대해로드 된 각 레코드에 대해 실행하십시오 그럼, 여기로 가자

"onRecord" 좋아요, 저장하고 상태 ID를 기준으로 정적 그룹을 만들어 보겠습니다 "Static Group By"> 새로운 그룹 상태를 사용하여 여기에 상태를 부릅니다 내가 이것을 구 하마 나는 그것을 다시 시도 할 것이다, 내가 여기에 그것을 설정할 수 있는지 보자 "오토매틱" 선택, 서면 상태 작성

좋아요 나는 아직도 해요 아직 그것을 실행하지 않을거야, 내가 여기서해야 할 일이있다 "세련된 검색 "필드를 선택하겠습니다 현재 상태 ID가 될 것입니다

여기에 현재 상태 ID, 약속 시작 날짜, 직원 ID 및 총 가격이 표시됩니다 저를 저장하겠습니다 여기서 편집 필드에 설정하겠습니다 총 가격은 내가 원해 다중 선택중인 직원 ID, 현재 상태에 따라 5 씩 증가하는 범위 설정 복수 선택 중

하지만 현재 상태 ID를 직접 수정하려고합니다 여기에서 그리드에 대한 조회 설정을 적용하십시오 자, 응용 프로그램을 실행 해 봅시다

이상하다, 지금 보여주고 장난 해 그래, 내 실수 야

그건 버그가 아니야 이것에 대한 조회 설정을 지정하겠습니다 직원 ID, 잊어 버렸어, 네 진지하게, 나는 여기에서 나 자신을 부끄럽게 생각하고 있었다 와아 봐, 난 정말 모르겠다 실제로는 다른 그리드에서 설정 한 설정과 동일하기 때문에 그리고 일하기로되어 있었지만, 왜 다른 하나가 이건 작동하지 않습니다 사실, 다른 하나는 작동하지 않았고, 이것은 하나입니다

기다려 나는 그것이 이것을 설정하지 않았다고 생각한다 바르게 그래, 신경 쓰지 않았어 저 사람들이 스탭이야, 알았어

알았어, 이제 여기 정확히 올랐어 단계별로 올바른 단계를 수행합시다 어떤 요청이라도 여기서 실행합시다 그래서 파일 백업을 원한다고 가정 해 봅시다 내 하드 드라이브를 포맷하고 싶습니다

그걸 요청합시다 기다림 내가 잊어 버린 한가지 여기에서 변경하십시오 그래서, onRecords 고객 ID 그것은 0이 아니며, 5입니다 괜찮아 코드에 오류가 있습니다 좋아, 다시 해보자 백업을하고 하드 드라이브를 포맷하고 싶었습니다

이것은 사용자 로그인입니다 그들은 내가 여기에 사용자 로그인이 필요하다고했는데, 나는 그것을 기억하지 않는다 오, 알았어 그럼 너는 없어 업데이트 미안 해요, 이런 일들은 개발할 때 일어납니다

실행 중입니다 다시 시도해 봅시다 "파일", "형식", "요청" 좋아요 그래서 여기에 파일 백업과 포맷 하드 드라이브가 있습니다

여기, 알았지? 오늘보다 커야합니다 여기에서 선택합시다 그리고 그것을 원합니다 그들은 이미 저를 위해 그것을 제안합니다 "금요일, 16" 좋아요, 그럼 그걸 저장합시다 이봐 요, 진지하게 기다려 그 사용자는 어디 있습니까? 그냥 여기 로깅 해 좋아, 여기에 뭔가를 집어 넣자 그것 이것은 데이터베이스에 빈 값을 돌려주기 때문에 일시적입니다

다시는하지 않아도됩니다 내가 말했듯이, 다시, 그것은 일어난다 여기로 이동하여 하드 드라이브와 나는 안티 바이러스를 원한다 "150" 좋아요, 지금 저장합시다

좋아, 여기 이쪽으로 방향이 바뀌었지만 그게 그래, 나 한테 모든 약속을 보여주고있어 실제로 내 고객 ID를 설정 했으니 여기 모든 정보를 보여주는 것 같네요, 알았죠? 그래서, 얘들 아, 그냥 메뉴의 고객 부분에 설정하자

내게 알려줘 여기 열어 여기에 새 것을 추가하겠습니다 "고객" "새 요청"

그리드를 설정하십시오 그리고 "나의 약속"

"Grid_customers" 좋아요, 그러면 작동합니다 좋아, 더글라스가 나에게 더 나은 설명을 부탁했다 조회 및 선택 매크로의 차이점 괜찮아

예를 들어, 내가 말했듯이 조회 설정은 일종의 준비가되어 있습니다 조금 더 간단한 코딩으로 접근 할 수있는 당신이있을 때 사용하지 않는 것이 좋습니다 좋아요, 뭐라 구요? 1,000 기록 메모리에있는 모든 레코드를로드하고 있기 때문에 사용하지 않는 것이 좋습니다 때로는 서버가 손상 될 수 있습니다

그러나 "SC select"를 사용할 수 있습니다 왜냐하면 일종의 페이지 매김을 할 수 있고,이 10 개의 레코드를 먼저 실행하고 그것은 당신에게 돌아갑니다 그래서, 당신은 그 고리를 통과 할 수 있습니다 순수한 PHP에서 작업하는 경우 모든 데이터 세트의 다른 루프를 통해 다른 질문? 아놀드, 나 Scriptcase가 제공해야하는 다른 코스를 추천합니다

개발자 과정 그것은 이전에 저에게 주어졌으며 저는 순수 SQL, 순수 HTML, 순수 CSS, JavaScript 및 PHP를 엿볼 수 있습니다 그 후, 나는 모든 사람들에게 Scriptcase에서 이러한 개념을 사용하는 방법을 보여주었습니다 그래서 나는 마샤에게 연락해서 그녀에게 그 과정에 대해 물어볼 것을 권유합니다, 알았죠? 도움이 될 수 있습니다 너는 나간 것 같아

좋아, 그 다음엔 좋은 저녁이있어, 내가 볼거야 내일 너희들도 같은 시간에, 알았지?