Popolamento di una tabella html a 2 colonne da database

Nemesi

Nuovo Utente
5 Apr 2005
2
0
0
premetto che sono agli inizi con asp e che uso Dreamweaver MX 2004.

Dunque, io vorrei popolare una tabella in questo modo:

|----------|-----------|
| record1 | record 2 |
|----------|-----------|

Per un totale di 8 record (quindi 4 righe della mia tabella).

Ho utilizzato il comportamento di area ripetuta di dreamweaver con la seguente modifica:

<table>
<%
While ((Repeat1__numRows <> 0) AND (NOT MioRS.EOF))
%>
<tr>
<%
If (NOT mioRS.EOF) Then
%>
<td>
<% If ((mioRS.Fields.Item("campo").Value) <> "") Then %>
<img src="<%=(mioRS.Fields.Item("campo").Value)%>">
</td>
<% End If %>
<%End If%>
<%
If (NOT mioRS.EOF) Then
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
mioRS.MoveNext()
%>
<td>
<% If ((mioRS.Fields.Item("campo").Value) <> "") Then %>
<img src="<%=(mioRS.Fields.Item("campo").Value)%>">
</td>
<% End If%>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
mioRS.MoveNext()
Wend
%>
</table>

Ho poi usato i comportamenti di dreamwever per visualizzare solo gli 8 record e ho messo una barra di navigazione recordset.
Ho fatto una prova con 13 record.
Al primo giro è tutto ok poi, quando vado a visualizzare gli altri record con il link avanti ho il messaggio di errore:"Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente"
Se i record sono pari ritorna tutto ok.
Per questo motivo ho inserito quello che credevo fosse un controllo arrivo alla fine del record (ma evidentemente così non è), nel qualcaso non mi inserisce la colonna TD.

Come devo correggere?

Grazie mille ! :)
 

Nemesi

Nuovo Utente
5 Apr 2005
2
0
0
Mi dò un'autorisposta

Nel qualcaso qualcuno avesse dovuto avere un problema simile posto la soluzione che ho trovato io:

- Innanzitutto non badare agli errori di codice dell'altro post :)

- Considerare che la soluzione da me trovata è quella di un novizio alle prime armi con ASP e che sicuramente ci sarà qualcosa di inutile, sbagliato e/o formalmente scorretto (però funziona).

- Consirerare che il codice che segue è una modifica a quello generato dai comportamenti server di Macromedia Dreamweaver MX e che quindi non funzionerà senza il codice autogenerato dal programma in testa alla pagina.

- La pagina utilizza codice VBScript.

Il problema consisteva nel popolare una tabella html, formata da due colonne, con i dati estratti da un recordset uno per ogni colonna secondo lo schema che segue:

td td
|------------------------|------------------------|
tr | Valore Campo1 Record1 | Valore Campo1 Record2 |
|------------------------|------------------------|

utilizzando e modificando il comportamento area ripetuta di DW.

Ho proceduto nella maniera che segue:

1) Ho creato la tabella (formata da una riga e due colonne)

2) Ho creato il RS

3) Ho inserito il campo interessato all'interno delle due celle della mia tabella

4) Ho applicato il comportamento di area ripetuta ( visualizzazione di 10 record alla volta) di DW alla riga della tabella

Ora dovrei trovarmi nella seguente situazione:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/mia_connessione.asp" -->
<%
Dim Mio_Recordset
Dim Mio_Recordset_numRows

Set Mio_Recordset = Server.CreateObject("ADODB.Recordset")
Mio_Recordset.ActiveConnection = MM_mia_connessione_STRING
Mio_Recordset.Source = "SELECT * FROM mia_tabella_db"
Mio_Recordset.CursorType = 0
Mio_Recordset.CursorLocation = 2
Mio_Recordset.LockType = 1
Mio_Recordset.Open()

Mio_Recordset_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = 10
Repeat1__index = 0
Mio_Recordset_numRows = Mio_Recordset_numRows + Repeat1__numRows
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
</head>

<body>
<table>
<%
While ((Repeat1__numRows <> 0) AND (NOT Mio_Recordset.EOF))
%>
<tr>
<td><%=(Mio_Recordset.Fields.Item("mio_campo").Value)%></td>
<td><%=(Mio_Recordset.Fields.Item("mio_campo").Value)%></td>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
Mio_Recordset.MoveNext()
Wend
%>

</table>
</body>
</html>
<%
Mio_Recordset.Close()
Set Mio_Recordset = Nothing
%>

A questo punto mi ritrovo con una tabella che mi genera 10 righe con due colonne all'interno delle quali lo stesso valore del campo.
Non è quello che voglio ottenere, io voglio che ad ogni colonna il valore del campo sia quello del record sucessivo.

Ho ragionato nel seguente modo: invece che incrementare il valore della riga, ovvero spostarmi al record sucessivo alla fine della TR della mia tabella dovrò farlo alla fine della creazione di ogni TD.
Cioè ogni volta che viene popolata una cella viene incrementato il valore della riga e si passa al record sucessivo, quindi popolo la seconda cella e così via.

A questo punto devo però effettuare un controllo che mi verifichi chenon sia giunto alla fine dei record, altrimenti cercherei di popolare una delle celle con i valori di un campo di un record inestitente e ciò mi creerebbe un'errore (ed è proprio questo che mi succedeva).

