webForumDet fria alternativet

Uppdatera flera rader i databasen med olika värden

PHP

26 svar · 790 visningar · startad av filipbh · sida 2 av 2

Frågan, av filipbh

Hej, hur gör man lättast för att uppdatera värdena i ett formulär till databasen? Har en mysql-hämtning som hämtar olika rader från databasen som sen skrivs ut i ett formulär. De utskrivna värdena ska man alltså kunna uppdatera. Nu lyckas jag bara att uppdatera den sista raden men inte alla.

Läs frågan i sin helhet →
Medlem sedan juli 2002405 inlägg
#21

rowid är alltså bara namnet på det gömda fältet innehållande produktens id.

<input type="hidden" name="rowid" value="<?=$shop_id;?>">
Medlem sedan mars 20034 471 inlägg
#22

OK så $shop_id är primärnyckeln i produkttabellen i databasen?

Varför lagrar du inte antalet också i temp_order? Vore inte det enklare?

Men, pröva:

//för varje rad: 
<?php $nameN = "antal".$shop_id; 
//Förutsatt at $shop_id är primärnyckel för produkter i databasen 
echo "<input type=\"text\" class=\"form\" name=\"$nameN\" id=\"$shop_prodnr\" value=\"$shop_antal\">"; 
//Endast ett fält per produktnr att hålla reda på.

//i mottagarfilen 
if($_GET['recount']){ 
$link = mysql_connect("localhost","$u","$p"); 
$databas = mysql_select_db("databas"); 
foreach ($_POST as $ix => $info){ 
    if (strstr($ix, 'antal') !== FALSE) { 
       $id = substr($ix, 5); //Den del av strängen som håller i $shop_id 
       $sql = "UPDATE fyrshop_temporder SET kop_antal='$info' WHERE id = $id"; 
       mysql_query("$sql"); 

       echo "görs om"; 
    } 
}
Medlem sedan juli 2002405 inlägg
#23

$shop_id är idnumret i temporder.. Så här ser tabellerna ut

tabell fyrshop_temporder:
id mediumint(9) Nej auto_increment
oid int(11) Nej 0
order_owner char(30) Nej
prod_artnr int(11) Nej 0
kop_antal int(11) Nej 0
pris char(6) Nej
skapad_datum char(15) Nej
skapad_ip char(15) Nej
status

tabell fyrshop_produkter:
id mediumint(9) Nej auto_increment
kid int(11) Nej 0
ukid int(11) Nej 0
artnr varchar(6) Nej
produktnamn varchar(30) Nej
produktinfo longtext Nej
produktinfo_more longtext Nej
bildfilnamn varchar(30) Nej
pris varchar(6) Nej
antal int(11) Nej 0
skapad_datum varchar(15) Nej
skapad_ip varchar(15) Nej
status

$shop är alltså data från fyrshop_temporder och $product är data från fyrshop_produkter. Men den senare spelar inte någon roll i detta sammanhang utan det viktiga är att fyrshop_temporder uppdateras...

Medlem sedan juli 2002405 inlägg
#24

Du är en ängel :)

Medlem sedan juli 2002405 inlägg
#25

Om man har checkbox och vill att användaren ska kunna markera flera rader och ta bort dem samtidigt, gör man på samma sätt då?

Medlem sedan mars 20034 471 inlägg
#26

Det bör nog bli precis likadant i ditt fall, tror jag, eftersom varje produkt hör till EN checkbox.

Medlem sedan juli 2002405 inlägg
#27

Okej, får testa det sen... Tack

263 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)