Avatar billede jan2001 Nybegynder
02. juni 2007 - 15:14 Der er 10 kommentarer og
1 løsning

include af asp i php

Jeg har i længere tid haft en php-fil med include af en asp-fil liggende på b-one. Det har virket fint. Men så vidt jeg husker har de lige lavet opdateringer. Nu vil den ikke længere include min asp-fil. Den skriver intet. Det er som om den slet ikke kører asp-filen.
Er der noget i php 5 eller chiliasp som er anderledes i de nye versioner med hensyn til include af asp?
Avatar billede windcape Praktikant
02. juni 2007 - 21:05 #1
Med include mener du vel at du har inkluderet en executed version af din asp, som chiliasp har kørt.

Anyway, det er dumt. Du skulle istedet spørge om hjælp til oversættelse af ASP filen.
Avatar billede jan2001 Nybegynder
02. juni 2007 - 22:18 #2
hvorfor er det dumt. Det har jo virket fint månedsvis. Men ja, asp-filen har udført et kald til databasen og udtrækket inclludes i php-filen. Jeg har prøvet med asp2php, men der er en del fejl, desværre. Nu har jeg selv lavet en lille php-kode der udtrækker og som nu virker i include. Men asp koden er bedre lavet, så det ville være rat om den kom til at virke igen.
Avatar billede windcape Praktikant
03. juni 2007 - 15:46 #3
Det er dumt at bruge 2 sprog, that simple.. Det tager ingen tid at oversætte ASP, hvis man altså gider lære at PHP.

Men hvis du forventer at folk herinde magisk kan hjælpe så gør da det. Det får du bare ingen hjælp ved.
Avatar billede jan2001 Nybegynder
03. juni 2007 - 19:51 #4
det er ikke sådan lige at oversætte denne advancerede kode:

<!--#include file="admin/config.asp"-->

<% Dim IDS_RQ, arrIDS_RQ, intRV, QUOTE, SQL_RQ, RS_RQ, LowestNumber, HighestNumber

    Call OPEN_DB()
    SQL_RQ = "SELECT ID FROM table_q WHERE fldACTIVE = 1"


    Set RS_RQ = MyConn_RQ.Execute(SQL_RQ)
        WHILE NOT RS_RQ.EOF
            IDS_RQ = IDS_RQ & Trim(RS_RQ("ID")) & ","
            RS_RQ.MoveNext
        WEND
    RS_RQ.Close
    Set RS_RQ = Nothing
   
    arrIDS_RQ = Split(IDS_RQ,",")
    IF NOT Ubound(arrIDS_RQ) = -1 Then
    Randomize()
    LowestNumber = Lbound(arrIDS_RQ)
    HighestNumber = Ubound(arrIDS_RQ) - 1
    intRV = Int((HighestNumber-LowestNumber+1)*Rnd+LowestNumber)       
   
    IF intRV > HighestNumber Then intRV = intRV - 1
        SQL_RQ = "SELECT fldMEMO FROM table_q WHERE ID = " & arrIDS_RQ(intRV)
        Set RS_RQ = MyConn_RQ.Execute(SQL_RQ)
        IF NOT RS_RQ.EOF THEN
            QUOTE = trim(RS_RQ("fldMEMO"))
        END IF
        RS_RQ.Close
        Set RS_RQ = Nothing
    ELSE
        QUOTE = ""   
    END IF

    MyConn_RQ.Close
    Set MyConn_RQ = Nothing
%>

    <table><tr><td class="tip">
        <%=Replace(QUOTE,vbcrlf,"<br />")%>
    </td></tr></table>
Avatar billede windcape Praktikant
04. juni 2007 - 04:11 #5
Den er ikke synderlig advanceret, og er jo faktisk bare fetch af noget data. Rent faktisk ser den ret elendig ud, og forfatteren lader ikke til at kende til arrays.

Jeg kunne sikkert sagtens omskrive den , men ville gerne vide hvad den gør, da jeg tror den kan omskrives meget nemmere så.

Derudover vil jeg også gerne vide hvilken database du bruger, hvis der skal laves et eksempel.
Avatar billede windcape Praktikant
04. juni 2007 - 04:17 #6
Det ligner faktisk et meget dårlig forsøg på at sortere noget data.
Ville næsten tror at et simpelt query some dette ville kunne gøre jobbet.

"SELECT
    ID,fldMEMO
FROM
    table_q
ORDER BY
    ID DESC";
Avatar billede windcape Praktikant
04. juni 2007 - 04:29 #7
haha, nu kan jeg det det.. det er et elendig forsøg på at lave random array. Det kan jo laves med 3 linjers kode vil jeg tro.
Avatar billede windcape Praktikant
04. juni 2007 - 04:33 #8
Here you go:

<?php
$res = mysql_query("SELECT fldMEMO FROM table_q ORDER BY rand() LIMIT 0,1 ");
$quote = nl2br(trim(mysql_result($res,0)));
?>
<table> <tr> <td class="tip"><?php echo $quote; ?></td> </tr> </table>
Avatar billede jan2001 Nybegynder
04. juni 2007 - 10:30 #9
Jeg har selv forsøgt mig med noget. Forstår dog ikke hvorfor den skal trimmes og splittes i asp-koden.

$query = mysql_query("SELECT * FROM table_q WHERE fldACTIVE = 1 ORDER BY RAND() LIMIT 1");
$row = mysql_fetch_assoc($query);

echo $row['fldMEMO'];

At det er så dårligt programmeret er da en smule underligt, da det kommer fra expinion.net. Godt nok er programmet gratis, men de sælger andre programmer.
Avatar billede jan2001 Nybegynder
13. juni 2007 - 12:58 #10
Jeg har ikke fundet anden løsning, så jeg bruger din windcape. Læg gerne et svar.
Avatar billede jan2001 Nybegynder
23. september 2007 - 20:21 #11
-
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester