Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med rand()

Postades av 2004-01-13 10:49:33 - Tyrone Fröberg, i forum asp - allmänt, Tråden har 1 Kommentarer och lästs av 469 personer

Hej!
Har följande kod från en färdig sida se ex på www.plotter.nu/hot/
<code>
<!--#include file="Connections/connDUpics.asp" -->

<%
Dim rsRandPic
Dim rsRandPic_numRows
Dim strSql
If Request.QueryString("iPic") <> "" Then
strSql = "SELECT * FROM PICTURES WHERE PIC_APPROVED = 1 AND PIC_ID > " & Request.QueryString("iPic") & " ORDER BY PIC_ID ASC"
Else
strSql = "SELECT * FROM PICTURES WHERE PIC_APPROVED = 1 ORDER BY PIC_ID ASC"
End If
%>
<%
Set rsRandPic = Server.CreateObject("ADODB.Recordset")
rsRandPic.ActiveConnection = MM_connDUpics_STRING
rsRandPic.Source = strSql
rsRandPic.CursorType = 0
rsRandPic.CursorLocation = 2
rsRandPic.LockType = 1
rsRandPic.Open()

rsRandPic_numRows = 0
%>

<%
If rsRandPic.EOF or rsRandPic.BOF then
Response.Redirect("view.asp")
End If
%>

<%
Dim imgWidth, imgHeight, imgPercent, imgFixWidth, imgFixHeight
imgWidth = rsRandPic.Fields.Item("PIC_WIDTH").Value
imgHeight = rsRandPic.Fields.Item("PIC_HEIGHT").Value
imgFixWidth = 380
imgPercent = (imgFixWidth/imgWidth)
imgFixHeight= (imgHeight*imgPercent)
%>

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
function OpenImage(img){
foto1= new Image();
foto1.src=(img);
Controlla(img);
}
function Controlla(img){
if((foto1.width!=0)&&(foto1.height!=0)){
viewFoto(img);
}
else{
funzione="Controlla('"+img+"')";
intervallo=setTimeout(funzione,20);
}
}
function viewFoto(img){
largh=foto1.width+20;
altez=foto1.height+20;
stringa="width="+largh+",height="+altez;
finestra=window.open(img,"",stringa);
}
// End -->
</script>

<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="1" colspan="2" align="center" bgcolor="#FFFFFF"><img src="assets/_spacer.gif" width="1" height="1"></td>
</tr>
<tr>
<td height="16" align="left" valign="middle" bgcolor="#000000" class="textBold"><font color="#FFFFFF">&nbsp;<%=(rsRandPic.Fields.Item("PIC_NAME").Value)%></font></td>
<td height="16" align="right" bgcolor="#000000" class="textBold"><font color="#FFFFFF">R&ouml;ster</font><font color="#FFFFFF">:
<%=(rsRandPic.Fields.Item("PIC_VOTE_COUNT").Value)%>&nbsp;</font></td>
</tr>
<tr>
<td height="1" colspan="2" align="center" bgcolor="#FFFFFF"><img src="assets/_spacer.gif" width="1" height="1"></td>
</tr>

