Avatar billede bruna Nybegynder
14. maj 2003 - 00:23 Der er 13 kommentarer og
1 løsning

Udtræk med SQL/ASP oversættes til SQL PHP igen

Jeg vil meget gerne have lidt hjælp til, hvorledes jeg kan omskrive denne kode til PHP/Sql.


<%

Dim strConnect, Rs
' ---------------- skaber forbindelse til database med Rs
Set Rs = Server.CreateObject("ADODB.Connection")
Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../x/db/medlem.mdb")

' ---------------- SQL sætning der henter alt fra Film
sql = "SELECT titel, genre, instruktor, * FROM film order by titel"


' ---------------- Opretter et recordset = objRec
Set objRec = Server.CreateObject("ADODB.Recordset")


' ----------------- recordset åbner databse ved hjælp af Rs og "kører" SQL sætning
objRec.open sql, Rs

%>
                          <tr>
                            <td>
                              <%
' ----------------- Mens recordsettet ikke ved slutningen...

i = 1

While NOT objRec.EOF

If i mod 2 = 0 Then

' ----------------- Udskriv genre, Titel, Instruktør, slet
Response.Write "<tr class='tekst2'>" & "<td height='15'>" & "&nbsp;&nbsp;" & objRec("genre") & "</td><td height='15'>" & objRec("titel") & "</td><td height='15'>" & objRec("instruktor") &"</td><td height='15'><a onFocus='this.blur()' href=flyt.asp?id=" & objRec("id") & ">" & "&nbsp;<img src=""Billeder/slet1.gif"" border=""0"" width=""10"" height=""10"" Alt=""Slet " & objRec("titel") &" "">" & "</a></td></tr>"
' ----------------- recordsettet går videre til næste record
Else
' ----------------- Udskriv genre, Titel, Instruktør, slet
Response.Write "<tr class='tekst'>" & "<td height='15'>" & "&nbsp;&nbsp;" & objRec("genre") & "</td><td height='15'>" & objRec("titel") & "</td><td height='15'>" & objRec("instruktor") &"</td><td height='15'><a onFocus='this.blur()' href=flyt.asp?id=" & objRec("id") & ">" & "&nbsp;<img src=""Billeder/slet1.gif"" border=""0"" width=""10"" height=""10"" Alt=""Slet " & objRec("titel") &" "">" & "</a></td></tr>"
' ----------------- recordsettet går videre til næste record
End if
objRec.MoveNext
i = i + 1

' ----------------- løkke starter forfra
Wend


objRec.close
Rs.Close
SEt Rs = Nothing

%>
Avatar billede schaefner Juniormester
14. maj 2003 - 00:37 #1
Utestet:

<tr>
<td>
<?
mysql_connect("localhost","brugernavn","kodeord");
mysql_select_db("database");
$query = mysql_query("SELECT * FROM film ORDER BY titel") or die(mysql_error());
$i = 1;
while($row = mysql_fetch_array($query)) {
    if($i == 1) {
        echo "<tr class='tekst2'>";
        $i = 2;
    } else {
        echo "<tr class='tekst'>";
        $i = 1;
    }
    echo "<td height='15'>$row[genre]</td><td height='15'>$row[titel]</td><td height='15'>$row[instruktor]</td><td height='15'><a onFocus='this.blur()' href='flyt.asp?id=$row[id]'>&nbsp;<img src='Billeder/slet1.gif' border='0' width='10' height='10' Alt='Slet $row[titel]'></a></td>
    echo "</tr>";
}
?>
Avatar billede bruna Nybegynder
14. maj 2003 - 09:29 #2
Forløbigt tak for hjælpen. Jeg vil meget gerne have dig til at kigge på 2 asp'ere mere, som hører til denne slet-manøvre.


(flyt.asp):

<%
response.buffer = true
%>
<%

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../Cinemax/db/medlem.mdb")

SQLstmt = "SELECT id, titel, spilletid, premiere, genre, genre2, sprog, sprog2, instruktor, skuespiller1, skuespiller2, skuespiller3, skuespiller4, billede, billede2, movienavn, beskrivelse FROM film WHERE id = " & Request.QueryString("id")

