webForumDet fria alternativet

Göra om fråga till en insert

PHP

2 svar · 256 visningar · startad av Melea

Medlem sedan juli 20033 147 inlägg
Frågan#1

Hejsan!

Har en liten fråga hur jag ska göra för att göra denna koden till en insert:

for ($i = 1; $i<= $_POST['oneonone_count']; $i++) {
  $SQL = "INSERT INTO teamswe_matches (oneonone_own, oneonone_enemy, oneonone_result) VALUES ('".$_POST['oneonone_own'.$i]."', '".$_POST['oneonone_enemy'.$i]."',
'".$_POST['oneonone_result'.$i]."')"; 
  mysql_query($SQL);
}

for ($i = 1; $i<= $_POST['twoontwo_count']; $i++) {
  $SQL = "INSERT INTO teamswe_matches (twoontwo_own1, twoontwo_enemy1, twoontwo_own2, twoontwo_enemy2, twoontwo_result) VALUES ('".$_POST['twoontwo1_own'.$i]."', 
'".$_POST['twoontwo2_own'.$i]."', '".$_POST['twoontwo_enemy1'.$i]."', '".$_POST['twoontwo_enemy2'.$i]."', 
'".$_POST['twoontwo_result'.$i]."')"; 
  mysql_query($SQL);
}

for ($i = 1; $i<= $_POST['threeonthree_count']; $i++) {
  $SQL = "INSERT INTO teamswe_matches (threeonthree_own1, threeonthree_enemy1, threeonthree_own2, 
threeonthree_enemy2, threeonthree_own3, threeonthree_enemy3, threeonthree_result) VALUES ('".$_POST['threeonthree_own1'.$i]."', 
'".$_POST['threeonthree_enemy1'.$i]."', '".$_POST['threeonthree_own2'.$i]."', '".$_POST['threeonthree_enemy2'.$i]."', 
'".$_POST['threeonthree_own3'.$i]."', '".$_POST['threeonthree_enemy3'.$i]."', '".$_POST['threeonthree_result'.$i]."')"; 
  mysql_query($SQL);
}

Det jag vill är att all den infon som skrivs in ska skrivas in hamna på samma ID, nu läggs allting in med 3 olika ID'n eftersom jag gör 3 olika inserts... Hoppas någon förstår vad jag menar, har en sån där "dålig på att förklara dag" :)

Tack på förhand

Mvh

/Red Notera att radbrytningarna i koden inte finns där egentligen, bara för att förenkla.

Medlem sedan jan. 2000372 inlägg
#2

Jag använder alltid implicit syntax när jag gör en INSERT - jag tycker det blir tydligare så.
Du kan alltså skriva din SQL såhär istället:

[kod]
INSERT INTO teamswe_matches SET threeonthree_own1 = '{$_POST["threeonthree_own1"]}', threeonthree_enemy1 = '{$_POST["threeonthree_enemy1"]}'

osv - dvs släng ihop alla dina fältinserts i en lång rad.

Medlem sedan okt. 2001538 inlägg
#3

Skulle du inte ... iofs blir det ju minst tre frågor... men skulle du inte kunna lägga till resultaten i fråga 1, sedan använda dig utav mysql_insert_id() för att få ut det id som precis skapats, och på en eller flera resterande frågor köra en update på den rad där id stämmer överrens, och där uppdatera in datan i fälten?

Kanske bara blir krångligare än vad det är i ursprungsfrågan, men om du inte har något emot att köra flera frågor, men prompt måste ha samma id på dem, så är ju detta ett alternativ..

MVH Patrik

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)