<tr>
<form name="VOTE" method="post" action="voting.asp">
<td colspan="2" align="center" valign="middle" bgcolor="#FF0000"> <table width="100%" border="0" cellpadding="0" cellspacing="0" background="assets/rate_bar.gif">
<tr align="center" valign="middle">
<input type="hidden" name="PIC_VOTE_VALUE" value="<%=(rsRandPic.Fields.Item("PIC_VOTE_VALUE").Value)%>">
<input type="hidden" name="iPic" value="<%=(rsRandPic.Fields.Item("PIC_ID").Value)%>">
<input type="hidden" name="PIC_VOTE_COUNT" value="<%=(rsRandPic.Fields.Item("PIC_VOTE_COUNT").Value)%>">
<td><b><font color="#FFFFFF">1</font></b></td>
<td><b><font color="#FFFFFF">2</font></b></td>
<td><b><font color="#FFFFFF">3</font></b></td>
<td><b><font color="#FFFFFF">4</font></b></td>
<td><b><font color="#FFFFFF">5</font></b></td>
<td><b><font color="#FFFFFF">6</font></b></td>
<td><b><font color="#FFFFFF">7</font></b></td>
<td><b><font color="#FFFFFF">8</font></b></td>
<td><b><font color="#FFFFFF">9</font></b></td>
<td><b><font color="#FFFFFF">10</font></b></td>
</tr>
<tr align="center" valign="middle">
<td> <input type="radio" name="voteValue" value="1" onclick="this.form.submit()">
</td>
<td> <input type="radio" name="voteValue" value="2" onclick="this.form.submit()">
</td>
<td> <input type="radio" name="voteValue" value="3" onclick="this.form.submit()">
</td>
<td> <input type="radio" name="voteValue" value="4" onclick="this.form.submit()">
</td>
<td> <input name="voteValue" type="radio" onclick="this.form.submit()" value="5" checked>
</td>
<td> <input type="radio" name="voteValue" value="6" onclick="this.form.submit()">
</td>
<td> <input type="radio" name="voteValue" value="7" onclick="this.form.submit()">
</td>
<td> <input type="radio" name="voteValue" value="8" onclick="this.form.submit()">
</td>
<td> <input type="radio" name="voteValue" value="9" onclick="this.form.submit()">
</td>
<td> <input type="radio" name="voteValue" value="10" onclick="this.form.submit()">
</td>
</tr>
</table></td>
</form>
</tr>
<tr>
<td height="1" colspan="2" align="center" bgcolor="#FFFFFF"><img src="assets/_spacer.gif" width="1" height="1"></td>
</tr>
<tr>
<td colspan="2" align="center">
<table border="0" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC">
<tr>
<td align="center" valign="middle" bgcolor="#CCCCCC">')" BORDER="0">" width = "<%= imgFixWidth %>" height = "<%= imgFixHeight %>" alt = "Download <%=(rsRandPic.Fields.Item("PIC_NAME").Value)%> (<%=(rsRandPic.Fields.Item("PIC_WIDTH").Value)%>Wx<%=(rsRandPic.Fields.Item("PIC_HEIGHT").Value)%>H)" border="0" align="absmiddle"></td>
</tr>
</table>
</td>
</tr>
</table>
<%
rsRandPic.Close()
%>

</code>

Här laddas bild med lägsta Id och sen nästa osv.
När Id är slut så går vi vidare till view.asp

Hur skall man skriva kodning (bör väl vara i strSql??) så att det kommer en random istället (tråkigt med samma bild hela tiden som första osv...) och sen så att det loopas istället för att gå till view.asp (här kan man ifs ladda sidan igen..)

tacksam för lite förslag då jag testat mig fram och kört fast totalt.

mvh Tyrone


Svara

Sv: Problem med rand()

Postades av 2004-01-13 13:50:26 - Ulf Nygren

Det du kan göra är att skapa ett slumpnummer som ligger i det intervall som du har PIC_ID i din tabell. Sedan loopa igenom din tabell för att hitta ett matchande PIC_ID. När det har hittats kan du visa bilden med detta PIC_ID.

Något liknande detta:<code><%
imgExists=False

'Ta ut högsta ID från pictures-tabellen
SET MAX=conn.execute("SELECT MAX(PIC_ID) as img FROM pictures WHERE pic_approved = 1")

' Loopa till dess en bild har hittats
DO UNTIL imgExists
'Slumpa fram ett ID mellan 1 och det högsta ID:et i tabellen
Randomize
slump=Int(MAX("img")*Rnd+1)
'Läs in data från pictures-tabellen
SET myImg=conn.execute("SELECT * FROM pictures WHERE pic_approved = 1")
'Stega igenom inlästa bilder
DO UNTIL myImg.EOF
'om PIC_ID är samma som slumpnummer
IF slump=myImg("PIC_ID") THEN

'Här lägger du koden för att visa din bild

imgExists=True 'Markera att bild har hittats (och visats)
Exit Do 'Avbryt inre Do-loopen... den yttre avbryts när usrExists=True
END IF
myImg.MoveNext
Loop
Loop
%></code>
Om du inte vill ha koden för att visa bilden inne i denna loop kan du ju använda värdet i variabeln slump för att plocka ut en bild.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 791
27 960
271 761
5 990
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies