2017-07-19 11 views
0

私は広告を表示している検索ページを作成しました。ユーザーが登録ボタンをクリックすると、私はコースIDとそのメールを取得したい(後でフォームに送信される)。問題はユーザーが登録をクリックしたときで、最初の広告ではすべての広告のすべてのメールがコンソールともちろんid私は未定義になる。すべての残りの広告のために私は全く何も得られない。ここi have provided an image for better understanding私は広告を表示する検索ページを作成しましたが、残っている広告作品のうち最も上にある広告作品だけは表示しません。画像とコードが含まれています

コードです:下のあなたの例のコードで

<?php session_start(); ?> 
<!DOCTYPE html> 
<html lang="en"> 

<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="css/bootstrap/css/bootstrap.min.css"> 
    <link rel="stylesheet" href="css/font-awesome/css/font-awesome.min.css"> 
    <link rel="stylesheet" href="css/basic.css"> 
    <script src="js/jQuery/jquery.min.js"></script> 
    <script src="css/bootstrap/js/bootstrap.min.js"></script> 

    <script src="https://cdn.jsdelivr.net/jquery.validation/1.15.1/jquery.validate.min.js"></script> 
    <script src="Forms/form-validation.js"></script> 
</head> 
<body> 
<?php 
require 'connection.php'; 
include_once 'utlities.php'; 
$userEmail=$_SESSION['user']; 
$form_string = 'd'; 

$sqlQuery ='SELECT * FROM `course` WHERE `course_title` LIKE "%'.$form_string.'%" OR `user_teacher` in (SELECT user_teacher FROM teacher where email in (SELECT email from person where fname like "%'.$form_string.'%" OR lname like "%'.$form_string.'%"));'; 
$queryExe=mysqli_query($connection,$sqlQuery); 
$row = mysqli_fetch_assoc($queryExe) 

?> 
<div class="panel-body"> 
        <?php while($row = mysqli_fetch_assoc($queryExe)) { ?> 
        <article class="row panel panel-default"> 

         <div class="col-xs-6 col-xs-offset-3 col-sm-3 col-sm-offset-0"> 
          <a href="#" title="Lorem ipsum" class="thumbnail"><img src="images/profile-default.jpg" alt="Lorem ipsum" /></a> 
         </div> 
         <div class="col-xs-12 col-sm-3"> 
          <ul class="list-group"> 
           <li class="list-group-item"> 
            <i class="glyphicon glyphicon-book"></i> 
            <span> 
             <?php 
              echo " ".$row["description"]; 
             ?> 
            </span> 
            </li> 
            <li class="list-group-item"> 
            <?php 

            echo "<span id=\"CourseID-".$row['courseid']." \" >"; 
            echo " Course ID ".$row["courseid"]; 
            echo "</span>"; 

            ?> 
            </li> 
           <li class="list-group-item"> 
            <i class="glyphicon glyphicon-tags"></i> 
            <span> 
             <?php echo" Rs. ".$row["fees"]; 
             ?> 
            </span> 
           </li> 
          </ul> 
         </div> 
         <div class="col-xs-12 col-sm-6"> 
          <h3> 
           <a href="#" title=""> 
            <?php 
             $sql_profile = 
              "SELECT `fname`,`lname`,`email` 
               FROM `person` 
               WHERE `email`=(
                SELECT `email` 
                FROM `teacher` 
                WHERE `user_teacher`=".$row["user_teacher"]." 
                ); 
               "; 

             $result_sql=mysqli_query($connection,$sql_profile); 
             $tName = mysqli_fetch_assoc($result_sql); 
             echo $tName["fname"]." ".$tName["lname"]; 
             $_SESSION['temail']= $tName["email"]; 
            ?> 
           </a> 
          </h3> 
          <h6><?php echo $tName['email']; ?></h6> 
          <p class="hidden-xs"><?php echo $row["course_title"]; ?></p> 
          <span class="plus"> 
           <a href="#" title="Enroll" class="btn btn-success" id="enrollci" 
            <?php 
            /* if(loggedIn()){ 

             echo 'data-toggle="modal" data-target="#enroll "'; 

            }else{ 

             echo 'data-toggle="modal" data-target="#LOGIN "'; 
            } 
            /**/ 
            ?>> 
            <?php 
            echo "<i class=\"glyphicon glyphicon-plus\" id=\"enroll\" data-id=\"CourseID-".$row["courseid"]." \"></i>"; 
            echo "<span>Enroll</span>"; 
            ?> 
           </a> 
          </span> 
         </div>   
        </article> 
        <?php 
        } 
        ?> 
       </div> 



<script type="text/javascript"> 
    /*$(document).ready(function() { 
     $('#enrollci').click(function() { 
      console.log( $(this).parents('article').find("#CourseID,h6").text()); 
     }); 
    });/**/ 

    $(document).ready(function() { 
    $('#enrollci').click(function() { 
     CourseID = $(this).attr('data-id'); 
     console.log(CourseID); 
     console.log($("#"+CourseID+",h6").text()); 
     }); 
    });/**/ 
</script> 

</body> 
</html> 

答えて

0

、登録]ボタンをクリックすると、同じIDを持つ複数のボタンを持っていると正しく動作するつもりはないセレクタとしてIDを使用しています。 IDは一意でなければなりません。ボタンをクリックすると、そのインスタンスにのみ作用するようにします。

$(document).ready(function() { 
    $('#enrollci').click(function() { 
     CourseID = $(this).attr('data-id'); 
     console.log(CourseID); 
     console.log($("#"+CourseID+",h6").text()); 
    }); 
}); 

は、a.enrollとしてより適切なセレクタを使用し、(http://api.jquery.com/on/参照).onを使用してバインドしよう。この例では、htmlを生成するときにbuttonsクラスにenrollを追加する必要があります。

$(document).on('click','a.enroll', function() { 
    var CourseID = $(this).attr('data-id'); 
    console.log(CourseID); 
    console.log($("#"+CourseID+",h6").text()); 
}); 
関連する問題