Set rs = Conn.Execute (SQLstmt)

SQLstmt = "INSERT INTO papirkurv (titel, spilletid, premiere, genre, genre2, "
SQLstmt = SQLstmt & "sprog, sprog2, instruktor, skuespiller1, skuespiller2, "
SQLstmt = SQLstmt & "skuespiller3, skuespiller4, billede, billede2, "
SQLstmt = SQLstmt & "movienavn, beskrivelse) VALUES ("
SQLstmt = SQLstmt & "'" & rs("titel") & "',"
SQLstmt = SQLstmt & "'" & rs("spilletid") & "',"
SQLstmt = SQLstmt & "'" & rs("premiere") & "',"
SQLstmt = SQLstmt & "'" & rs("genre") & "',"
SQLstmt = SQLstmt & "'" & rs("genre2") & "',"
SQLstmt = SQLstmt & "'" & rs("sprog") & "',"
SQLstmt = SQLstmt & "'" & rs("sprog2") & "',"
SQLstmt = SQLstmt & "'" & rs("instruktor") & "',"
SQLstmt = SQLstmt & "'" & rs("skuespiller1") & "',"
SQLstmt = SQLstmt & "'" & rs("skuespiller2") & "',"
SQLstmt = SQLstmt & "'" & rs("skuespiller3") & "',"
SQLstmt = SQLstmt & "'" & rs("skuespiller4") & "',"
SQLstmt = SQLstmt & "'" & rs("billede") & "',"
SQLstmt = SQLstmt & "'" & rs("billede2") & "',"
SQLstmt = SQLstmt & "'" & rs("movienavn") & "',"
SQLstmt = SQLstmt & "'" & rs("beskrivelse") & "')"


Conn.Execute (SQLstmt)

SQLstmt = "DELETE FROM film WHERE id = " & Request.QueryString("id")
Conn.Execute (SQLstmt)


conn.Close
Set conn = nothing
Set SQLstmt = nothing

response.redirect ("admin_slet.asp")
%>


OG DENNE (papirkurv):

<%

Dim strConnect, Rs
' ---------------- skaber forbindelse til database med Rs
Set Rs = Server.CreateObject("ADODB.Connection")
Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../Cinemax/db/medlem.mdb")

' ---------------- SQL sætning der henter alt fra Film
sql = "SELECT titel, genre, instruktor, * FROM papirkurv order by titel"


' ---------------- Opretter et recordset = objRec
Set objRec = Server.CreateObject("ADODB.Recordset")


' ----------------- recordset åbner databse ved hjælp af Rs og "kører" SQL sætning
objRec.open sql, Rs

%>
                          <tr>
                            <td>
                              <%
' ----------------- Mens recordsettet ikke ved slutningen...

i = 1
While NOT objRec.EOF

If i mod 2 = 0 Then

' ----------------- Udskriv genre, Titel, Instruktør, slet
Response.Write "<tr class='tekst2'>" & "<td height='15'>" & "&nbsp;&nbsp;" & objRec("genre") & "</td><td height='15'>" & objRec("titel") & "</td><td height='15'>" & objRec("instruktor") &"</td><td height='15'><a onFocus='this.blur()' href=slet.asp?id=" & objRec("id") & ">" & "&nbsp;<img src=""Billeder/slet2.gif"" border=""0"" width=""10"" height=""10"" Alt=""Slet " & objRec("titel") &" "">" & "</td><td height='15'>&nbsp;&nbsp;&nbsp;<a onFocus='this.blur()' href=gendan.asp?id=" & objRec("id") & ">" & "&nbsp;<img src=""Billeder/ok.gif"" border=""0"" width=""10"" height=""10"" Alt=""Gendan " & objRec("titel") &" "">" & "</td></tr>"
' ----------------- recordsettet går videre til næste record
Else
' ----------------- Udskriv genre, Titel, Instruktør, slet
Response.Write "<tr class='tekst'>" & "<td height='15'>" & "&nbsp;&nbsp;" & objRec("genre") & "</td><td height='15'>" & objRec("titel") & "</td><td height='15'>" & objRec("instruktor") &"</td><td height='15'><a onFocus='this.blur()' href=slet.asp?id=" & objRec("id") & ">" & "&nbsp;<img src=""Billeder/slet2.gif"" border=""0"" width=""10"" height=""10"" Alt=""Slet " & objRec("titel") & """>" & "</td><td height='15'>&nbsp;&nbsp;&nbsp;<a onFocus='this.blur()' href=gendan.asp?id=" & objRec("id") & ">" & "&nbsp;<img src=""Billeder/ok.gif"" border=""0"" width=""10"" height=""10"" Alt=""Gendan " & objRec("titel") &""">" & "</td></tr>"
' ----------------- recordsettet går videre til næste record
End if
objRec.MoveNext
i = i + 1

