Select multipla in asp-jscript

Francy87

Nuovo Utente
26 Mag 2012
11
0
0
Buon Giorno a tutti!
Avrei un piccolo problema con una query, sempre nella pagina di cui ho parlato nelle precedenti discussioni.
Allora, la situazione è questa:
Pagina: "paginautente.asp" (in ASP-Jscript)
DB: "utenti.mdb"
Tabella: "amicizia" (id, username1, username2)
Tabella "listautenti" (id, username, nome, cognome, email)
Nella pagina che sto implementando, "paginautente.asp" ho la necessita di far vedere l'amicizia fra due utenti.
Quindi la select principale sarà del tipo:
Select username1 from amicizia where username2 LIKE '....'
Il problema però è che nella pagina "paginautente.asp" mi sono riportato dalla pagina precedente l'ID attraverso:
var id = parseInt(Request.QueryString("id"));
Quindi ho l'ID dell'utente in questione.
A me, invece, serve l'username dell'utente, che posso prendere però dalla tabella "listautenti"
Quindi pensavo e chiedo:
Posso fare una query che mi preleva il campo username dalla tabella "listautenti" WHERE ID = + ID +... (che già ho)
successivamente salvare il valore della query in una variabile Xes.: var1
e poi fare una query del tipo:
Select username1 from "amicizia" where username2 = +var1+.... ???
Se è si, vi prego aiutatemi.
Grazie.
Francesco.
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

un utente ha piu di un'amicizia?

se Marco ha tre amici sono in tre query id1 1d 20 ecc...

Posta il codice che usi.

O fai una prova pasando l'ID nella SQL come primo parametro

invece di Select username1 from "amicizia" where username2 = +var1+.... ???

Select ID from "amicizia" where confronto.

Valeria.
 

Francy87

Nuovo Utente
26 Mag 2012
11
0
0
Ciao,

un utente ha piu di un'amicizia?

se Marco ha tre amici sono in tre query id1 1d 20 ecc...

Posta il codice che usi.

O fai una prova pasando l'ID nella SQL come primo parametro

invece di Select username1 from "amicizia" where username2 = +var1+.... ???

Select ID from "amicizia" where confronto.

Valeria.
Ciao Vale, intanto grazie per avermi risposto.
Allora... Supponiamo che io stia visitando la "paginautente.asp" dell'utente Marco.
La pagina è riempita con le informazioni della tabella "listautenti"
Quindi nome, username, cognome, E-mail.
A livello di codice, la situazione è così:
la pagina "paginautente.asp" è riempita dai dati presi dalla tabella "listautenti", la select che preleva i dati è fatta sul confronto fra
ID che mi sono riportato in querystring dalla pagina precedente e l'ID della tabella "listautenti" (IDutente). (e fin quì a posto)
Il problema è che nella tabella "amicizia" non c'è l'ID utente, ci sono solo: ID (id del record),Username1,Username2
Ora se voglio visionare le amicizie dell'utente marco per giusto dovrei fare una cosa del genere:
select username1 from amicizia where username2 LIKE +marco+
Non lo posso fare, perchè con la querystring mi sono riportato l'ID di Marco, quindi non ho con che cosa fare la select.
Quindi pensavo di fare una select dalla tabella "listautenti" e farmi restituire l'username "marco" attraverso il confronto con l'ID che ho,
successivamente, memorizzare l'username in una variabile che si può chiamare VAR miousername
e poi effettuare la query che mi serve
select username1 from amicizia where username2 LIKE miousername.
Cmq. ora non sono a casa.
Magari ti posto il codice più tardi.
Grazie.
Francesco.
 

Francy87

Nuovo Utente
26 Mag 2012
11
0
0
Questa è la pagina "paginautente.asp"
Come vedi, mi riporto l'id dell'utente dalla pagina precedente e faccio la query nella tabella "listautenti" e mi scrivo a video tutti i dati anagrafici dell'utente "MARCO"

