Just nu i M3-nätverket
Gå till innehåll

varför bli det dubbelt?


eddie66

Rekommendera Poster

hej

 

jag försöker att visa x antal bilder på min sida, dock så får jag dubbelt av varje bild i tabellen som skapas.

 

tabellen ska visa 4 bilder per rad och sedan skapa en ny rad.

 

just nu så har jag enbart en bild som ska visas men loopen körs och den visar samma bild 2ggr i tabellen.

 

är det någon som vet varför?

 

connection kod

Set Connect = server.createObject("ADODB.Connection")

Connect.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\newsite\data\myworld.mdb;" 

 

sidan som ska visa mina bilder

<html>
<head>
<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
// OBS! ingen radbrytning i texten nedan
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
//slut på område utan radbrytning
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
// End -->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="css/styles.css">
<%
'=request.querystring("plats") enbart test
%>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
</head>
<%
Connect.open
Set RecSet= Server.CreateObject("ADODB.Recordset")
SQL = "SELECT  * From tblbilder, tblplats where SemesterIDRef = " & request.querystring("plats")
RecSet.open SQL, Connect
'request.querystring("plats")
%>
<center>
<body LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
<table width="773" height="434" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><!--#include file="top.inc" --></td>
</tr>
 <tr>
   <td width="77" rowspan="2" class="greyframe">&nbsp;</td> 
  <td width="631" valign="top"> 
  	<table border="0" align="center" cellpadding="10" cellspacing="0">
     <tr>
       <td colspan="4" align="center" class="rubriksvart"><%=recset("plats")%>!</td>
     </tr>
     <td>
	  <%								
		cnt = 0		
		Do until RecSet.EOF
		cnt = cnt + 1
		if cnt = 5 then cnt = 1
		if cnt = 1 then Response.write "<tr>"
		%>
     </td>
           <td>
  			<table width="130" height="100" border="0" cellspacing="0" cellpadding="0" class="imgtabelborder">	                         
					  <tr>			
                           <td align="center" valign="top" background="bild/litegul.jpg">&nbsp;</td>
                        </tr>
                        <tr>
				       <td height="100"><a href="galleristor.asp?ID=<%=recset("ID")%>" target="_blank" onClick="NewWindow(this.href,'name','470','370','no');return false;"><img src="<%=recset("sokvag")%>" border="0"></a></td>				  
				    </tr>
					<tr>
				      <td class="text"><%=recset("bildkommentar")%></td>
					</tr>						
      	      </table>			
	    </td>
       <%					
	if cnt = 4 then 
	Response.Write "</tr>"		
	end if				

	RecSet.MoveNext
	loop
	%>
     </table>			  
</td> 
<td width="77" rowspan="2" class="greyframe">&nbsp;</td>             
   </tr>    
       <tr>
     <td height="30" class="greyframe"><%=sokvag%></td>
 </tr>
</table>
<% 
RecSet.close
set RecSet = nothing
Connect.close
set connect = nothing
%>
</body>
</center>
</html>

 

Länk till kommentar
Dela på andra webbplatser

if cnt = 1 then Response.write "<tr>"

Varför skall det skrivas ut en TR mitt i en tabellcell?

 

Jag kan inte riktigt se hur du gjort i tabellröran så ett tips att att för denna funktion gå över till divvar och css. Då behöver du inte kolla hur många bilder som skrivits ut.

Vad som dock _kan_ vara lite kruxigt är att se till att alla rutor är lika höga över en rad ( om det är någon som frångår den sattta höjden)

 

 

Så här ser då markupen ut:

<div id="images">
<div>
<img src="myimge2.jpg" alt="min bild"/>
<p>bildtext</p>
</div>
<div>
<img src="myimge2.jpg" alt="min bild"/>
<p>bildtext</p>
</div>
<div>
<img src="myimge2.jpg" alt="min bild"/>
<p>bildtext</p>
</div>
<div>
<img src="myimge2.jpg" alt="min bild"/>
<p>bildtext</p>
</div>
...
<div class="clear"> </div>
</div> <!-- stänger #images -->
<div class="clear"> </div>

 

Och cssen kan se ut något så här.

#images {float:left;}
#images div {float:left; width:150px; height: 150px; border: 1px solid #aaa;}
#images div img{ }
#images div p{ font-size: 9px; text-align:center;}
.clear { line-height: 1pt; height: 1pt; visibility: hidden; float:none; clear: both;}

 

[inlägget ändrat 2008-11-17 10:01:12 av Jonas_Bo]

Länk till kommentar
Dela på andra webbplatser

anledningen till TR i cellen är till för att skapa ny rad när jag har kommit till den fjärde bilden. jag vill ha 4 bilder/rad och sen ny rad.

 

jag har lagt upp det så att sidan skriver ut sökvägarna till bilderna, ligger i en databas nämligen.

 

det konstiga med detta är att det funkade innan jag var tvungen att formatera min dator. ;-)

 

men jag tackar för tipset, ska testa din kod o hoppas på det bästa.

 

Länk till kommentar
Dela på andra webbplatser

Ja det kanske fungerade men det är inte enligt kodstandard att ha en TR mitt i en tabellcell utan det måste följa rätt struktur

 

<table>
<tr>
 <td></td>
 <td></td>
 <td></td>
</tr>
<tr>
 <td></td>
 <td></td>
 <td></td>
</tr>
...
</table>

 

 

Jag glömde en sak innan; sätt en fast bredd på #images och lite marginal mellan divvarna;

#images {float: left; width: 650px;}

#images div {float: left; width: 150px;height: 150px; margin: 0 10px 10px 0;}

 

 

Och är du säker på att bilderna inte finns med flera gånger i databasen?

Din loop ser rätt ut.

[inlägget ändrat 2008-11-17 10:30:21 av Jonas_Bo]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...