' ----------------- løkke starter forfra
Wend


objRec.close
Rs.Close
SEt Rs = Nothing

%>
Avatar billede schaefner Juniormester
16. maj 2003 - 00:58 #3
--- flyt.php ---
Er iøvrigt ikke helt sikker på om jeg har forstået asp-koden korrekt.

<?php
mysql_connect("localhost","brugernavn","kodeord");
mysql_select_db("database");
// Hiver filmens data ud fra tabellen 'film'
$query = mysql_query("SELECT * FROM film WHERE id = $_GET[id]")  or die(mysql_error());
$row = mysql_fetch_array($query);

// Indsætter dem i tabellen 'papirkurv'
mysql_query("INSERT INTO papirkurv (titel, spilletid, premiere, genre, genre2, sprog, sprog2, instruktor, skuespiller1, skuespiller2, skuespiller3, skuespiller4, billede, billede2, movienavn, beskrivelse) VALUES ('$row[titel]','$row[spilletid]','$row[premiere]','$row[genre]','$row[genre2]','$row[sprog]','$row[sprog2]','$row[instruktot]','$row[skuespiller1]','$row[skuespiller2]','$row[skuespiller3]','$row[skuespiller4]','$row[billede]','$row[billede2]','$row[movienavn]','$row[beskrivelse]')") or die (mysql_error());

// Sletter filmen fra tabellen 'film'
mysql_query("DELETE FROM film WHERE id = $_GET[id]") or die(mysql_error());
// Sender brugeren tilbage til admin_slet.php
header("location: admin_slet.php");
?>
Avatar billede bruna Nybegynder
16. maj 2003 - 13:10 #4
Jeg får en sql fejl på linie 1 i flyt.php. Det der helt skal foregå er, at alle film er listet på én side (slet.php) på denne kan man trykke på en slet knap ud fra hver film. Slettes én film - puttes denne vha. flyt.php i en papirkurv (papirkurv.php). Brugeren redirectes til slet.php - men kan også vælge at gå ind i vis papirkurv og slette den helt eller gendanne. Du kan teste det på http://www.m-designer-b.dk/cinemax/ (log ind med brugernavn : admin og login : admin. Afprøv Slet film og Vis papirkurv. De to asp'ere (admin_slet.asp og papirkurv.asp - er dem som jeg gerne vil have oversat til .php.
På forhånd tak!
Avatar billede schaefner Juniormester
16. maj 2003 - 13:31 #5
Jeg kigger videre på det :)
Avatar billede schaefner Juniormester
16. maj 2003 - 14:11 #6
Men jeg vender nok først tilbage i aften.
Avatar billede bruna Nybegynder
16. maj 2003 - 14:14 #7
Det er bare helt ok :o)
Avatar billede schaefner Juniormester
16. maj 2003 - 23:31 #8
Bare et lille forslag til at gøre det nemmere. Hvad med at nøjes med en tabel hvor du tilføjer et felt kaldet status. Hvis det felt er lig med et 0, så er filmen "slettet" og omvendt hvis den erl ig med 1. Hvis du er intereseret i en løsning udfra den idé, så må du lige skrive tilbage :)
Avatar billede bruna Nybegynder
17. maj 2003 - 10:36 #9
Kunne måske være muligt, men jeg vil helst bruge den anden løsning, da jeg har tænkt mig at bruge det sammen princip til en bestillingsside og en indkøbskurv. Kan du hjælpe mig?
Avatar billede schaefner Juniormester
18. maj 2003 - 01:41 #10
Utestet ;)

