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 Novataris
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