14. maj 2003 - 00:23Der 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'>" & " " & 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") & ">" & " <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'>" & " " & 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") & ">" & " <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
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
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...
--- 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"); ?>
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!
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 :)
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?
<?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"); ?>
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.
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.