A questo punto la mia soluzione :

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/mia_connessione.asp" -->
<%
Dim Mio_Recordset
Dim Mio_Recordset_numRows

Set Mio_Recordset = Server.CreateObject("ADODB.Recordset")
Mio_Recordset.ActiveConnection = MM_mia_connessione_STRING
Mio_Recordset.Source = "SELECT * FROM mia_tabella_db"
Mio_Recordset.CursorType = 0
Mio_Recordset.CursorLocation = 2
Mio_Recordset.LockType = 1
Mio_Recordset.Open()

Mio_Recordset_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = 10
Repeat1__index = 0
Mio_Recordset_numRows = Mio_Recordset_numRows + Repeat1__numRows
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
</head>

<body>
<table>

<%
While ((Repeat1__numRows <> 0) AND (NOT Mio_Recordset.EOF)) ' Inizio ciclo di ripetizione generato da DW
%>
<tr>
<td>
<% If Not Mio_Recordset.EOF Then ' Controllo di non essere giunto alla fine dei record e non creo una cella inutile%>
<%=(Mio_Recordset.Fields.Item("mio_campo").Value)%>
<% 'Se non sono alla fine dei record passo al recor sucessivo
If Not Mio_Recordset.EOF Then
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
Mio_Recordset.MoveNext()
End If
%>
<% End If %>
</td>
<td>
<% If Not Mio_Recordset.EOF Then ' Controllo di non essere giunto alla fine dei record e non creo una cella inutile%>
<%=(Mio_Recordset.Fields.Item("mio_campo").Value)%>
<% 'Se non sono alla fine dei record passo al recor sucessivo
If Not Mio_Recordset.EOF Then
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
Mio_Recordset.MoveNext()
End If
%>
<% End If %>
</td>
</tr>
<% Wend ' Fine ciclo di ripetizione generato da DW%>
</table>
</body>
</html>
<%
Mio_Recordset.Close()
Set Mio_Recordset = Nothing
%>

Spero di essere stato utile a qualcun'altro.

Ciao !
 
Discussioni simili
Autore Titolo Forum Risposte Data
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
M Tempi per popolamento pubblico personalizzato Social Media Marketing 0
V [PHP] Menu a tendina con popolamento dati da un db PHP 6
A chiusura finestra popup e popolamento campo form Javascript 1
M Popolamento di massa da un file con PHP e Mysql PHP 2
B popolamento random MySQL Database 9
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
E Scrivere una data corrente in un pdf PHP 1
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
I Assegnare dati fetch request ad una variabile globale Javascript 0
Shyson Puntare ad una sotto directory WordPress 3
Stex1967 Salvare una immagine che si trova su porta TCP 8080 di altro sito PHP 6
S Selezionare ultimo record di una sotto query MySQL 26
V Query per una somma PHP 2
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
L salvare una immagine elaborata in canvas Javascript 1
L salvare una immagine elaborata in canvas Javascript 1
W visualizzare solo file html e sottocartelle di una cartella PHP 1
W Elenco dei link del file presenti in una cartella PHP 2
R Mettere in sicurezza una comunicazione .NET Framework 0
L Creare una forma geometrica Photoshop 1
G Casella combinata in una query MS Access 4
voldemort Cos'è una SCRL? Che tipo di società è?? Leggi, Normative e Fisco 1
F Funzione Glob - ricerca file contenente una parola PHP 1
felino [EXCEL] Conteggio ore all'interno di una settimana Windows e Software 7
Y cambiare sfondo di una pagina Javascript 1
Y Vorrei selezionare un colore di sfondo per una pagina web Javascript 0
S Apertura in una nuova pagina PHP 6
S impostare un testo e una img nella stessa riga con jsPDF Javascript 0
F Prendere contenuti da una tabella PHP 4
B Stampare una porzione della pagina PHP 0
D assegnare risultato di una jquery ad una text Javascript 2
Cosina Cancellare una specifica email da un elenco in un file txt PHP 3
A Dare l'accesso ad una pagina solo ad un utente specifico PHP 0
G Inserire una scritta Java 1
Samuele Ronzani Sposta dati in una tabella eliminandolo MySQL 6
Cosina Mostrare immagini da una cartella, ma solo un numero definito PHP 12
Alex_70 Cerca testo all'interno di una stringa PHP 5
F Andare a capo all'interno di una tabella WordPress 4
elpirata Update dinamico informazioni scritte in una pagina php jQuery 11
W Creare link di una dato Classic ASP 0
G Associare un button ad una strnga PHP 9
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
P Modifica con PHP di un node in una sitemap xml PHP 0
MarcoGrazia Eliminare in automatico i caratteri spuri all'inizio e alla fine di una stringa Snippet PHP 0
P Cancellazione specifici files in una folder php PHP 1
MarcoGrazia Convertire una data da un formato all'altro Snippet PHP 0
MarcoGrazia Verifica di una stringa o di un nome proveniente da form Snippet PHP 0
MarcoGrazia Creare una password Snippet Javascript 0
L Scmporre una foto dotata di varie immagini in piu layer Photoshop 2

Discussioni simili