홈>
사용자가 동영상을 평가할 수 있도록 좋아요/싫어요 시스템을 만들려고합니다. 그러나 한동안 문제가 발생했습니다. 클릭하면 like 버튼이 MySQL 테이블을 업데이트하지 않습니다.
<?php
session_start();
include "config.php";
if( !empty( $_GET['$v_id'] ) ){
$vid = $_SESSION['v_id'] = $_GET['$v_id'];
$sql='SELECT video_name FROM video WHERE v_id=?';
$stmt=$link->prepare( $sql );
$stmt->bind_param('i', $vid );
$res=$stmt->execute();
if( $res ){
$stmt->store_result();
$stmt->bind_result( $videoname );
$stmt->fetch();
printf('
<video width="70%%" height="70%%" style="background-color:#585858; border: 4px solid darkorange; border-radius:20px;" controls>
<source src="uploads/%s" type="video/mp4" id="vid">
</video>
', $videoname );
}
} else {
exit('missing ID');
}
$likeQuery = mysqli_query($link, "SELECT likes FROM video WHERE v_id='$vid'");
$likeCount = 0;
$func = <<<EOD
<script type="text/javascript">
function like(event){
alert( '$likeCount' = 1 );
}
function dislike(event){
alert( '$likeCount' = -1 );
}
</script>
EOD;
if($likeCount == 1){
mysqli_query($link, "UPDATE video SET likes = likes + 1
WHERE (v_id = '$vid')");} elseif($likeCount == -1){
mysqli_query($link, "UPDATE video SET likes = likes - 1
WHERE (v_id = '$vid')");}
?>
<br>
<a href="#" onclick="like(event)"><img src="imageStoring/like.png" style="height:30px;" /></a>
<img src="imageStoring/dislike.png" style="height:30px;"/>
문제를 일으키는 지 확실하지 않기 때문에 동영상을 표시하는 코드를 추가했습니다.
아래는 mySQL 코드입니다.
CREATE TABLE video(
v_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
video_name VARCHAR(225) NOT NULL,
id INT NOT NULL,
FOREIGN KEY user_id(id)
REFERENCES users(id)
ON DELETE CASCADE,
n_views INT,
likes INT,
dislikes INT,
image_name VARCHAR(225) NOT NILL
);
이전에 사용하여 편집을 시도했습니다
href="<?php echo $_SERVER['PHP_SELF'] ?>"
그러나 계속 '누락 된 ID'를 받고 있습니다.
-
답변 # 1
관련 자료
- Vim의 와일드 카드가 예상대로 작동하지 않습니다 예제에서 바이너리 열을 제거하는 방법은 무엇입니까?
- keras - InceptionV3 모델 미세 조정이 예상대로 작동하지 않음
- ubuntu 18.04 - CLI에서 예상대로 작동하지 않는 정규식 바꾸기
- docker - COPY 명령이 다단계 Dockerfile에서 예상대로 작동하지 않습니다
- exchange server - 검색 사서함 powershell 스크립트가 예상대로 작동하지 않음
- python - 예상대로 작동하지 않는 부정적인 lookbehind
- SQL Server에서 JOIN이있는 UPDATE 문이 예상대로 작동하지 않음
- c# - SQL LOCAL이 작동하지 않는 응용 프로그램 로그인 시스템
- angular - rxjs의 fromEvent가 예상대로 작동하지 않습니다
- java - 내가 예상 한대로 미리 퇴직하지 않는 이유는 무엇입니까?
- FROM 절의 Android Room 하위 쿼리가 예상대로 작동하지 않습니다
- jpa - Java 프로그램에서 최대 절전 모드 페이지 매김이 예상대로 작동하지 않습니다
- regex - oracle sql - regexp_like가 check 제약 조건에서 예상대로 작동하지 않습니다
- Azure Stream Analytics에서 여러 LEFT JOINS가 예상대로 작동하지 않습니다
- Laravel 유효성 검사가 예상대로 작동하지 않았습니다
- servicestack - OrmLite Contains ()가 예상대로 작동하지 않습니다
- minikube - Kubernetes 배포의 DNS가 예상대로 작동하지 않음
- c# - MemoryStream에 쓰기가 예상대로 작동하지 않습니다
- android - BottomSheet의 RecyclerView가 예상대로 작동하지 않습니다
- javascript - jQuery 클릭 이벤트가 예상대로 작동하지 않습니다
관련 질문
- javascript - PHP를 사용하여 데이터베이스에서 다차원 배열을 가져 오는 중 오류 발생
- php - MYSQL의 테이블 쿼리에서 str_replace 사용
- javascript - WooCommerce 긴 설명 중첩 탭
- html - PHP를 사용하여 이미지 업로드 및 검색
- php - 고유 키를 생성하고 작동하지 않는 데이터베이스에 저장
- php - mysql 값을 열로 변환
- javascript - PHP에서 별도의 페이지로 탐색
- javascript - PHP의 에코에서 responseText를 얻는 방법
- php - 32 행에서 ssssii 이해
- php - mysql 쿼리 - 날짜별로 그룹화 된 한 행에 여러 행 결합
좋아요 버튼을 클릭하면 이미 클라이언트 브라우저에로드 된 자바 스크립트를 통해 발생합니다.
PHP 구문 분석은 서버 측에서 클라이언트 브라우저에 도달하기 전에 발생합니다.
필요한 등록 된 사용자로부터 유효한 요청을 수신하기 위해 PHP 서버에 경로가 있어야합니다.
"vote"매개 변수가 정수 값인 경우
해당 경로의 PHP 측에서 매개 변수 값을 구문 분석하고 테이블에 연결 한 다음 동영상의 총 투표를 업데이트하고 성공 상태를 반환합니다.
자바 스크립트의 프론트 엔드에서 코드를 다음과 같이 변경하십시오.
업 보트 및 다운 보트 버튼을 각각의 예로 교체