--- papirkurv.php ---

<?php
/*
Denne fil viser de film der ligger i 'papirkurv'
*/
mysql_connect("","","");
mysql_select_db("");
$query = mysql_query("SELECT * FROM papirkurv ORDER BY id DESC") or die(mysql_error());
while($row = mysql_fetch_array($query)) {
    echo "$row[genre] - $row[titel] - $row[instruktor] (<a href=\"slet.php?id=$row[id]\">Slet</a> | <a href=\"gendan.php?id=$row[id]\">Gendan</a><br>";
}

// Hvor skal brugeren sendes hen?
header("location: admin_slet.php");
?>

--- slet.php ---

<?php
/*
Denne fil skulle gerne slette filen fuldstændig
*/
mysql_connect("","","");
mysql_select_db("");
mysql_query("DELETE FROM papirkurv WHERE id = $_GET[id]") or die(mysql_error());

// Hvor skal brugeren sendes hen?
header("location: admin_slet.php");
?>

--- gendan.php ---

<?php
/*
Denne fil skulle gerne flytte filmen fra 'papirkurv' til 'film'.
*/
mysql_connect("","","");
mysql_select_db("");
$query = mysql_query("SELECT * FROM papirkurv WHERE id = $_GET[id]") or die(mysql_error());
$row = mysql_fetch_array($query);

mysql_query("INSERT INTO film (titel, spilletid, premiere, genre, genre2, sprog, sprog2, instruktor, skuespiller1, skuespiller2, skuespiller3, skuespiller4, billede, billede2, movienavn, beskrivelse) VALUES ('$row[titel]','$row[spilletid]','$row[premiere]','$row[genre]','$row[genre2]','$row[sprog]','$row[sprog2]','$row[instruktot]','$row[skuespiller1]','$row[skuespiller2]','$row[skuespiller3]','$row[skuespiller4]','$row[billede]','$row[billede2]','$row[movienavn]','$row[beskrivelse]')") or die (mysql_error());

mysql_query("DELETE FROM papirkurv WHERE id = $_GET[id]") or die(mysql_error());

// Hvor skal brugeren sendes hen?
header("location: admin_slet.php");
?>

--- flyt.php ---

<?php
/*
Denne fil skulle gerne flytte filmen fra 'film' til 'papirkurv'.
*/
mysql_connect("","","");
mysql_select_db("");
$query = mysql_query("SELECT * FROM film WHERE id = $_GET[id]") or die(mysql_error());
$row = mysql_fetch_array($query);

mysql_query("INSERT INTO papirkurv (titel, spilletid, premiere, genre, genre2, sprog, sprog2, instruktor, skuespiller1, skuespiller2, skuespiller3, skuespiller4, billede, billede2, movienavn, beskrivelse) VALUES ('$row[titel]','$row[spilletid]','$row[premiere]','$row[genre]','$row[genre2]','$row[sprog]','$row[sprog2]','$row[instruktot]','$row[skuespiller1]','$row[skuespiller2]','$row[skuespiller3]','$row[skuespiller4]','$row[billede]','$row[billede2]','$row[movienavn]','$row[beskrivelse]')") or die (mysql_error());

mysql_query("DELETE FROM film WHERE id = $_GET[id]") or die(mysql_error());

// Hvor skal brugeren sendes hen?
header("location: admin_slet.php");
?>
Avatar billede bruna Nybegynder
18. maj 2003 - 22:58 #11
Hej igen,
Jeg har afprøvet sagerne, men der er et par småfejl. Er det muligt at sende dig de 4 filer, det drejer sig om, til dig på en mailadresse?? Så er det nok lidt nemmere, og så kan jeg skrive, hvor du kan afprøve det.
På forhånd mange tak for hjælpen.
Avatar billede schaefner Juniormester
21. maj 2003 - 23:52 #12
Du kan sende det til: admin(at)schaefner(dot)dk
Avatar billede schaefner Juniormester
25. maj 2003 - 14:14 #13
Fik at vide at det virkede alligevel.
Avatar billede bruna Nybegynder
25. maj 2003 - 14:17 #14
Endnu en gang tak for hjælpen!
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