전에 array_combine을 사용한 적이없고 쿼리에 "리소스 대신 부울"오류가 표시됩니다. 읽을 쿼리를 변경하면 ... WHERE cal_id = ". $ quidx."; 불리언 오류가 사라집니다하지만 나는 그림 수없는 이유로 스크립트에서 예기치 않은 T_STRING 오류가 발생하고 쿼리의 결과는 아무 것도 아닙니다.array_combine 사용 또는 쿼리 오류가 발생 했습니까?
주요 질문 : array_combine의 올바른 사용법입니까? 그렇다면이 스크립트의 나머지 부분에서 쿼리 후 아무 정보도없는 부분은 무엇이 있습니까? $ quid1은 id 번호의 배열이고 $ tm은 Unix 타임 스탬프의 배열입니다. 두 배열은 동일한 수의 행을 일관성있게 유지합니다. array_combine 이후에 $ cls1은 이전 두 배열의 유효한 배열을 반환하지만 쿼리에서 작동하지 않는 것 같습니다.
도와 주셔서 감사합니다. 나는 아직도 배우고있다.
새 쿼리 문을 포함하도록 스크립트를 편집했습니다. 문제는 이제 오류가 잘못된 인수를 읽는 foreach 문과 함께 발생합니다.
$cls1 = array_combine($quid1, $tm);
$quidx = array_values($quid1);
$quclx = array_values($tm);
//// note to self.. start final query for email write with new id data, likely redundant.
$qumail = "SELECT cal_id, cal_name, cal_time, cal_description FROM webcal_entry WHERE cal_id in (" . implode (',' , $quidx) . ")";
$wemail = mysql_query($qumail);
while ($row = mysql_fetch_array($wemail, MYSQL_NUM)) {
$quname2 = $row[1];
$qtime = $row[2]
$qudesc2 = $row[3];
다음은 전체 스크립트 섹션입니다. 이 모두가 아직 고정되지 않은, 그래서 나는 아직도 그것을 통해 쪼아 해요 :
$cls1 = array_combine($quid1, $tm);
$quidx = array_values($quid1);
$quclx = array_values($tm);
//// note to self.. start final query for email write with new id data, likely redundant.
$qumail = "SELECT cal_id, cal_name, cal_time, cal_description FROM webcal_entry WHERE cal_id in (" . implode (',' , $quidx) . ")";
$wemail = mysql_query($qumail);
while ($row = mysql_fetch_array($wemail, MYSQL_NUM)) {
$quname2 = $row[1];
$qtime = $row[2]
$qudesc2 = $row[3];
}
foreach ($qtime as $key=>$btUx) {
if (strlen($btUx) < 6){
$btUx = '0' . $btUx;
date_default_timezone_set('UTC');
$unixEpoch = strtotime($btUx);
date_default_timezone_set('America/Denver');
$formtime = date("H:i", $unixEpoch);
}
}
foreach ($tm as $key=>$tf) {
$idnotime = 0;
$idnow = (strlen($tf) > 2);
switch($tf) {
case $idnow:
$repmlnow = sprintf("Event: %s \nTime: %s \nDesc: %s \n\n", $row[1], $formtime, $row[3]);
break;
case $idnotime:
$repmlnotm = sprintf("Event: %s \nDesc: %s \n\n", $row[1], $row[3]);
break;
}
}
/////===================== send mail...
다른 의견이 존재하지 않는 한이 내 마지막 편집이다.
$cls1 = array_combine($quid1, $tm);
$quidx = array_values($quid1);
$quclx = array_values($tm);
$qumail = "SELECT cal_id, cal_name, cal_time, cal_description FROM webcal_entry WHERE cal_id in (" . implode (',' , $quidx) . ")";
$wemail = mysql_query($qumail);
while ($row = mysql_fetch_array($wemail, MYSQL_NUM)) {
$quname2 = $row[1];
$qtime = $row[2];
$qudesc2 = $row[3];
}
if(strlen($qtime) < 6){
$btUx = '0' . $qtime;
date_default_timezone_set('UTC');
$unixEpoch = strtotime($btUx);
date_default_timezone_set('America/Denver');
$formtime = date("H:i", $unixEpoch);
}elseif(strlen($qtime) > 5){
date_default_timezone_set('UTC');
$unixEpoch = strtotime($value);
date_default_timezone_set('America/Denver');
$formtime = date("H:i", $unixEpoch);
}
foreach ($quclx as $key=>$tf) {
$idnotime = 0;
$idnow = (strlen($tf) > 2);
switch($tf) {
case $idnow:
$repmlnow = sprintf("Event: %s \nTime: %s \nDesc: %s \n\n", $quname2, $formtime, $qudesc2);
break;
case $idnotime:
$repmlnotm = sprintf("Event: %s \nDesc: %s \n\n", $quname2, $qudesc2);
break;
}
}
/////===================== send mail...
감사합니다 habibillah,이 확실히 어딘가에 도착하지만 꽤 골드 반지 아니에요. 몇 가지 데이터가 전달되고 있는데이 문제가 쿼리 문제를 해결했을 수도 있지만 이제는 foreach 문에 오류가 있습니다. 위의 스크립트를 몇 번 수정하고 거기에서 더 많은 도움을 받으려고합니다. 다시 한 번 감사드립니다! – defacto7
또한 implode 문에 대해서도 읽어 볼 것입니다. 그건 나에게 처음이다. – defacto7