programing

MariaDB Import CSV

newsource 2022. 11. 7. 22:37

MariaDB Import CSV

<select> Maria CSV Import .DB

<select id="leaveCode" name="leaveCode">
  <option value="10">Annual Leave</option>
  <option value="11">Medical Leave</option>
  <option value="14">Long Service</option>
  <option value="17">Leave Without Pay</option>
</select>

은 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★」leaveCode는 CSV와 .

ID가 공백입니다.

function selectElement(id, valueToSelect) {    
    let element = document.getElementById(id);
    element.value = valueToSelect;
}

selectElement('leaveCode', '11');
<select id="leaveCode" name="leaveCode">
  <option value="10">Annual Leave</option>
  <option value="11">Medical Leave</option>
  <option value="14">Long Service</option>
  <option value="17">Leave Without Pay</option>
</select>

하지만 경고는

element.dispatchEvent(new Event('change'))

왜 그랬는지 아세요?필드에 NULL이 있으면 NULL을 사용할 수 있다고 생각했습니다.

$('#leaveCode').val('14');

는 Import 입니다.<option>!


실수가 많습니다.

  • csv는 17개의 열을 지정하고 두 번째 줄(데이터의 첫 번째 행)에는 16개의 값이 있습니다. 즉, 첫 번째 열 ID와 일치하기 위해 "testname"이 사용됩니다. "id"를 제거해야 합니다.
  • document.querySelector('#leaveCode').value = '14'
    
  • 명령어는 ""로 종료된 필드"를 나타내지만 필드는 "",로 구분되지 않습니다.쉼표로 구분해야 합니다.
  • id이 "locations" csv "show columns from locations"와 일치하지

    document.getElementById('leaveCode').value = '14'
    

그런 다음 파일을 다시 로드해보고 다른 오류가 있는지 알려주세요.

const jQueryFunction = () => {
  
  $('#leaveCode').val('14'); 
  
}

const querySelectorFunction = () => {
  
  document.querySelector('#leaveCode').value = '14' 
  
}

const getElementByIdFunction = () => {
  
  document.getElementById('leaveCode').value='14' 
  
}
input {
  display:block;
  margin: 10px;
  padding: 10px
}
<select id="leaveCode" name="leaveCode">
  <option value="10">Annual Leave</option>
  <option value="11">Medical Leave</option>
  <option value="14">Long Service</option>
  <option value="17">Leave Without Pay</option>
</select>

<input type="button" value="$('#leaveCode').val('14');" onclick="jQueryFunction()" />
<input type="button" value="document.querySelector('#leaveCode').value = '14'" onclick="querySelectorFunction()" />
<input type="button" value="document.getElementById('leaveCode').value = '14'" onclick="getElementByIdFunction()" />

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

function setSelectValue (id, val) {
    document.getElementById(id).value = val;
}
setSelectValue('leaveCode', 14);

필요한 것은 다음과 같습니다.

var formObj = document.getElementById('myForm');
formObj.leaveCode[i].selected = true;

그리고 다음 명령을 사용합니다.

for (var i = 0, len < formObj.leaveCode.length; i < len; i++) 
    if (formObj.leaveCode[i].value == 'xxx') formObj.leaveCode[i].selected = true;

EDIT : 명령어는 다음과 같이 csv 파일에 표시되는 열을 지정해야 합니다(올바른 순서!!).

편집 2:

LOAD DATA로 데이터를 읽을 때 비어 있거나 누락된 열은 ''로 업데이트됩니다.NULL 값을 컬럼에 로드하려면 데이터 파일에서 \N을 사용합니다.상황에 따라서는 문자 그대로의 NULL을 사용할 수도 있습니다.섹션 13.2.7 "LOAD DATA 구문"을 참조하십시오.

$(function() {
    var oldT = new Date().getTime();
     var element = document.getElementById('myId');
    element.value = 4;
    console.error(new Date().getTime() - oldT);

    oldT = new Date().getTime();
    $("#myId option").filter(function() {
        return $(this).attr('value') == 4;
    }).attr('selected', true);
    console.error(new Date().getTime() - oldT);

    oldT = new Date().getTime();
    $("#myId").val("4");
    console.error(new Date().getTime() - oldT);
});

https://dev.mysql.com/doc/refman/8.0/en/problems-with-null.html 에서

  • 따라서 csv는 다음과 같습니다.
  • EDIT 3 : 이것이 최종 해결책일 수 있습니다.위의 EDIT 2와 같이 csv 파일의 id 필드를 지정하지 마십시오.그리고 다음 명령을 사용합니다.
  • 부터

는 입니다.

필드 자동으로 생성됩니다.삭제해야 합니다.

document.getElementById('leaveCode').value = '10';

CSV 파일의 컬럼을 지정합니다.

언급URL : https://stackoverflow.com/questions/58818565/mariadb-import-csv

$("#leaveCode").val("14");

and

var leaveCode = document.querySelector('#leaveCode');
leaveCode[i].selected = true;

in an AngularJS app, where there was a required <select> element.

