데이터 변경 데이터를 데이터베이스에 저장하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/1231001

  •  22-07-2019
  •  | 
  •  

문제

인터넷 라디오 스트림에서 현재 연주하는 타이틀과 아티스트를 가져 오는 응용 프로그램을 만들었고이 페이지에 일반 텍스트로 표시됩니다.

http://thelisthq.net/z1035.php

출력은 단순히 PHP 'echo $ 변수'명령이지만 $ 변수는 지속적으로 변경되므로 각 서로 다른 값을 데이터베이스에 저장하는 방법은 무엇입니까? 끝은 일정 기간 동안 재생되는 모든 노래의 목록을 유지하려고합니다.

도움이 되었습니까?

해결책

x 분 정도마다 실행되도록 PHP 스크립트를 설정하고 결과를 반영하는 대신 현재 재생 된 노래에 대해 가장 최근의 데이터베이스 항목을 확인하고 다른 경우 새 레코드를 추가하십시오.

먼저 새 테이블을 설정하는 일부 SQL :

CREATE TABLE SongList (
    ID int primary key auto_increment not null,
    Song char(255) not null,
    PlayTime Datetime not null
);

그런 다음 PHP 스크립트를 수정하여 화면에 반영되는 대신 데이터베이스에 레코드를 삽입하십시오.

<?php
$song = get_song(); //not sure how you're doing that
$sql = "SELECT Song FROM SongList ORDER BY PlayTime DESC LIMIT 1";
list($prevSong) = mysql_fetch_row(mysql_query($sql));
if ($song !== $prevSong) {
    $sql = "INSERT INTO SongList (Song, PlayTime) VALUES ('$song', NOW())";
    mysql_query($sql);
}
?>

실행할 예정된 작업 또는 크론 작업을 설정 php -f z1035.php 매 순간.

노래의 전체 목록을 보려면 새 PHP 파일을 만듭니다. station_history.php

<html>
<body>
<pre>
<?php
$sql = "SELECT Song, PlayTime FROM SongList LIMIT 20"; // Just the last 20 songs
$result = mysql_query($sql);
while(list($song, $playtime) = mysql_fetch_row($result)) {
    echo "[$playtime] $song\n";
}
?>
</pre>
</body>
</html>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top