webForumDet fria alternativet

ASP -> PHP konvertering.

4 svar · 352 visningar · startad av NeoBlizz

NeoBlizzMedlem sedan jan. 200351 inlägg
#1

Hejsan...

Försöker konvertera lite ASP kod till PHP men har lite problem..

ASP:

For Each ID In Request.Form
If IsNumeric(Request.Form(ID)) Then
Antal = Request.Form(ID)
Else
Antal = 0
End If
If Antal > 0 Then
Conn.Execute("Update shop_temp Set quantity=" & Antal & " Where ID='" & ID & "' And sid=" & Session.SessionID)
Else
Conn.Execute("Delete From shop_temp Where ID='" & ID & "' And sid=" & Session.SessionID)
End If
Next
Response.Redirect "kundvagn.asp"

Så här har jag översatt det jag kunnat. Problemet är For Each ID In Request.Form delen i ASP.

For Each ID In Request.Form {

  if (is_numeric($_POST[ID]) == "true") {
    $antal = $_POST[ID];
  }else{
    $antal = 0;
  }

  if ($antal > 0) {
    mysql_query("Update TEMP Set quantity='".$antal."' Where ID='".$_POST[ID]."' And SiD='".session_id()."'");
  }else{
    mysql_query("Delete From TEMP Where ID='".$_POST[ID]."' And SiD='".session_id()."'");
  }

}
    header ("Location: kundvagn.php");

Kan hända att en hel del måste ändrar när For Each ID In Request.Form delen har fixats.

tydalMedlem sedan juni 20034 013 inlägg
#2
foreach ($_POST as $key => $value)
{
  if (is_numeric($value) && $key == "ID")
    mysql_query("UPDATE shop_temp SET quantity = $value WHERE ID = $value AND sid = " . session_id());
  elseif ($key == "ID")
    mysql_query("DELETE FROM shop_temp WHERE ID = '$value' AND sid = " . session_id());
}
header("Location: kundvagn.php");
NeoBlizzMedlem sedan jan. 200351 inlägg
#3

Testat koden och den fungerar inte..

Kanske beror på att ID (For Each ID In Request.Form) har OLIKA värden beroende på hur många olika varor man har i kundvagnen.

ID=1
ID=2

osv osv.

så att $key == "ID" vet jag inte om det stämmer. för ID är ju alttid ID, men värdet kan vara olika..

ID i Formuläret skickas alltså som ID=SIFFRA.(1,2,3,osv osv).

tydalMedlem sedan juni 20034 013 inlägg
#4
foreach ($_POST as $key => $value)
{
  if (is_numeric($value) && $key == "ID" && $value > 0)
    mysql_query("UPDATE shop_temp SET quantity = $value WHERE ID = $value AND sid = " . session_id());
  elseif ($key == "ID")
    mysql_query("DELETE FROM shop_temp WHERE ID = '$value' AND sid = " . session_id());
}
header("Location: kundvagn.php");
NeoBlizzMedlem sedan jan. 200351 inlägg
#5

Ska prova nya koden du skrev bara för att se om den fungerar också.

lyckades annars lösa hur koden skulle se ut och den fungerar nu.

foreach ($_POST as $key => $value) {

  if (is_numeric($value) && $value != "0") {
    mysql_query("Update TEMP Set quantity='".$value."' Where ID='".$key."' And SiD='".session_id()."'");
  }else{
    mysql_query("Delete From TEMP Where ID='".$key."' And SiD='".session_id()."'");
  }

}
header ("Location: kundvagn.php");
135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)