<%@ LANGUAGE = JScript %>
<%
var id = parseInt(Request.QueryString("id"));
var Cn = new ActiveXObject("ADODB.Connection");
var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/utenti.mdb");
Cn.Open(Sc);
var Sql = "SELECT * FROM listautenti where id = " + id + ""
var ris = new ActiveXObject("ADODB.Recordset");
ris.Open(Sql,Cn,1);
%>
<html>
<head>
<title>Pagina personale utente</title>
</head>
<body>
<%
while (!ris.EOF) {
%>
<table cellpadding="0" cellspacing="0" align="center" border="0">
<tr>
<td valign="bottom" align="center"><%=ris("Username")%></td>
</tr>
<tr>
<td style="font:12px Tahoma; color:#F00" align="center"><%=ris("nome")%></td>
</tr>
<tr>
<td style="font:12px Tahoma; color:#F00" align="center"><%=ris("cognome")%></td>
</tr>
<tr>
<td style="font:12px Tahoma; color:#F00" align="center"><%=ris("email")%></td>
</tr>
<tr>
<td> ..... ORA quì dovrei inserire la lista degli amici dell'utente "MARCO", però i suoi amici stanno nella tabella amicizia e purtroppo lì non ho l'id dell'utente, ho solo due username: username1 = giovanni username2 = MARCO; ..... Quindi dovrei fare una select del tipo: Select username1 where username2 LIKE MARCO .... Ma come faccio???</td>
</tr>
</table>
<%
ris.MoveNext();
}
%>
</body>
</html>
<%Cn.Close()%>

P.S.: Il codice l'ho un po' pulito da tutte le immagini.
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

hai scritto:

Questa è la pagina "paginautente.asp"
Come vedi, mi riporto l'id dell'utente dalla pagina precedente e faccio la query nella tabella "listautenti" e mi scrivo a video tutti i dati anagrafici dell'utente "MARCO"

quindi nella barra degli indirizzi se Marco ha l'ID N° 10 hai:

paginautente.asp?ID=10

quell'ID che passi a paginautente.asp da dove lo recuperi? è solo un link scritto a mano o un ID di un campo di una tabella del database.

Da quello che ho capito dai due sole tabelle, quindi suppongo un link scritto manualmente per recuperare tutto quello che appartieme a quel determinato ID.

Conferimi.

Valeria.
 

Francy87

Nuovo Utente
26 Mag 2012
11
0
0
Ciao,

hai scritto:

Questa è la pagina "paginautente.asp"
Come vedi, mi riporto l'id dell'utente dalla pagina precedente e faccio la query nella tabella "listautenti" e mi scrivo a video tutti i dati anagrafici dell'utente "MARCO"

quindi nella barra degli indirizzi se Marco ha l'ID N° 10 hai:

paginautente.asp?ID=10

quell'ID che passi a paginautente.asp da dove lo recuperi? è solo un link scritto a mano o un ID di un campo di una tabella del database.

Da quello che ho capito dai due sole tabelle, quindi suppongo un link scritto manualmente per recuperare tutto quello che appartieme a quel determinato ID.

Conferimi.

Valeria.

