2017-02-26 21 views
-1

質問があります。私はGoogleマップを使ってプロジェクトを作る。私はデータベースに30のデータを入れました。マーカーを地図上に表示したいときは、10個のデータだけを読み込みます。また、カテゴリに基づいてデータをフィルタリングする場合、データは10個しか読み込まれません。私は私のブラウザ(mozillaを使用して私の)のインスピレーション要素を確認し、このエラーが見つかりました: "SyntaxError:終端文字列リテラル"それはどういう意味ですか?データベースからマーカー10個のみをロード

はここでウェブ上のマーカーに&地図を表示するために私のコードです:

<?php 
 
$title = "Peta Masjid"; 
 
include_once "header.php"; 
 
?> 
 

 
     <div class="row"> 
 

 
     <div class="col-md-12"> 
 
      <div class="panel panel-info panel-dashboard centered"> 
 
      <div class="panel-heading"> 
 
       <h2 class="panel-title"><strong> <?php echo $title ?> </strong></h2> 
 
      </div> 
 
      <div class="panel-body"> 
 
       <div id="map" style="width:100%;height:380px;"></div> 
 

 
\t \t \t \t 
 
\t \t \t 
 

 

 
\t 
 
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzaSyAbXF62gVyhJOVkRiTHcVp_BkjPYDQfH5w"> 
 
</script> 
 
\t 
 
<script type="text/javascript"> 
 
    function initialize() { 
 
    
 
    var mapOptions = { 
 
     zoom: 12, 
 
     center: new google.maps.LatLng(-6.966667, 110.416664), 
 
     disableDefaultUI: true 
 
    }; 
 

 
    var mapElement = document.getElementById('map'); 
 

 
    var map = new google.maps.Map(mapElement, mapOptions); 
 

 
    setMarkers(map, officeLocations); 
 

 
} 
 

 
var officeLocations = [ 
 
<?php 
 
$data = file_get_contents('http://localhost:8082/sig/getdata.php'); 
 
       $no=1; 
 
       if(json_decode($data,true)){ 
 
        $obj = json_decode($data); 
 
        foreach($obj->results as $item){ 
 
?> 
 
['<?php echo $item->id_masjid ?>','<?php echo $item->nama_masjid ?>','<?php echo $item->alamat ?>', '<?php echo $item->longitude ?>', '<?php echo $item->latitude ?>','<?php echo $item->gambar ?>'], 
 
<?php 
 
} 
 
} 
 
?>  
 
]; 
 

 
function setMarkers(map, locations) 
 
{ 
 
    var globalPin = 'img/tanda.png'; 
 

 
    for (var i = 0; i < locations.length; i++) { 
 
     
 
     var office = locations[i]; 
 
     var myLatLng = new google.maps.LatLng(office[4], office[3]); 
 
     var infowindow = new google.maps.InfoWindow({content: contentString}); 
 
      
 
     var contentString = 
 
\t \t \t '<div id="content">'+ 
 
      '<div id="siteNotice">'+ 
 
      '</div>'+ 
 
      '<h5 id="firstHeading" class="firstHeading">'+ office[1] + '</h5>'+ 
 
      '<div id="bodyContent">'+ 
 
\t \t \t '<p>' + office[2] + '</p>' + 
 
\t \t \t '<p><img src="img/'+office[5]+'" style="width:50%;height:190px;" /></p>' + 
 
\t \t \t '<p><a href=detail.php?id='+office[0]+'>Info Detail</p></a>'+ 
 
      '</div>'+ 
 
      '</div>'; 
 

 
     var marker = new google.maps.Marker({ 
 
      position: myLatLng, 
 
      map: map, 
 
      title: office[1], 
 
      icon:'img/tanda.png' 
 
     }); 
 

 
     google.maps.event.addListener(marker, 'click', getInfoCallback(map, contentString)); 
 
    } 
 
} 
 

 
function getInfoCallback(map, content) { 
 
    var infowindow = new google.maps.InfoWindow({content: content}); 
 
    return function() { 
 
      infowindow.setContent(content); 
 
      infowindow.open(map, this); 
 
     }; 
 
} 
 

 
initialize(); 
 
</script> 
 

 

 

 
      </div> 
 
      </div></div></div> 
 
     </div> 
 
    </div> 
 
<?php include_once "footer.php"; ?>

をそしてここでのコードは、データベースからデータを取得するためです(getdata.php)

<?php 
 
include "connection.php"; 
 
$Q = mysql_query("SELECT * FROM mosques WHERE category = 'Mushola'")or die(mysql_error()); 
 
if($Q){ 
 
$posts = array(); 
 
     if(mysql_num_rows($Q)) 
 
     { 
 
      while($post = mysql_fetch_assoc($Q)){ 
 
        $posts[] = $post; 
 
      } 
 
     } 
 
     $data = json_encode(array('results'=>$posts)); 
 
     echo $data;      
 
} 
 

 
?>

+1

ない場合のみ実行よりもループまたはANを破るあなたのwhileループでカウンタを使用することができます、** _ please_ mysql_ *関数を使わないでください**。彼らは古くて壊れていて、PHP 5.5では廃止されました(セキュリティアップデートをもはや受け取っていなくなっています)、PHP 7では完全に削除されました。['PDO'](https://secure.php.net/manual /en/book.pdo.php)または['mysqli_ *'](https://secure.php.net/manual/en/book.mysqli.php)を_prepared statements_と_parameter binding_で置き換えてください。詳細については、http://stackoverflow.com/q/12859942/354577を参照してください。 – Chris

+0

役立つ可能性があります:[SyntaxError:unterminated string literal](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Unterminated_string_literal) – Mikey

答えて

-1

あなたが10までカウントし、文場合は、新しいコードを書いている場合は、カウンタが10

-Aron DC

関連する問題