Kom ihåg mig?
Home Menu

Menu


checkbox array update

Ämnesverktyg Visningsalternativ
Oläst 2009-12-29, 23:34 #1
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Standard checkbox array update

Hej!
Jag har ett recept som har flera altenativ som tex GI, billigt, small mm Dessa ligger i en egen tabell och läggs in via en loop

while (list ($key,$val) = @each ($alternativ)) {
mysql_query("INSERT INTO tblReceptalt SET recId='$recId',altId='$val'") or die("Det har uppstått ett fel:" . mysql_error());
}

Nu skulle jag behöva att användaren kan uppdatera denna infomation så vid uppdatering hämtas infomationen till formuläret vilka som är valda sedan tidigare men sen när man ska skicka in det och uppdatera det till databasen kan jag inte riktigt få till det. Arryen från checkboxen inehåller väll bara infomation från de valda boxarna så när jag loopar igenom och en post ska tas bort hur gör man då? fins det någon som har haft något liknande någon gång?

kombinationen av recId och altId är unique
Fia är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-12-30, 00:41 #2
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Enklaste är att tömma all information som finns om receptet när man uppdaterar.

Sedan skulle jag rekommendera dig att göra följande:

PHP-kod:
while (list ($key,$val) = @each ($alternativ)) { 
mysql_query("INSERT INTO tblReceptalt SET recId='".mysql_real_escape_string($recId)."',altId='".mysql_real_escape_string($val)."'") or die("Det har uppstått ett fel:" mysql_error()); 

Eftersom din kod idag innehåller möjligheten till SQL-injection. Vilket mer eller mindre tillåter en att skicka oönskad information eller helt enkelt köra SQL-kod direkt mot din databas.
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-12-30, 08:16 #3
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
Har du funderat på att använda ajax?
Då ändrar du en checkbox åtgången och sparningen till databasen sker direkt.
Även ny post och radering av post fungerar fint med denna metod.
Dessutom är det rätt fräckt att ha på sin site
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-12-30, 20:38 #4
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
Fia Fia är inte uppkopplad
Medlem
 
Reg.datum: May 2007
Inlägg: 87
mysql_real_escape_string använder jag i en function som jag kör hela post variablen igenom där gör jag litte koller på det mesta. Jag använder Ajax vid ett par andra tillfällen som tex när man spara receptet in till sin användare men vid detta tillfället vill jag nog köra att spara allt på en knapptryckning.
Jag funderade på det också att slänga bort allt och lägga in alternativen på nytt men tänkte att det kanske fans ett annat alltenativ som att först lägga till nya och sen göra någon typ av delete på de som inte längre används. man kanske kunde lägga in en timestamp vid de nya och existerande och slänga bort de som inte har rätt timestamp sen. kanske lite overkill jag kastar nog bort och lägger in på nytt.
Tack för tipsen!
Fia är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 04:18.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017