2012-03-30 8 views
0

Ich erstelle eine Homepage und habe einen News-Bereich. Derzeit zeigt der Nachrichtenbereich die Top 3 Nachrichtentitel/Überschriften aus der Datenbank an, in der sie gespeichert sind. Wie der Besitzer es jetzt möchte, sollte ein Bild neben der Nachrichtenüberschrift zu diesem Nachrichtenartikel angezeigt werden. Also habe ich eine Funktion eingerichtet, bei der sie ein Bild in die Nachrichten-Datenbank hochladen, und zwar gegen den Artikel, den sie gerade erstellt/in die Datenbank hochgeladen haben. Jetzt möchte ich nur dieses Bild anzeigen, das in der Datenbank gespeichert ist. Gibt es eine Möglichkeit, dies zu tun?Anzeige von Bildern aus SQL-Datenbank mit klassischen ASP

Ich benutze klassische asp und html/javascript.

bisher der Code ich habe, ist:

<img id="news_image2" alt="<%=rsNews("Image_Name")%>" border="0" height="70" name="Image" src="<%=rsNews("news_Image")%>" title="Echo_Images" width="80" align="middle" /> </a> 

Vielen Dank

EDIT. Das IS THE rsnews auf homepage.asp

<%@ language="VBSCRIPT" codepage="1252" %> 
    <!-- #include file="Connections/echo.asp" --> 
<% 
Dim rsNews 
Dim rsNews_numRows 

Set rsNews = Server.CreateObject("ADODB.Recordset") 
rsNews.ActiveConnection = MM_echo_STRING 
rsNews.Source = "SELECT top 3 News_Article_ID,News_Article_Create_Date,News_Txt_Date,News_Title,News_Publish_Date,News_Expiry_Date,News_Title_Header,News_Active,Admin_ID,News_Ticker,display,Image_Name,displayCode,news_Image FROM tblNews WHERE News_Active = 1 AND News_Expiry_Date >= getDate() AND (display = 'ext' OR display = 'both'OR displayCode=1 OR displayCode=4 OR displayCode=5 OR displayCode=7) ORDER BY News_TXT_Date DESC" 
rsNews.CursorType = 0 
rsNews.CursorLocation = 2 
rsNews.LockType = 1 
rsNews.Open() 

rsNews_numRows = 0 
%> 
<div id="news-home-container"> 

         <!--news item 1--> 
         <div> 
          <div class="news-home-image"> 
            <a href="about/echo_news.aspx?id=0"> 
             <img id="news_image2" alt="LatestNews" border="0" height="70" name="logo_link0" src="image_display.asp?PhotoID=627" title="Echo_Images" width="80" align="middle" /></a> </div> 

          <div class="newsDiv"> 
          <a href="about/echo_news.aspx?id=0" ><b style="line-height:1.3em"><%=rsNews("News_Title")%></b> 
        <p><%=rsNews("News_Title_Header")%></p></a>                   
        </div> 
          </div> 
         <!--End of news item 1--> 

jetzt brauche ich die Bilder, die in den oberen 3 Artikel in der Datenbank gespeichert werden, angezeigt werden.

Dies ist der Code in image_display.asp

<!-- #include file="Connections/echo.asp" --> 

<% 
    Dim sql 
    Dim rs 
    Dim conn 
    Dim userID,str 

    userID = Request("PhotoId") 
    If userID = "" Then userID = 0 

    'Instantiate Objects 
    Set conn = Server.CreateObject("ADODB.Connection") 
    Set rs = Server.CreateObject("ADODB.Recordset") 

    'Open connection 

'rsNews.ActiveConnection = MM_echo_STRING ' conn = uncomment diese Zeile und die Verbindungszeichenfolge hier einfügen ‚das spezifische Bild auf der ID übergeben bekommen Sitz in ein Abfragezeichenfolgeflag str = "news_image VON tblNews SELECT WHERE news_article_id =" & userID rs.Open str, anschl, 3,3 wenn rs.eof dann anzeigen des Inhalts 'No records Response.End sonst gefunden' Response.ContentType = "image/gif" Response.BinaryWrite (rs ("news_image")) end if

