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

varför bli det dubbelt?

Rekommendera Poster

eddie66

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>

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Jonas__B

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]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
eddie66

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.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Jonas__B

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]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...