Ich habe zweidimensionale Array. Ich versuche, es db einzufügen. Meine Datenbank istEinfügen zweidimensionalen Array in db
organisiertID | ORDERID | DIMENSION | QUANTITY | PACKETNAME
Ich schaffe Array
while($r = $q->fetch())
$dat[]=array($r['Length'],$r['Quantity']);
Array
(
[0] => Array
(
[0] => Array
(
[0] => 12500
[1] => 8
)
)
[1] => Array
(
[0] => Array
(
[0] => 12500
[1] => 8
)
)
[2] => Array
(
[0] => Array
(
[0] => 12500
[1] => 8
)
)
[18] => Array
(
[0] => Array
(
[0] => 6400
[1] => 6
)
[1] => Array
(
[0] => 5558
[1] => 2
)
)
Sobald ich diese Ausgabe habe, muss ich es in db einzufügen, wie oben erwähnt.
Für ex nach [1] => Array, Dimension = 12500, Menge 8 und Paket Name ist 2 aber nach [1] => Array würde Paketnamen 19 für beide Dimensionen 6400 und 5558. sein würde ich Name - um 1 erhöhen. Ich weiß nicht, ob dieser Weg möglich ist, es einzufügen. Jede Hilfe willkommen
-Code aus, was ich Arrays erhalten
while($r = $q->fetch()) $dat[]=array($r['Duzina'] ,$r['Kolicina']);
// package size:
$n=10;
$cnt=0; // initialize package counter
$pack=array(); // set up first package
$d=array_shift($dat); // get first lot $d from $dat
do {
if ($d[1]>0){
$take=min($d[1],$n-$cnt); // decide how much to take out ...
$cnt+=$take; // increase package counter
$d[1]-=$take;$pack[]=array($d[0],$take); // tranfer the goods ...
// if package is full, start next one
if ($cnt==$n) {$packs[]=$pack; $pack=array(); $cnt=0;}
} else if(count($dat)>0){ // still elements in $dat left?
$d=array_shift($dat); // get the next lot $d from $dat
} else break;
} while(true);
if ($cnt>0) $packs[]=$pack; // collect the last "stranded" package ...
echo "<pre>";
//echo str_replace("]],","]],\n ",json_encode($packs)); // as JSON string
print_r($packs); // conventional (bulky) PHP object notation
echo "</pre>";
'json_encode()' verwandelt Ihr Array in eine Zeichenkette, die Sie speichern können. Wenn Sie diese Daten später abrufen, können Sie 'json_decode()' verwenden, um sie wieder in ein Array oder Objekt umzuwandeln. – GrumpyCrouton
Ihre Ausgabe sieht nicht wie das Array aus, das Sie mit der Schleife erstellen. Es gibt eine zusätzliche Ebene der Array-Verschachtelung. – Barmar
Ich verstehe das überhaupt nicht. Ich sehe nirgendwo "12580" oder "5400", meinst du "12500" und "6400"? Aber '6400' ist in' [18] ', nicht' [1] '. – Barmar