2017-06-11 26 views
0

我想用php使用Bootstrap模式從mysql數據庫提供圖像結果。在Bootstrap模式中服務php圖像搜索結果

圖像的供應,但模式只適用於第一張圖片。

你可以看到它的一個活頁這裏http://www.lostedinburgh.com/home2.php(類型利斯得到一些結果)

我明白,我已經IMG01動態處理多個圖像的結果,但我不確定該怎麼辦這個。

任何幫助非常感謝。

這裏是我的代碼:

while($row=mysqli_fetch_array($result)){ 
$location=$row['location']; 
$year=$row['year']; 
$router=$row['router']; 
$id=$row['id']; 
$tester=$row['tester']; 

echo '<div id="myModal" class="modal">'; 
echo '<span class="close">&times;</span>'; 
echo '<img class="modal-content" id="img01">'; 

echo '<div id="caption"></div>'; 
echo "</div>"; 

echo '<img id="myImg" src="'.$router.'" alt="Trolltunga, Norway" 
width="300" height="200">'; 
} 

這裏是我的CSS:

#myImg { 
border-radius: 5px; 
cursor: pointer; 
transition: 0.3s; 
} 

#myImg:hover {opacity: 0.7;} 

/* The Modal (background) */ 
.modal { 
display: none; /* Hidden by default */ 
position: fixed; /* Stay in place */ 
z-index: 1; /* Sit on top */ 
padding-top: 100px; /* Location of the box */ 
left: 0; 
top: 0; 
width: 100%; /* Full width */ 
height: 100%; /* Full height */ 
overflow: auto; /* Enable scroll if needed */ 
background-color: rgb(0,0,0); /* Fallback color */ 
background-color: rgba(0,0,0,0.9); /* Black w/ opacity */ 
} 

/* Modal Content (image) */ 
.modal-content { 
margin: auto; 
display: block; 
width: 80%; 
max-width: 700px; 
} 

/* Caption of Modal Image */ 
#caption { 
margin: auto; 
display: block; 
width: 80%; 
max-width: 700px; 
text-align: center; 
color: #ccc; 
padding: 10px 0; 
height: 150px; 
} 

/* Add Animation */ 
.modal-content, #caption {  
-webkit-animation-name: zoom; 
-webkit-animation-duration: 0.6s; 
animation-name: zoom; 
animation-duration: 0.6s; 
} 

@-webkit-keyframes zoom { 
from {-webkit-transform:scale(0)} 
to {-webkit-transform:scale(1)} 
} 

@keyframes zoom { 
from {transform:scale(0)} 
to {transform:scale(1)} 
} 

/* The Close Button */ 
.close { 
position: absolute; 
top: 15px; 
right: 35px; 
color: #f1f1f1; 
font-size: 40px; 
font-weight: bold; 
transition: 0.3s; 
} 

.close:hover, 
.close:focus { 
color: #bbb; 
text-decoration: none; 
cursor: pointer; 
} 

/* 100% Image Width on Smaller Screens */ 
@media only screen and (max-width: 700px){ 
.modal-content { 
    width: 100%; 
} 
} 

這裏是我的Javasript

<script> 
var modal = document.getElementById('myModal'); 
var img = document.getElementById('myImg'); 
var modalImg = document.getElementById("img01"); 
var captionText = document.getElementById("caption"); 
img.onclick = function(){ 
modal.style.display = "block"; 
modalImg.src = this.src; 
captionText.innerHTML = this.alt; 
} 

// Get the <span> element that closes the modal 
var span = document.getElementsByClassName("close")[0]; 

// When the user clicks on <span> (x), close the modal 
span.onclick = function() { 
modal.style.display = "none"; 
} 

</script> 

有添加的類來代替IDS的,但問題依然存在。

這裏是我的html:

while($row=mysqli_fetch_array($result)){ 
$location=$row['location']; 
$year=$row['year']; 
$router=$row['router']; 
$id=$row['id']; 
$tester=$row['tester']; 

echo '<div class="myModal" class="modal">'; 
echo '<span class="close">&times;</span>'; 
echo '<img class="modal-content" class="img01">'; 

echo '<div class="caption"></div>'; 
echo "</div>"; 

echo '<img class="myImg" src="'.$router.'" alt="Trolltunga, Norway" 
width="300" height="200">'; 
} 

這裏是我的CSS:

.myImg { 
border-radius: 5px; 
cursor: pointer; 
transition: 0.3s; 
} 

.myImg:hover {opacity: 0.7;} 

/* The Modal (background) */ 
.modal { 
display: none; /* Hidden by default */ 
position: fixed; /* Stay in place */ 
z-index: 1; /* Sit on top */ 
padding-top: 100px; /* Location of the box */ 
left: 0; 
top: 0; 
width: 100%; /* Full width */ 
height: 100%; /* Full height */ 
overflow: auto; /* Enable scroll if needed */ 
background-color: rgb(0,0,0); /* Fallback color */ 
background-color: rgba(0,0,0,0.9); /* Black w/ opacity */ 
} 

/* Modal Content (image) */ 
.modal-content { 
margin: auto; 
display: block; 
width: 80%; 
max-width: 700px; 
} 

/* Caption of Modal Image */ 
.caption { 
margin: auto; 
display: block; 
width: 80%; 
max-width: 700px; 
text-align: center; 
color: #ccc; 
padding: 10px 0; 
height: 150px; 
} 

/* Add Animation */ 
.modal-content, #caption {  
-webkit-animation-name: zoom; 
-webkit-animation-duration: 0.6s; 
animation-name: zoom; 
animation-duration: 0.6s; 
} 

@-webkit-keyframes zoom { 
from {-webkit-transform:scale(0)} 
to {-webkit-transform:scale(1)} 
} 

@keyframes zoom { 
from {transform:scale(0)} 
to {transform:scale(1)} 
} 

/* The Close Button */ 
.close { 
position: absolute; 
top: 15px; 
right: 35px; 
color: #f1f1f1; 
font-size: 40px; 
font-weight: bold; 
transition: 0.3s; 
} 

.close:hover, 
.close:focus { 
color: #bbb; 
text-decoration: none; 
cursor: pointer; 
} 

/* 100% Image Width on Smaller Screens */ 
@media only screen and (max-width: 700px){ 
.modal-content { 
width: 100%; 
} 
} 

這裏是我的javascript:

<script> 
var modal = document.getElementsByClassName('myModal'); 
var img = document.getElementsByClassName('myImg'); 
var modalImg = document.getElementsByClassName("img01"); 
var captionText = document.getElementsByClassName("caption"); 
img.onclick = function(){ 
modal.style.display = "block"; 
modalImg.src = this.src; 
captionText.innerHTML = this.alt; 
} 

// Get the <span> element that closes the modal 
var span = document.getElementsByClassName("close")[0]; 

// When the user clicks on <span> (x), close the modal 
span.onclick = function() { 
modal.style.display = "none"; 
} 

</script> 

回答

0

使用類,而不是IDS爲您的元素。 Ids僅適用於單個元素,這就是爲什麼只有第一個元素正在工作。

+0

謝謝。 Javascript是否也應該改爲在課堂上操作? – stephen251

+0

@ stephen251是的,它也有 – Aknosis