webForumDet fria alternativet

php till asp

13 svar · 559 visningar · startad av abram

abramMedlem sedan mars 20079 inlägg
#1

Hejsan, jag söker en trevlig persone som kan skriva om koden nedan till ASP, jag har nästan 0 koll på PHP och har inte en annning on hur det ska se ut i ASP. så jag undrar om någon skulle kunna vara snäll och skriva om detta åt mej. personen jag fick scriptet av kan inte ASP :(

<?
// Definiera konstanter för databasanslutning
$MYSQL_HOST = 'AAA';
$MYSQL_USER = 'AAA';
$MYSQL_PASSWORD = 'AAA';
$MYSQL_DATABASE = 'AAA';

// Anslut till databasen
mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD);
mysql_select_db($MYSQL_DATABASE);

// Plocka ut 10 senaste MMS
$res = mysql_query('SELECT *,unix_timestamp(tstamp) as utstamp FROM mms
    ORDER BY tstamp DESC LIMIT 10');

// Eka ut en tabell
echo '<table cellspacing="2" cellpadding="5" border="2"><tr>';

// Gå igenom varje MMS - skriv ut tabellrader
while ($row = mysql_fetch_assoc($res)) {

    // Plocka bort första ordet (prefix) ur meddelandet
    $row['message'] = substr($row['message'],strpos($row['message'],' '));

    // Plocka ev bort andra ordet ur meddelandet, på samma sätt
    // $row['message'] = substr($row['message'],strpos($row['message'],' '));
    
    // Läs in eventuell bild från mappen 'data'
    if ( file_exists('data/' . $row['id'] . '.jpeg') ) {
        $row['picture'] = 'data/' . $row['id'] . '.jpeg';
    } else $row['picture'] = '';
    
    if ( $row['picture'] != '' ) {
        echo '<a href="visabild.php?id=' . $row['id'] . '">';
        echo '<img width="150" src="' . $row['picture'] . '"></a>';
    }
    
    echo '</td>';
    echo '</tr>';
}

echo '</table>';
?>
KoplikMedlem sedan juli 20011 129 inlägg
#2

Jag kan inte PHP, men eftersom jag kan lite asp så tror jag att det blir något liknande följande:

<%
// Definiera konstanter för databasanslutning
Dim FSO, Row
Dim MYSQL_HOST = "AAA"
Dim MYSQL_USER = "AAA"
Dim MYSQL_PASSWORD = "AAA"
Dim MYSQL_DATABASE = "AAA"

Set FSO = Server.CreateObject("Scripting.FileSystemObject")

// Anslut till databasen
Set Conn = Server.CreateObject("ADODB.Connection")
//Inte säker på kopplingssträngen, inte mitt gebit, men något såhär
Conn.Open "Provider=sqloledb;" & _
                "Data Source="&MYSQL_HOST&";" & _
                "Network Library=DBMSSOCN;" & _
                "Initial Catalog="&MYSQL_DATABASE&";" & _
                "User ID="&MYSQL_USER&";" & _
                "Password="& MYSQL_PASSWORD&";"

// Plocka ut 10 senaste MMS
Set RS = Conn.Execute("SELECT *,unix_timestamp(tstamp) as utstamp FROM mms ORDER BY tstamp DESC LIMIT 10")

// Eka ut en tabell
Response.Write "<table cellspacing="2" cellpadding="5" border="2"><tr>"

// Gå igenom varje MMS - skriv ut tabellrader
Do While Not RS.EOF
    // Plocka bort första ordet (prefix) ur meddelandet
    //Denna förstår jag mig inte riktigt på. Då PHP-koden jobbar direkt mot recordset:et. Men jag förstår inte syftet.
    Row = Left(RS("Message") ,InStr(RS("Message")," "));

    // Plocka ev bort andra ordet ur meddelandet, på samma sätt
    // $row['message'] = substr($row['message'],strpos($row['message'],' '));
    
    // Läs in eventuell bild från mappen 'data'
    if FSO.FileExists(Server.Mappath("data/" & RS("ID") & ".jpeg") then
      Picture = "data/" & RS("ID") & ".jpeg"
    else
      Picture = ""
    end if

    if Picture <> "" Then
      Response.Write "<a href=""visabild.asp?id=" & RS("ID") & """>"
      Response.Write "<img width="150" src=""" & Picture  & """></a>"
    end if

    Response.Write "</td></tr></table>"
%>
abramMedlem sedan mars 20079 inlägg
#3

Hejsan, och tackar.

Provade detta men fick 1 error som syns nedan :/


Microsoft VBScript compilation  error '800a0401'

Expected end of statement

/mms/mms.asp, line 4

Dim MYSQL_HOST = "host"
---------------^
KoplikMedlem sedan juli 20011 129 inlägg
#4

Hoppsan, missade något fundamentalt. Man kan inte initiera en variabel vid deklaration i VBScript.

Kör såhär istället

Dim FSO, Row, MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE

MYSQL_HOST = "AAA"
MYSQL_USER = "AAA"
MYSQL_PASSWORD = "AAA"
MYSQL_DATABASE = "AAA"
abramMedlem sedan mars 20079 inlägg
#5

La in detta i asp filen
då kom detta up :q

Microsoft VBScript compilation  error '800a0401'

Expected end of statement

/mms/mms.asp, line 26

Response.Write "<table cellspacing="2" cellpadding="5" border="2"><tr>"
------------------------------------^
colioneMedlem sedan juni 20014 421 inlägg
#6

Response.Write "<table cellspacing=""2"" cellpadding=""5"" border=""2""><tr>"

abramMedlem sedan mars 20079 inlägg
#7

då kom nästa fel up :q

Row = Left(RS("Message") ,InStr(RS("Message")," "));
EkströmMedlem sedan feb. 20022 594 inlägg
#8

Semikolon? :)

KoplikMedlem sedan juli 20011 129 inlägg
#9

Inga semikolon samt att denna rad

 Response.Write "<img width="150" src=""" & Picture  & """></a>"

Byts mot

 Response.Write "<img width=""150"" src=""" & Picture  & """></a>"

Alltså alla citationstecken måste vara dubbla om det ligger i en response.write eller allmänt inom kod-avgränsarna.

abramMedlem sedan mars 20079 inlägg
#10

here we do again! :)

Microsoft VBScript compilation  error '800a03ee'

Expected ')'

/mms/mms.asp, line 38

if FSO.FileExists(Server.Mappath("data/" & RS("ID") & ".jpeg") then
@ndersMedlem sedan juni 200032 969 inlägg
#11

Ta för vana att alltid visa oss vilket felmeddelande du får.

Om du räknar start- och slutparenteser förstår du vad som är fel.

abramMedlem sedan mars 20079 inlägg
#12

fått lite ordning på det nu men behöver hjälp med mysql connectorn, den vill inte fungera :(

Microsoft OLE DB Provider for SQL Server error '80004005'

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.

/mms/mms.asp, line 15


<%
// Definiera konstanter för databasanslutning
Dim FSO, Row, MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE

MYSQL_HOST = "aaa"
MYSQL_USER = "sss"
MYSQL_PASSWORD = "ddd"
MYSQL_DATABASE = "www"

Set FSO = Server.CreateObject("Scripting.FileSystemObject")

// Anslut till databasen
Set Conn = Server.CreateObject("ADODB.Connection")
//Inte säker på kopplingssträngen, inte mitt gebit, men något såhär
Conn.Open "Provider=sqloledb;" & _
                "Data Source="&MYSQL_HOST&";" & _
                "Network Library=DBMSSOCN;" & _
                "Initial Catalog="&MYSQL_DATABASE&";" & _
                "User ID="&MYSQL_USER&";" & _
                "Password="& MYSQL_PASSWORD&";"

// Plocka ut 10 senaste MMS
Set RS = Conn.Execute("SELECT *,unix_timestamp(tstamp) as utstamp FROM mms ORDER BY tstamp DESC LIMIT 10")

// Eka ut en tabell
Response.Write "<table cellspacing=""2"" cellpadding=""5"" border=""2""><tr>"

// Gå igenom varje MMS - skriv ut tabellrader
Do While Not RS.EOF
    // Plocka bort första ordet (prefix) ur meddelandet
    //Denna förstår jag mig inte riktigt på. Då PHP-koden jobbar direkt mot recordset:et. Men jag förstår inte syftet.
    Row = Left(RS("Message") ,InStr(RS("Message")," "))

    // Plocka ev bort andra ordet ur meddelandet, på samma sätt
    // $row['message'] = substr($row['message'],strpos($row['message'],' '))
    
    // Läs in eventuell bild från mappen 'data'
    if FSO.FileExists(Server.Mappath)("data/") & RS("ID") & (".jpeg") then
      Picture = "data/" & RS("ID") & ".jpeg"
    else
      Picture = ""
    end if

    if Picture <> "" Then
      Response.Write "<a href=""visabild.asp?id=" & RS("ID") & """>"
      Response.Write "<img width=""150"" src=""" & Picture  & """></a>"
    end if

    Response.Write "</td>"
RS.Movenext
Loop
Response.write "</tr></table>" 
%>
@ndersMedlem sedan juni 200032 969 inlägg
#13

Nej, det är fel connectionstring.

Här kan du se vilken connectionstring du ska använda

@ndersMedlem sedan juni 200032 969 inlägg
#14

Okej då, lite snällare kan jag väl vara :)

Byt alltså:

Conn.Open "Provider=sqloledb;" & _
                "Data Source="&MYSQL_HOST&";" & _
                "Network Library=DBMSSOCN;" & _
                "Initial Catalog="&MYSQL_DATABASE&";" & _
                "User ID="&MYSQL_USER&";" & _
                "Password="& MYSQL_PASSWORD&";"

mot något sånt härnt:

Conn.Open "Driver={MySQL ODBC 3.51 Driver};Server=" & MYSQL_HOST & ";Port=3306;Database=" & MYSQL_DATABASE & ";User=" & MYSQL_USER & ";Password=" & MYSQL_PASSWORD & ";Option=3;"
129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)