찾다

 >  Q&A  >  본문

PHP 스크립트를 변환하여 CSV 파일을 읽고 에코를 여러 번 반환합니다.

<p>저는 CSV 파일을 읽고 시간과 날짜를 기준으로 웹사이트에 결과 라디오 일정을 게시하는 PHP 스크립트를 작성했습니다. 그러나 두 번 출시될 것으로 보입니다. <br /><br />다음은 스크립트 내용입니다:</p><p><br /></p> <pre class="brush:php;toolbar:false;"><?php // 1단계: 'data.csv'를 CSV 파일의 경로로 바꿉니다. $csvFile = '일정.csv'; // 2단계: CSV를 읽고 해당 내용을 배열에 저장합니다. if (($handle = fopen($csvFile, 'r')) !== false) { $csv데이터 = []; while (($data = fgetcsv($handle)) !== false) { $csvData[] = $데이터; } fclose($handle); } 또 다른 { die("CSV 파일을 여는 중 오류가 발생했습니다."); } // 3단계: 현재 날짜와 시간 가져오기 $currentDay = date('l'); // l은 날짜의 전체 텍스트 표현을 제공합니다(예: "월요일") $currentHour = date('H'); // H는 24시간 형식으로 시간을 제공합니다(예: 오후 1시는 "13"). // 아래에서 시간 오프셋을 조정합니다. $Hour = $currentHour+1; // 4단계: 현재 날짜와 시간을 기준으로 배열 필터링 $filteredData = []; foreach($csvData를 $row로) { // CSV 파일에 "Day" 열과 "Time" 열이 있다고 가정합니다. $일 = $행[0]; $time = intval($row[1]); $program_name= $행[2]; $program_when= $row[2]; $program_img= $행[4]; // 행이 현재 날짜 및 시간과 일치하는지 확인합니다. if ($day === $currentDay && $Hour >= $time) { $filteredData[] = $행; } } // 5단계: 각 행에 대한 CSS 클래스를 사용하여 필터링된 데이터를 표시합니다. if (count($filteredData) > 0) { foreach($filteredData를 $row로) { echo "<div class='row'>"; echo "<div class='col-5'>"; echo "<img src='$row[4]' 너비='90' 높이='90' 테두리='0'>"; echo "</div>"; echo "<div class='col-7'>"; echo "

$row[2]
$row[3]

"; echo "</div>"; echo "</div>"; } } 또 다른 { echo '사용할 수 없습니다.'; }</pre> <p>이것은 CSV 파일에서 테스트한 데이터입니다. </p> <pre class="brush:php;toolbar:false;">12월 12일 금요일, 오후 1시까지top_mmv.png 금요일 13시,MMV,오후 2시까지top_mmv.png 금요일 14시,MMV,오후 3시까지top_mmv.png 금요일 15시 MMV, 오후 4시까지 top_mmv.png</pre> <p>하지만 금요일 오후 2시가 되면 오후 1시와 오후 2시 행이 모두 게시됩니다. 내가 뭘 잘못했나요? </p>
P粉127901279P粉127901279507일 전612

모든 응답(1)나는 대답할 것이다

  • P粉481815897

    P粉4818158972023-08-07 17:28:40

    데이터 수집 조건을 지정해야 합니다.

    으아아아

    예를 들어 현재 시간은 14시입니다(1시간을 추가하면 조정 가능).

    $시간 >= $time

    으아아아

    어디가 문제인지 알 수 있을 것 같습니다.

    회신하다
    0
  • 취소회신하다