None of them works, because the AngularJS form validation is not fired. Although the right option was selected (and is displayed in the form), the input remained invalid (ng-pristine and ng-invalid classes still present).

To force the AngularJS validation, call jQuery change() after selecting an option:

$("#leaveCode").val("14").change();

and

var leaveCode = document.querySelector('#leaveCode');
leaveCode[i].selected = true;
$(leaveCode).change();

shortest

This is size improvement of William answer

leaveCode.value = '14';

leaveCode.value = '14';
<select id="leaveCode" name="leaveCode">
  <option value="10">Annual Leave</option>
  <option value="11">Medical Leave</option>
  <option value="14">Long Service</option>
  <option value="17">Leave Without Pay</option>
</select>

필요한 경우 가장 쉬운 방법:
1) 선택 옵션을 정의하는 버튼을 클릭합니다.
2) 다른 페이지로 이동합니다.선택 옵션은 다음과 같습니다.
3) 다른 페이지에서 해당 옵션 값을 선택합니다.

1) 버튼 링크(홈페이지 등)

<a onclick="location.href='contact.php?option=1';" style="cursor:pointer;">Sales</a>
<a onclick="location.href='contact.php?option=2';" style="cursor:pointer;">IT</a>

(연락처).php는 선택 옵션이 있는 페이지입니다.페이지 URL에는 ?option=1 또는 2)이 있습니다.

2) 이 코드를 두 번째 페이지에 넣습니다(내 케이스 연락처).

<?
if (isset($_GET['option']) && $_GET['option'] != "") {
$pg = $_GET['option'];              
} ?>

3) 클릭된 버튼에 따라 옵션 값을 선택합니다.

<select>
<option value="Sales" <? if ($pg == '1') { echo "selected"; } ?> >Sales</option>
<option value="IT" <? if ($pg == '2') { echo "selected"; } ?> >IT</option>
</select>

..등등.
따라서 이 방법은 GET in url을 통해 값을 다른 페이지(선택 옵션목록 포함)에 쉽게 전달할 수 있습니다.양식도 신분증도 없고..3단계만 걸으면 완벽하게 작동합니다.


function foo(value)
{
    var e = document.getElementById('leaveCode');
    if(e) e.value = value;
}

폼의 이름이 form1이라고 합니다.

function selectValue(val)
{
  var lc = document.form1.leaveCode;
  for (i=0; i&lt;lc.length; i++)
  {
    if (lc.options[i].value == val)
    {
        lc.selectedIndex = i;
        return;
    }
  }
}

다음과 같은 것이 필요합니다.

function setValue(inVal){
var dl = document.getElementById('leaveCode');
var el =0;
for (var i=0; i<dl.options.length; i++){
  if (dl.options[i].value == inVal){
    el=i;
    break;
  }
}
dl.selectedIndex = el;
}

요소의 Id에 변수를 추가하여 재사용 가능한 함수로 만들면 어떨까요?

function SelectElement(selectElementId, valueToSelect)
{    
    var element = document.getElementById(selectElementId);
    element.value = valueToSelect;
}

여기에 언급된 대부분의 코드는 나에게 효과가 없었습니다!

드디어 이게 먹혔어

window.addEventListener가 중요합니다.그렇지 않으면 JS 코드는 옵션에서 값을 가져오기 전에 실행됩니다.

    window.addEventListener("load", function () {
            // Selecting Element with ID - leaveCode  //
            var formObj = document.getElementById('leaveCode');

            // Setting option as selected
            let len;
            for (let i = 0, len = formObj.length; i < len; i++){
                if (formObj[i].value == '<value to show in Select>') 
                 formObj.options[i].selected = true;
            }
    });

호프, 이게 도움이 돼!

대부분의 경우, 다음과 같이 됩니다.

$("._statusDDL").val('2');

또는

$('select').prop('selectedIndex', 3); 

PHP 를 사용하는 경우는, 다음과 같은 것을 시험해 볼 수 있습니다.

$value = '11';
$first = '';
$second = '';
$third = '';
$fourth = '';

switch($value) {
            case '10' :
                $first = 'selected';
            break;
            case '11' :
                $second = 'selected';
            break;
            case '14' :
                $third = 'selected';
            break;
            case '17' :
                $fourth = 'selected';
            break;
        }

echo'
<select id="leaveCode" name="leaveCode">
  <option value="10" '. $first .'>Annual Leave</option>
  <option value="11" '. $second .'>Medical Leave</option>
  <option value="14" '. $third .'>Long Service</option>
  <option value="17" '. $fourth .'>Leave Without Pay</option>
</select>';

지금은 테스트할 수 없습니다만, 과거에는 각 옵션 태그에 ID를 부여해야 했습니다.그 후 다음과 같은 작업을 실시했습니다.

document.getElementById("optionID").select();

이것이 효과가 없는 경우는, 해결책에 가까워질 가능성이 있습니다.p

언급URL : https://stackoverflow.com/questions/78932/how-do-i-programmatically-set-the-value-of-a-select-box-element-using-javascript