I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
er det bevidst at du ønsker id4 og id6 to gange? Hvis du blot ønsker at have de fire første i første række, fire næste i næste række og så videre. Så kan du jo bare lave en tæller som holder øje ala: ---- set rs = conn.execute("Select * From din_tabel Order By Id") counter = 0 response.write "<table>" Do While Not rs.EOF if counter = 0 then response.write "<tr>" end if counter = counter+1 response.write "<td>"&rs("id")&"</td>" if counter = 4 then counter = 0 response.write "</tr>" end if rs.MoveNext Loop response.write "</tr></table>"
<% set conn = server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb") set rs = conn.execute("Select * From brugere Order By Id") counter = 0 response.write "<table>" Do While Not rs.EOF if counter = 0 then response.write "<tr>" end if counter = counter+1%> <td><img border="0" src="brugere/<%=rs("brugernavn")%>.jpg" width="92" height="100" style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"></td> <%rs.movenext if counter = 4 then counter = 0 response.write "</tr>" end if rs.MoveNext Loop response.write "</tr></table>"%>
Det burde virke, uanset hvad så burde den selvom tabel strukturen fejler spytte alle billederne ud. For der er ingen betingelse på <td> med billedet i og Den looper til rs er tom
Så hvis der er 16 bør der komme 16 billeder ud Men jeg kan se i koden at når der er et antal som går op i fire så kommer der en </tr> for meget med Så response.write "</tr></table>" bør udskiftes med if counter <> 0 then response.write "</tr></table>" else response.write "</table>" end if
<% set conn = server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb") set rs = conn.execute("Select * From brugere Order By Id") counter = 0 response.write "<table>" Do While Not rs.EOF if counter = 0 then response.write "<tr>" end if counter = counter+1%> <td><img border="0" src="brugere/<%=rs("brugernavn")%>.jpg" width="92" height="100" style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"></td> <%rs.movenext if counter = 4 then counter = 0 response.write "</tr>" end if rs.MoveNext Loop if counter <> 0 then response.write "</tr></table>" else response.write "</table>" end if%>
det var ikke en fejl jeg faldt i søvn ;o) spøg til side Jeg kan altså ikke se nogen fejl Det er et loop som udskriver _alle_ billeder i dit udtræk fra db Derimellem indsætter den på nogle betingelser <tr> og </tr> Men den bør udskrive det hele og jeg kan desværre ikke se ud af koden hvorfor den ikke gør det
<% set conn = server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb") set rs = conn.execute("Select * From brugere Order By Id") counter = 0 response.write "<table>" Do While Not rs.EOF if counter = 0 then response.write "<tr>" end if counter = counter+1%> <td><img border="0" src="brugere/<%=rs("brugernavn")%>.jpg" width="92" height="100" style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"></td> <%rs.movenext if counter = 4 then counter = 0 response.write "</tr>" end if rs.MoveNext Loop if counter <> 0 then response.write "</tr></table>" else response.write "</table>" end if%> <% Conn.Close Set Conn = Nothing %>
er du sikker på du har flere records? Lyder som et dumt spørgsmål ved jeg godt Men prøv sådan her som jo egentlig er det samme som ovenstående i princippet --- <% set conn = server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb") set rs = conn.execute("Select * From brugere Order By Id") Do While Not rs.EOF %> <img border="0" src="brugere/<%=rs("brugernavn")%>.jpg" width="92" height="100" style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"> <% Conn.Close Set Conn = Nothing %> --
hov der fik jeg fjernet loopet sådan her --- <% set conn = server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb") set rs = conn.execute("Select * From brugere Order By Id") Do While Not rs.EOF %> <img border="0" src="brugere/<%=rs("brugernavn")%>.jpg" width="92" height="100" style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"> <% rs.movenext loop Conn.Close Set Conn = Nothing %>
Ok har lige luret i kilden På min skærm står der fire billeder øverst og fire neders, og det uden at de er i en table Så prøv nøjes med blot at tælle --- <% set conn = server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb") set rs = conn.execute("Select * From brugere Order By Id") antal = 6 Do While Not rs.EOF And antal > 0 %> <img border="0" src="brugere/<%=rs("brugernavn")%>.jpg" width="92" height="100" style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"> <% antal = antal - 1 rs.movenext loop Conn.Close Set Conn = Nothing %> --- Så burde du kunne styre det den vej
altså , som jeg forstod dig oprindeligt så ønskede du at have fire i hver række Hvis du også vil styre hvor mange rækker , eller hvis du vil styre x billeder i bredden og y billeder i højden. så er det jo en lidt anden snak Men det ændrer stadig ikke på at jeg ikke fatter hvorfor mit første foreslag ikke skrev dem alle 8 ud
jeg tror ikke det hjælper meget, for hvis jeg har lavet en fejl i det jeg gav dig , så har jeg stirret mig blind på den desværre Det er ikke fordi jeg ikke vil hjælpe Men jeg kan slet ikke gennemskue at det ikke skulle virke - det burde det
- Der er en masse brugere i databasen (antallet er irrelevant) - Alle brugerne (billederne) skal hives ud fra databasen - Udskriften (billederne) skal deles op, så der er 4 brugere per række..
antal_per_raekke = 4 ' antallet af brugere per række
for brugernavn = 0 to ubound(rs) ' svarer til: do while not rs.eof if brugernavn mod antal_per_raekke = 0 then response.write "<br>" end if %> <img border="0" src="brugere/<%=rs(brugernavn)%>.jpg" width="92" height="100" style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"> <% next ' svarer til: rs.movenext %>
<% set conn = server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb") set rs = conn.execute("Select * From brugere")
antal_per_raekke = 4 ' antallet af brugere per række
for brugernavn = 0 to ubound(rs) ' svarer til: do while not rs.eof if brugernavn mod antal_per_raekke = 0 then response.write "<br>" end if %> <img border="0" src="brugere/<%=rs(brugernavn)%>.jpg" width="92" height="100" style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"> <% next ' svarer til: rs.movenext %>
Du kan ikke blande min kode, og din kode.. så går det ikke :-) Jeg lavede array-eksemplet, fordi jeg ikke gad at oprette en database, og fylde den med brugere :-)
prøv med:
set conn = server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb") set rs = conn.execute("Select * From brugere")
antal_per_raekke = 4 ' antallet af brugere per række dim i i = 0
do while not rs.eof i = i + 1 if i mod antal_per_raekke = 0 then response.write "<br>" end if %> <img border="0" src="brugere/<%=rs("brugernavn")%>.jpg" width="92" height="100" style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"> <%
rs.movenext loop
rs.close set rs = nothing
Conn.Close Set Conn = Nothing
%>
Det kan godt være, at linien "i = i + 1" skal stå EFTER IF-sætningen, så det ser sådan ud:
if i mod antal_per_raekke = 0 then response.write "<br>" end if i = i + 1
Jeg har oprettet et ekstra felt, kaldet "billede". Det er af typen "Ja/Nej". Der kan du krydse af, om en bruger har et billede eller ej.
Hvis du ikke vil bruge et ekstra felt ("billede"), kan du f.eks. teste/check om billedet faktisk eksisterer.. men det kræver at du har adgang til FileSystemObject.. Har du det?
<table> <tr> <% set conn = server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb") set rs = conn.execute("Select * From brugere")
antal_per_raekke = 4 ' antallet af brugere per række
do while not rs.eof
if i mod antal_per_raekke = 0 and i > 0 then response.write "</tr><tr>" end if i = i + 1
billede = "intet_billede" ' hvis der ikke er noget billede, hentes "intet_billede" (dvs, "intet_billede.jpg") if rs("billede") = true then billede = rs("brugernavn") %> <td><img border="0" src="brugere/<%=billede%>.jpg" width="92" height="100" style="border-style: solid; border-width: 1px;padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"><center><b><%=rs("brugernavn")%></b></center></td> <% rs.movenext loop
rs.close set rs = nothing
conn.close set conn = nothing %> </tr> </table>
/theSurfer
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.