Ciao Vale! allora...
Il DB si chiama "UTENTI" ed ha le tabelle:
"LISTAUTENTI" (ID, NOME, COGNOME, EMAIL) (ID è l'ID del record, ma essendo la lista degli utenti è l'ID dell'utente)
Esempio di record: (1, Marco, Taldeitali, [email protected])
"AMICIZIA" (ID, USERNAME1, USERNAME2) (ID in questo caso è solo ID del record, contatore)
Esempio di record: (1, Giovanni, Marco)
Entro nella mia pagina personale, che è chiamata "DEFAULT.ASP" e quì fra le tante cose, vi è la lista degli amici che ho.
Fra questi c'è "MARCO"
Io clicko su "MARCO" quindi <a href"paginautente.asp?id=1" target"blank">Marco</a>
Ed entro nella pagina "PAGINAUTENTE.ASP" che è compilata con tutti i dati di Marco.
Sul browser appare la scritta http://.........paginautente.asp?ID=1
Sono nella "PAGINAUTENTE.ASP" che ha questo codice:

<%@ LANGUAGE = JScript %>
<%
var id = parseInt(Request.QueryString("id"));
var Cn = new ActiveXObject("ADODB.Connection");
var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/utenti.mdb");
Cn.Open(Sc);
var Sql = "SELECT * FROM listautenti where id = " + id + ""
var ris = new ActiveXObject("ADODB.Recordset");
ris.Open(Sql,Cn,1);
%>
<html>
<head>
<title>Pagina personale utente</title>
</head>
<body>
<%
while (!ris.EOF) {
%>
<table cellpadding="0" cellspacing="0" align="center" border="0">
<tr>
<td valign="bottom" align="center"><%=ris("Username")%></td>
</tr>
<tr>
<td style="font:12px Tahoma; color:#F00" align="center"><%=ris("nome")%></td>
</tr>
<tr>
<td style="font:12px Tahoma; color:#F00" align="center"><%=ris("cognome")%></td>
</tr>
<tr>
<td style="font:12px Tahoma; color:#F00" align="center"><%=ris("email")%></td>
</tr>
<tr>
<td>....................</td>
</tr>
</table>
<%
ris.MoveNext();
}
%>
</body>
</html>
<%Cn.Close()%>

Quindi ho la necessità di riportarmi dalla pagina precedente ("DEFAULT.ASP") con la Query.String, l'ID (che in questo caso è di Marco)
Tutte le interrogazioni fatte in questa pagina, sono del tipo: "Select * from listautenti where id = + ID +"
Adesso però mi occorre visualizzare le amicizie di Marco.
Xes. supponiamo che Marco abbia 4 amicizie
Quindi nella tabella "amicizia" avrò 4 record con scritto:
1, Giovanni, Marco
2, Francesco, Marco
3, Paolo, Marco
4, Paperino, Marco
Se voglio far vedere nella pagina personale di Marco queste sue 4 amicizie, dovrò fare una query del tipo:
"Select username1 from amicizia where username2 LIKE MARCO"
Ma questo è un caso specifico (sappiamo che username2 è Marco)
Nel caso generico sarebbe:
"Select username1 from amicizia WHERE username2 LIKE ????
E quì mi blocco!
Perchè non so da dove ricavare l'username dell'utente visto che in questa pagina la query.string è sull'ID
Quindi pensavo se si potesse fare una doppia query, tipo:
select username from listautenti where ID = + ID + (che lo posso fare perchè l'ID ce l'ho dalla query.string)
successivamente mettere il valore di questa query in una variabile, magari VARTEMP
e fare finalmente la query sulla tabella amicizia:
select username1 from amicizia where username2 LIKE VARTEMP
Oppure se si può agire in altro modo...
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

se hai nella pagina già il link con l'ID e l'amicizia con Marco

<a href"paginautente.asp?id=1" target"blank">Marco</a>

passa con una variabile che imposti te il nome Marco

<a href"paginautente.asp?id=1&amico=Marco" target"blank">Marco</a>

dopo recuperi il valore passato in querystring Marco

e lo metti nella sql

amico=request.querystring("amico")

nella sql

Select username1 from amicizia WHERE username2 LIKE

Select username1 from amicizia where username2 LIKE "la querystring passata amico"

Prova.

Valeria.
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao

incongruenza di dati

questo <td valign="bottom" align="center"><%=ris("Username")%></td>

non hai detto di avere un campo Username in quella tabella

"LISTAUTENTI" (ID, NOME, COGNOME, EMAIL) (ID è l'ID del record, ma essendo la lista degli utenti è l'ID dell'utente)
Esempio di record: (1, Marco, Taldeitali, [email protected])

Valeria.
 

Francy87

Nuovo Utente
26 Mag 2012
11
0
0
Ciao

incongruenza di dati

questo <td valign="bottom" align="center"><%=ris("Username")%></td>

non hai detto di avere un campo Username in quella tabella

"LISTAUTENTI" (ID, NOME, COGNOME, EMAIL) (ID è l'ID del record, ma essendo la lista degli utenti è l'ID dell'utente)
Esempio di record: (1, Marco, Taldeitali, [email protected])

Valeria.

E' vero! scusa! l'ho dimenticato!
La lista utenti ha l'username!
La tabella è fatta così: (ID, USERNAME, NOME, COGNOME, EMAIL)
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

come già detto devi passare il Nome o l'username in QueryString,


Codice:
<%@ LANGUAGE = JScript %>
<%
var id = parseInt(Request.QueryString("id"));
var Cn = new ActiveXObject("ADODB.Connection");
var Sc = "driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("/mdb-database/utenti.mdb");
Cn.Open(Sc);
var Sql = "SELECT * FROM listautenti where id = " + id + "";
var ris = new ActiveXObject("ADODB.Recordset");
ris.Open(Sql,Cn,1);
%>
<html>
<head>
<title>Pagina personale utente</title>
</head>
<body>
<%
while (!ris.EOF) {
%>
<table cellpadding="0" cellspacing="0" align="center" border="0">
<tr>
<td valign="bottom" align="center"><%=ris("Username")%></td>
</tr>
<tr>
<td style="font:12px Tahoma; color:#F00" align="center"><%=ris("nome")%></td>
</tr>
<tr>
<td style="font:12px Tahoma; color:#F00" align="center"><%=ris("cognome")%></td>
</tr>
<tr>
<td style="font:12px Tahoma; color:#F00" align="center"><%=ris("email")%></td>
</tr>
<tr>
<td style="font:12px Tahoma; color:#000" align="center">
<%
var amico = new String(Request.QueryString("amico"));
var Sql1 = "SELECT * FROM amicizia where username1 LIKE '" + amico + "'";
var ris1 = new ActiveXObject("ADODB.Recordset");
ris1.Open(Sql1,Cn,1);
while (!ris1.EOF) {
%>
<br>
<%=ris1("username2")%><%ris1.MoveNext();}%></td>
</tr>
</table>
<%
ris.MoveNext();
}
%>
</body>
</html>
<%
Cn.Close;
%>

Il link lo passi cosi:

<a href="listautenti.asp?id=<%=rs("id")%>&amico=<%=rs("nome")%>" target="_blank"><%=rs("nome")%></a>

dove listautenti.asp è la pagina che utilizzi

&amico passato in querystring se passi nome, diventa

listautenti.asp?id=1&amico=Marco

Nella Sequel (SQL) dichiari che Username1 deve essere abbinato a "amico" campo username2

<%=ris1("username2")%> ti mostra tutti gli amici di Marco

Valeria.
 
Ultima modifica:

Francy87

Nuovo Utente
26 Mag 2012
11
0
0
Ciao Vale! Grazie per avermi risposto!
Allora...
mi sa che non funziona quello che mi hai suggerito!
La pagina "DEFAULT.ASP" è una pagina dinamica in cui l'utente che si logga vede le sue informazioni e vede le amicizie che ha.
In questa pagina, la select in questione è fatta, perchè:
Ho la variabile session("username"), quindi faccio la select:
Select username1 from amicizia where username2 LIKE Session("username")
Così l'utente che si logga vede tutte le amicizie che ha.
Il problema invece:
Clicko su un nome che ho fra i miei amici, vengo portato nella sua pagina ("PAGINAUTENTE.ASP" riempita con i campi presi dal DB) e quì devo poter vedere le sue amicizie (stile FaceBook)
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

quello che ho scritto è corretto e non c'è prove indubbia del contrario. Salvo aver fornito richiesta con incongruenze, ogni reply c'è una cosa nuova.

Uno utilizzo del LIKE LIKE "%cosa" LIKE "cosa%" LIKE"%cosa%"

Puoi vedere i toui amici solo se loggato?

mi scrivi il link con i dati che passi.

Nel codice scritto se ci sono tre amici tuoi Marco Luigi Franco

e da come ho detto e scritto passi ina variabile a tuo piacere oltre all'ID in PAGINAUTENTE.ASP

Non vedi le amicizie di arco Luigi o Franco, basta che quel dato che ti serve lo passi in querystring.

Hai provato.

Io si e funziona.

ALtre info come richiesto.


Questo è un esempio i miei amici e gli amici dei miei amici

http://users10.jabry.com/vale2/prova/

Cosi non va bene.

Valeria.
 

Francy87

Nuovo Utente
26 Mag 2012
11
0
0
Ciao,

quello che ho scritto è corretto e non c'è prove indubbia del contrario. Salvo aver fornito richiesta con incongruenze, ogni reply c'è una cosa nuova.

Uno utilizzo del LIKE LIKE "%cosa" LIKE "cosa%" LIKE"%cosa%"

Puoi vedere i toui amici solo se loggato?

mi scrivi il link con i dati che passi.

Nel codice scritto se ci sono tre amici tuoi Marco Luigi Franco

e da come ho detto e scritto passi ina variabile a tuo piacere oltre all'ID in PAGINAUTENTE.ASP

Non vedi le amicizie di arco Luigi o Franco, basta che quel dato che ti serve lo passi in querystring.

Hai provato.

Io si e funziona.

ALtre info come richiesto.


Questo è un esempio i miei amici e gli amici dei miei amici

http://users10.jabry.com/vale2/prova/

Cosi non va bene.

Valeria.

Ciao Vale! Grazie infinite per avermi risposto e scusa!!! Ho fatto un pasticcio!
Non ho visto tutti i mes che mi hai mandato ne ho letto solo uno e di conseguenza non funzionava il pezzo di codice.
Per quanto riguarda l'esempio che mi hai inviato, è perfetto!
Adesso provo tutto il codice e ti dico subito!
Grazie infinite!
Scusami ancora!
 

Francy87

Nuovo Utente
26 Mag 2012
11
0
0
Sei sempre la numero 1

Perfetto! Funziona alla perfezione!
Grazie ancora per il tuo preziosissimo aiuto!
Sei stata gentilissima.
GRAZIE!!!
P.S.: Scusa ancora se ho messo in dubbio il tuo codice perfetto!
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

non si tratta di perfezione, o dubbi su quello scritto, a volte si è costretti a lavorare con codici e database scritti in un certo modo.

Se devi portarti avanti dati alla pagina successiva, l'unico modo sono le querystring, visto che nella tabella amicizia dai due campi dove uno di quei campi è uguale al dato che si trova in un'altra tabella o fai una relazione tra le due tabelle impostando una Relazione uno a molti (tabella "a" ha 1 dato che in tabella "b" ne ha molti) relazioni il nome di tabella a dove in tabella b sono = uguali. 1 Marco 100 Marco.

O passi i dati in querystring, in querystring puoi passare anche le session, comunque se hai piu pagine da scorrere e devi portarti dietro un dato o più di uno come referenza di collegamento per un dato corretto, prima usi il ? dopo la & se vuoi portarti alla pagina successiva anche il Cognome


<a href="listautenti.asp?id=<%=rs("id")%>&amico=<%=rs("nome")%>&congnome=<%=rs("cognome")%>" target="_blank"><%=rs("_quello_che_visualizzi_nel_link")%></a>

hai adesso, se l'id è 1, il nome è Marco e il cognome Bianchi

listautenti.asp?id=1&amico=Marco&cognome=Bianchi

Dopo recuperi il dato passato e lo metti nella posizione che ti serve una SQL un messaggio a video ecc...

Buon lavoro Valeria.
 
Discussioni simili
Autore Titolo Forum Risposte Data
F query e form con select multipla PHP 17
T recupero valori select multipla da android Javascript 3
bubino8 [PHP] Select multipla su piu tabelle PHP 3
P Problemi con select multipla PHP 12
A Visualizzare risultati ottenuti da una select multipla PHP 7
L select multipla MySQL 1
S Problema gestione select multipla Javascript 0
E Select Multipla Su Sql Classic ASP 5
X Popolare una select a selezione multipla?!?! PHP 1
L Ripetere Campi disabilitando input in riferimento ad un valore della select jQuery 0
otto9due Ordinare option di una select Javascript 5
W MySQL ciclo in SELECT MySQL 0
W MySQL SELECT list dinamica MySQL 0
M Select Option dentro una Table jQuery 2
G Colorare menu select attraverso ricerca php PHP 0
L problema con query select PHP 2
F menù select dinamico da db in php PHP 3
D popolare campi tra th alla select PHP 36
M Estrarre valore con SELECT COUNT PHP 0
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Select Dinamiche...da txt? PHP 3
E Php select option e ajax PHP 23
R Select concatenata che non funziona la seconda volta Ajax 3
L select join e sottrazione punti PHP 13
L input dati con inser into select ? PHP 4
V hierarchy-select jQuery 0
Emix Select concatenate php sql ajax PHP 2
J php, scegliere autista da select e mostrare se ha fatto un incidente PHP 8
Tommy03 Select in ordine per numero di record MySQL 7
T problema con select dinamica con jquery Javascript 0
J Far comparire e scomparire un div con un select Javascript 1
M Opzioni select da 1 a 200 PHP 0
I Fatal error: Query Failed! SQL: SELECT * INTO OUTFILE PHP 1
C input in sostituzione della select PHP 2
G Insert into select - Aiuto MySQL 0
max1974 autocomplete trigger select jQuery 0
X [Select] Valori chiave non presenti in un'altra tabella MySQL 2
M Estrarre dati da una select HTML PHP 3
MarcoGrazia jquery validate, necessità di validare almeno un elemento select su due jQuery 1
T [PHP] Autocompilazione input multiple da una select PHP 1
Alex_70 [PHP] Visualizzare foto tramite select PHP 0
S [PHP] aggiornamento table tramite select senza ricaricare la pagina PHP 5
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
M [PHP] Problema con query select PHP 2
C [PHP] Controllo <select> comportamento anomalo PHP 2
G [PHP] Select con opzioni dipendenti da un'altra select PHP 3
L [Javascript] Select option in campi input Javascript 4
M [PHP] Problemi con select PHP 6
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
S [ASP] SALVARE VALORE SELECT OPTION SU CAMPO TABELLA ACCESS Classic ASP 9

Discussioni simili