'destroy the variables. 
    rs.Close 
    conn.Close 
    set rs = Nothing 
    set conn = Nothing 
%> 
+0

MS SQL, MySQL, Oracle? Speichern Sie einen Pfad zum Bild in der Datenbank? oder die binäre (Blob) des Bildes selbst? – HeavenCore

+0

HeavenCore ist MS SQL und es wird als binär gespeichert – Reidy0588

+0

speichern Sie es in einer Varbinär- oder Bildspalte? – HeavenCore

Antwort

0

heavencore Antwort ist richtig Sie müssen nur überprüfen, ob Sie binär schreiben hte richtig Ding , also überprüfen Sie, ob Sie die richtige ID auf die Seite und dann, wo es Antwort sagt.Binary rs („ImageBlob“) - imageblob ist das Feld, in dem Sie Ihr Bild als binäre Daten gespeichert

bearbeiten nach Ihren Kommentar zu sehen:

Ich habe nur einen Blick in den Quellcode hatte -

Sie wo diese Codezeile

<img id="news_image2" alt="LatestNews" border="0" height="70" name="logo_link0"  src="images/News_images/default image.jpg" title="Echo_Images" width="80" align="middle" /> 

ist, müssen Sie es ersetzen -

<img id="news_image2" alt="LatestNews" border="0" height="70" name="logo_link0" src="somefile.asp?ID=2" title="Echo_Images" width="80" align="middle" /> 

so ändern Sie einfach die src = "" zu src = "somefile.asp id = 2"

und dann in somefile.asp setzen Sie diesen Code -

Dim ImageID 
ImageID = request.querystring("ID") 
Set rs = db.Execute("SELECT ImageBlob FROM table WHERE ID = " & ImageID) 

Response.Expires = 0 
Response.Buffer = TRUE 
Response.Clear 
Response.ContentType = "image/jpeg" '#### Assuming your images are jpegs 
Response.BinaryWrite rs("ImageBlob") 

Does diese Hilfe?

+0

Hallo das Problem, das ich habe ist, dass die Bilder auf einer Homepage angezeigt werden, so Es wird keine Querystring oben auf der Seite – Reidy0588

+0

finden Sie bitte auf der Website www.echo-ms.com und die Thumbnails auf der Unterseite des Bildschirms (die sagen, Echo) müssen geändert werden, um Bilder in Bezug auf diesen Nachrichtenartikel von der Datenbank – Reidy0588

+0

überprüfen Sie meine Bearbeitung an der Spitze – Jatin

0

Ok, basierend auf Ihre Kommentare benötigen Sie eine neue ASP-Seite zu erstellen, können Nennen Sie es getImage.asp.

Sie das Bild in Ihrem HTML-Referenz, wie folgt ab:

<img src="getImage.asp?ID=<%=rsNews("Image_ID") %>"> 

wo getImage.asp so etwas wie dies (die Verwendung von Response.BinaryWrite beachten Sie:

Dim ImageID 
ImageID = request.querystring("ID") 
Set rs = db.Execute("SELECT ImageBlob FROM table WHERE ID = " & ImageID) 

Response.Expires = 0 
Response.Buffer = TRUE 
Response.Clear 
Response.ContentType = "image/jpeg" '#### Assuming your images are jpegs 
Response.BinaryWrite rs("ImageBlob") 
+0

ok im gehen, um dies zu geben und krank lassen Sie wissen, wie ich auf – Reidy0588

+0

dieses nicht funktioniert :-( – Reidy0588

1

ich fand es heraus. Das Problem war, dass das Bild nicht korrekt in die Datenbank geladen wurde, also habe ich die Seite, auf der das Bild geladen wurde, neu erstellt und dann den oben genannten Jatins-Code verwendet und nur die "ID" zu "News_Article_ID" geändert. Sobald dies erledigt wurde betrat ich den folgenden Code in das img Quelle

img src="Image_Display.asp?news_Article_iD=<%=rsnews("News_article_id")%>" 

viele thaks für Ihre Hilfe jeder

+0

Sie sollten wahrscheinlich in Erwägung ziehen, Jatins Antwort zu akzeptieren, anstatt Ihre eigene ... – Paddy