vill hämta dom här värdena: Jag föreslår en annan datastruktur: Testar din kod men får det här felmeddelandet: Tyvärr stödjer inte MySQL underfråger. Men i detta fall är det inte någon katastorf.loop
veckanspoll.fraga
veckanspoll.alt1
veckanspoll.alt2
veckanspoll.alt3
veckanspoll.alt4
veckanspoll.alt5
veckanspoll.alt6
veckanspoll.alt7
veckanspoll.alt8
veckanspoll.alt9
veckanspoll.alt10
poll.valtsvar
count(poll.valtsvar) as rakna 'antal av det svar som loopas
group by valtsvar
och skriva ut det såhär:
<b>Veckanspoll.fraga</b><br><br>
veckanspoll.alt1<br>
<table class="varannan"><tr><td width="rakna/poll.valtsvar"></td></tr></table><br>
veckanspoll.alt2<br>
<table class="varannan"><tr><td width="rakna/poll.valtsvar"></td></tr></table><br>
veckanspoll.alt3<br>
<table class="varannan"><tr><td width="rakna/poll.valtsvar"></td></tr></table><br>
veckanspoll.alt4<br>
<table class="varannan"><tr><td width="rakna/poll.valtsvar"></td></tr></table><br>
veckanspoll.alt5<br>
<table class="varannan"><tr><td width="rakna/poll.valtsvar"></td></tr></table><br>
veckanspoll.alt6<br>
<table class="varannan"><tr><td width="rakna/poll.valtsvar"></td></tr></table><br>
veckanspoll.alt7<br>
<table class="varannan"><tr><td width="rakna/poll.valtsvar"></td></tr></table><br>
veckanspoll.alt8<br>
<table class="varannan"><tr><td width="rakna/poll.valtsvar"></td></tr></table><br>
veckanspoll.alt9<br>
<table class="varannan"><tr><td width="rakna/poll.valtsvar"></td></tr></table><br>
veckanspoll.alt10<br>
<table class="varannan"><tr><td width="rakna/poll.valtsvar"></td></tr></table><br>
kan hända att jag är helt ute och cyklar men tror det är nått i den stilen jag ska göra, dte jag inte får att funka är SQLenSv: loop
Tabell: Polls
PollID - Räknare
PollFrom - Datum
PollTo - Datum
PollText - VarChar(255)
Tabell: Alternatives
AlternativeId - Räknare
AlternativePoll - Long -> Polls.PollID
AlternativeText - VarChar(255)
AlternativeAnswers - Long
Ger dig en mer dynamsik lösning.
<code>
<table>
<tr>
<td>
<%
Dim rs
Dim conn
Dim PollID
Dim Votes
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;" & _
"Data Source=" Server.MapPath("db1.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT *, (SELECT Sum(Alternatives.AlternativeAnswers)" & vbCrLf & _
" FROM Alternatives" & vbCrLf & _
" WHERE Alternatives.AlternativePoll=Polls.PollId) As Votes" & vbCrLf & _
"FROM Polls" & vbCrLf & _
"WHERE Date Between PollFrom AND PollTo", conn
If rs.EOF Then
Respons.Write "Ther is no poll for today."
Else
PollID = rs("PollID")
Votes = rs("Votes") * 25 'Maximal bredd
Respons.Write Server.HTMLEncode(rs("PollText"))
%>
</td>
</tr>
<tr>
<td>
<%
rs.Close
rs.Open "SELECT *" & vbCrLf & _
"FROM Alternatives" & vbCrLf & _
"WHERE AlternativePoll = " & PollID, conn
Do Until rs.EOF
%>
"><%=Server.HTMLEncode(rs("PollText"))%><br>
<table class="varannan"><tr><td width="<%=Votes\rs("AlternativeAnswers")%>"></td></tr></table><br>
<%
rs.MoveNext
Loop
End If
rs.Close
conn.Close
%>
</td>
</tr>
</table>
</code>Sv: loop
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
ODBC-drivrutinen stöder inte de begärda egenskaperna.
../jox/ext.asp, line 20
rad 20:
<code>
rs.Open "SELECT *, (SELECT Sum(Alternatives.AlternativeAnswers)" & vbCrLf & _
</code>
såhär ser hela koden ut efter att jag modifierat den lite:
<code>
<table>
<tr>
<td>
<%
Dim PollID
Dim Votes
rs.Open "SELECT *, (SELECT Sum(Alternatives.AlternativeAnswers)" & vbCrLf & _
" FROM Alternatives" & vbCrLf & _
" WHERE Alternatives.AlternativePoll=Polls.PollId) As Votes" & vbCrLf & _
"FROM Polls" & vbCrLf & _
"WHERE Date Between PollFrom AND PollTo", connect
If rs.EOF Then
Respons.Write "Det är ingen poll idag."
Else
PollID = rs("PollID")
Votes = rs("Votes") * 25 'Maximal bredd
Respons.Write Server.HTMLEncode(rs("PollText"))
%>
</td>
</tr>
<tr>
<td>
<%
rs.Close
SQL = "SELECT * FROM Alternatives WHERE AlternativePoll = " & PollID
rs.Open SQL, Connect
Do Until rs.EOF
%>
"><%=Server.HTMLEncode(rs("PollText"))%><br>
<table class="varannan"><tr><td width="<%=Votes\rs("AlternativeAnswers")%>"></td></tr></table><br>
<%
rs.MoveNext
Loop
End If
rs.Close
%>
</td>
</tr>
</table>
</code>
är inte säker på om jag gjort rätt med tabellerna heller... använder en mySQL databas
Tabell: Polls
PollID - Räknare <-- inga problem
PollFrom - Datum <-- inga problem
PollTo - Datum <-- inga problem
PollText - VarChar(255) <-- inga problem
Tabell: Alternatives
AlternativeId - Räknare <-- inga problem
AlternativePoll - Long -> Polls.PollID <-- förstod jag inte riktigt....
AlternativeText - VarChar(255) <-- inga problem
AlternativeAnswers - Long <-- Vad är long i mySQL? Testat med integer och bigintSv: loop
Denna kod kanske för dig närmare en lösning:
<code>
<table>
<tr>
<td>
<%
Dim PollID
Dim Votes
rs.Open "SELECT *" & vbCrLf & _
"FROM Polls" & vbCrLf & _
"WHERE CURDATE() >= PollFrom AND CURDATE() <= PollTo", connect
If rs.EOF Then
Respons.Write "Det är ingen poll idag."
Else
PollID = rs("PollID")
Respons.Write Server.HTMLEncode(rs("PollText"))
rs.Close
rs.Open "SELECT Sum(AlternativeAnswers) As Votes" & vbCrLf & _
"FROM Alternatives" & vbCrLf & _
"WHERE AlternativePoll=" & PollID, connect
Votes = rs("Votes") * 25
rs.Close
%>
</td>
</tr>
<tr>
<td>
<%
rs.Open "SELECT *" & vbCrLf & _
"FROM Alternatives" & vbCrLf & _
"WHERE AlternativePoll = " & PollID , Connect
Do Until rs.EOF
%>
"><%=Server.HTMLEncode(rs("PollText"))%><br>
<table class="varannan"><tr><td width="<%=Votes\rs("AlternativeAnswers")%>"></td></tr></table><br>
<%
rs.MoveNext
Loop
End If
rs.Close
%>
</td>
</tr>
</table>
</code>