Visualizzazione dei risultati da 1 a 5 su 5

Discussione: SQL o ASP ?

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    25

    SQL o ASP ?

    Spero di non essere troppo invadente a porre il terzo quesito in 3 giorni, ma ahimè....
    Mi trovo a lavorare con un sistema di news inserito in unico DB SQL diviso per settori ai quali corrispondono altrettante tabelle con campi identici.Le pagine in asp delle news vengono visualizzate distintamente per settore con un'indice e link alla pagina di dettaglio e sono raccolte quindi in cartelle differenti anche nel sito.
    Il primo problema era di visualizzare in unica pagina le ultime 5 news
    ordinate per data da tutte le tabelle e ci sono riuscito grazie all'aiuto di Marcus Zebra con questa istruzione SQL
    SELECT ID,data, titolo, tabella FROM dbo.comitati UNION SELECT ID, data, titolo, tabella FROM dbo.costruzioni ecc.
    Nella pagina ho cosi' data, titolo, settore delle ultime 5 news.
    Il problema è il link del titolo della news alla pagina di dettaglio che risiede in cartelle differenti, esempio adesso il titolo punta in questo modo : <a href="comitati/scheda.asp?ID=<%=rst("ID")%>"><%=rst("titolo")%>. Ma se voglio che il link cambi con il cambiare del settore come faccio visto che la pagina di dettaglio è in cartelle differenti? E' un problema ASP o SQL?

    Ciao,Grazie GP
    Giampaolo

  2. #2
    Utente di HTML.it L'avatar di Nazareno
    Registrato dal
    Mar 2001
    residenza
    Udine
    Messaggi
    176
    E' un problema di organizzazione del DB. Se il path della pagina si trovasse in un campo della tabella, avresti risolto il problema (ed è quello che facciamo noi se la news richiede una pagina particolare). Comunque: per ogni settore una tabella? Un DB fatto così non è che stia molto in piedi (pensa ad aggiunte o eliminazioni future...). L'ideale sarebbe piuttosto avere una tabella che contiene i settori e una con le news. Quella con le news ha una foreign key a quella con i settori. In questo modo stabilisci una relazione tipo: un settore contiene più news; una news appartiene solo a quel settore. In alternativa puoi anche fare relazioni molti-a-molti.
    Per il tuo problema, se lasci il DB così com'è (ma te lo sconsiglio vivamente) hai la possibilità di sapere record per record il nome del settore? Se sì e se il nome è lo stesso della cartella che corrisponde al settore, il gioco è fatto, no?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    25
    Infatti è il dubbio che avevo anche io, purtroppo quest'archittetura
    esisteva già da prima, non l'ho realizzata io ex-novo.Tra l'altro io sono un web designer che ho sempre progettato layout di tipo grafico e di interazioni con db non ne sapevo mezza sino alla scorsa settimana.Appena ho provato ad apportare modifiche mi sono sempre trovato di fronte a a svariati problemi.Comunque, ricapitolando tutto il discorso, nell'ipotesi di una ristrutturazione del database :
    da un lato ho l'esigenza di inserire delle news ordinate per data e titolo e che appartengano a un settore specifico. Tu mi stai dicendo
    che è sufficiente creare due tabelle unite da una join ed è ok.
    Nel caso lasciassi il db com'è (non credo che mi autorizzino), non ti ho capito bene (o viceversa), io con una select multipla ho già estratto dalle tabelle le ultime 5 news ordinate per data e per settore quindi sono già record appartenenti a quel settore es. ho un'output di quest tipo:
    Data Titolo Settore
    10/10/01 Riunone degli associati comitati
    7/10/01 Riunione sindacale associazioni

    Il problema c'è l'ho nel creare un link dinamico che se nella prima news di esempio puo' essere :
    a href="comitati/scheda.asp?ID=<%=rst("ID")%>"><%=rst("titolo")%>.

    come faccio a recuperare il record della seconda news che punta a una pagina di dettaglio in una cartella differente che può essere ad es. associazioni/scheda.asp ?

    So che mi sfugge ancora qualcosa. Hai focalizzato?

    Ti ringrazio, Ciao Giampaolo
    Giampaolo

  4. #4
    Utente di HTML.it L'avatar di Nazareno
    Registrato dal
    Mar 2001
    residenza
    Udine
    Messaggi
    176
    Bè, adesso che lo vedo meglio...
    Se è garantito che il nome del settore corrisponde al nome della cartella, puoi fare:

    href="<%=rst("Settore")%>/scheda.asp?ID=<%=rst("ID")%>"><%=rst("titolo")%>

    sempre che nel recordset ci sia il campo che contiene il nome del settore.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    25
    Mi sono svenato tutto il pomeriggio, ma c'e' qualcosa che non và,
    non so se è perchè la pagine di dettaglio oltre a essere in un altra cartella è anche in altro server (mi ero scordato di dirtelo) ma non credo: Con l'istruzione che mi hai dato , in effetti adesso ho :
    <a href="<%=("http://luna.bo.cna.it/cid/")%>/scheda.asp?ID=<%=("ID")%>"><%=(rsComitati.Fields.I tem("titolo").Value)%>

    (ho tolto rst perche' mi dava errore)
    che come al solito recupera sempre la pagina di dettaglio del CID che' che è una cartella di un comitato. Se quindi vado a cliccare sulle altre news ordinate per data deli altri settori mi dà sempre quella del cid.
    Ho ancora qualche possibilità? (oltre a dovermi fare un corso di ASP e SQL), sinceramente sto per gettare la spugna.

    Ciao e grazie. Gianmpaolo
    Giampaolo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.