-2

My code retrieve videos based on user connection speed.

I am getting syntax error unexpected else on my code. i am troubleshooting this for the past few days and had run out of idea on how to solve it..

ajax code

        $.ajax({
          method: "POST",
          url: "viewvideo.php",
          data: {speedMbps: speedMbps,
          video_id: $('[name="video_id"').val()},
          cache: false
        }).done(function( html ) {
            $( "#speed" ).val( html );
    });

viewvideo.php

 if(isset($_POST['video_id']) && isset($_POST['speedMbps'] )){
                    $id = trim($_POST['video_id']);
                    $speed = $_POST['speedMbps'];
                    echo $id;

                    $result = mysqli_query($dbc , "SELECT `video_id`, `video_link` FROM `video480p` WHERE `video_id`='".$id."'");
                    $count = mysqli_num_rows($result);

                    if (($speed < 100) && ($count>0)) {     //if user speed is less than 100 retrieve 480p quailtiy video   

                        //does it exist?
                        //if($count>0){
                            //exists, so fetch it in an associative array
                            $video_480p = mysqli_fetch_assoc($result);
                            //this way you can use the column names to call out its values. 
                            //If you want the link to the video to embed it;
                            echo $video_480p['video_link'];                     
                            }

                        else{
                            //does not exist
                        }

    ?>

                    <video id="video" width="640" height="480" controls autoplay>
                    <source src="<?php echo $video_480p['video_link']; ?>" type="video/mp4">
                    Your browser does not support the video tag.
                    </video>
                    <br />

                    <?php

                    $result2 = mysqli_query($dbc , "SELECT `video_id`, `video_link` FROM `viewvideo` WHERE `video_id`='".$video_id."'");
                    $count2 = mysqli_num_rows($result2);

                    // retrieve original video
                    else (($speed >= 100) && ($count2 >0)) { 
                    //does it exist?
                        //if($count2>0){
                            //exists, so fetch it in an associative array
                            $video_arr = mysqli_fetch_assoc($result2);
                            //this way you can use the column names to call out its values. 
                            //If you want the link to the video to embed it;
                            echo $video_arr['video_link'];                      
                            }

                        else{
                            //does not exist

                        }
                    }

    ?>

                    <video id="video" width="640" height="480" controls autoplay>
                    <source src="<?php echo $video_arr['video_link']; ?>" type="video/mp4">
                    Your browser does not support the video tag.
                    </video>
                    <br />

    <?php
                    }
                mysqli_close($dbc);
    ?>
Mick Jack
  • 550
  • 1
  • 5
  • 21
  • Missed the closing `}` before `else (($speed >= 100) && ($count2 >0)) {`. Also use `elseif` instead of `else` with conditions. – Sougata Bose Feb 02 '16 at 08:06

2 Answers2

1

You put an else statement without if statement before.

I think you need to change :

else (($speed >= 100) && ($count2 >0)) { 
                    //does it exist?
                        //if($count2>0){
                            //exists, so fetch it in an associative array
                            $video_arr = mysqli_fetch_assoc($result2);
                            //this way you can use the column names to call out its values. 
                            //If you want the link to the video to embed it;
                            echo $video_arr['video_link'];                      
                            }

                        else{
                            //does not exist

                        }

By :

    if (($speed >= 100) && ($count2 >0)) { 
                            //does it exist?
                                //if($count2>0){
                                    //exists, so fetch it in an associative array
                                    $video_arr = mysqli_fetch_assoc($result2);
                                    //this way you can use the column names to call out its values. 
                                    //If you want the link to the video to embed it;
                                    echo $video_arr['video_link'];                      
                                    }
else{
                                //does not exist

                            }
Thomas Rollet
  • 1,573
  • 4
  • 19
  • 33
  • this solve the problem.. but i got another problem my embed video give random number instead of the video_link can you help me on this? the output of embed video https://ip address/testNxServer/trynewnew/menu/stream/video/%3Cbr%20/%3E%3Cfont%20size='1'%3E%3Ctable%20class='xdebug-error%20xe-notice'%20dir='ltr'%20border='1'%20cellspacing='0'%20cellpadding='1'%3E%3Ctr%3E%3Cth%20align='left'%20bgcolor='#f57900' colspan= – Mick Jack Feb 02 '16 at 08:19
  • I think you should create a new question about it. This problem don't have relation with the title of this question. – Thomas Rollet Feb 02 '16 at 08:22
1

Your else should be an if and remove the last } before mysqli_close($dbc); ``

// retrieve original video
                    if (($speed >= 100) && ($count2 >0)) { 
                    //does it exist?
                        //if($count2>0){
                            //exists, so fetch it in an associative array
                            $video_arr = mysqli_fetch_assoc($result2);
                            //this way you can use the column names to call out its values. 
                            //If you want the link to the video to embed it;
                            echo $video_arr['video_link'];                      
                    }
jameshwart lopez
  • 2,993
  • 6
  • 35
  • 65