03. januar 2015 - 16:50
Der er
11 kommentarer og 1 løsning
inset data i mysql, fra array i hver sin række
Hvis jeg har et array der indeholder en række id numrer, og jeg ønsker hver af disse insat i en mysql række, hvordan gøres det lettest? f.eks.: $list = implode(",", $idlist); $sql="INSERT INTO firmaprodukt (id, dato) VALUES ('$list',NOW())"; rinter jeg list, vil den give mig data på følgende måde: 94,309,324,327 er der en let måde at gøre dette?
Annonceindlæg fra DE-CIX
Edge computing: behandling ved kilden
Edge computing revolutionerer den måde, data behandles på, ved at bringe kapacitet og ydeevne tættere på dér, hvor der er behov for det.
15. april 2025
03. januar 2015 - 19:09
#1
$list = implode(",", $idlist); foreach($list as $id){ $sql="INSERT INTO firmaprodukt (id, dato) VALUES ($id,NOW())"; //Forbind til mysql. //Execute $sql }
03. januar 2015 - 19:46
#2
tak. Hvis man så har 2 arrays (ikke et multidirectional selv om det sikkert havde været smartere) array 2 indeholder en navne liste. som i den række følge de kommer i passer til id numrene. $navn = navn1, navn2, navn3 osv osv. $sql="INSERT INTO firmaprodukt (id,navn, dato) VALUES ('$list','$navn',NOW())"; de vil altid indeholde lige mange så første id passer til første navn osv osv. Er det muligt?
03. januar 2015 - 20:01
#3
$list = implode(",", $idlist); $navn = implode(",", $navnlist); foreach($list as $key => $id){ $sql="INSERT INTO firmaprodukt (id, navn, dato) VALUES ($id,$navn[$key], NOW())"; //Forbind til mysql. //Execute $sql } Sådan måske?
03. januar 2015 - 20:16
#4
får bare Warning: Invalid argument supplied for foreach()
03. januar 2015 - 20:26
#5
Så gør du noget forkert. :o)
03. januar 2015 - 22:35
#6
Syntes ellers det er taget direkte over fra dig af, more or less. if ($abnlist !== '') { $list = implode(",", $idlist); $navn = implode(",", $navnlist); foreach($list as $key => $id){ $sql="INSERT INTO fp (id, navn,dato) VALUES ($id,$navn[$key],NOW())"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "indhold er tilføjet..."; } } else { echo "ingen abn fornyelser"; }
03. januar 2015 - 23:16
#7
du må gerne smide et svar jeg har fået det til at virke :)
03. januar 2015 - 23:52
#8
Svar
04. januar 2015 - 00:05
#9
tak for hjælpen. du glemte svar
04. januar 2015 - 06:37
#10
Man kan også nøjes med èn INSERT for flere rækker: $id = array(1,2,3,4); $navn = array("juhu","jups","jeps","jowjow"); $vals = array(); foreach($id as $key => $nr) { $vals[] = "(".$nr.",'".$navn[$key]."',NOW())"; } $str = "INSERT INTO tabel (id, dato) VALUES ".implode(",", $vals); echo $str;
04. januar 2015 - 07:52
#11
Prøver igen
05. januar 2015 - 08:16
#12
Takker for point.
Vi tilbyder markedets bedste kurser inden for webudvikling