Ich bin auf diesem fest und ich bin nicht wirklich sehen, wo genau das Problem ist.PHP-Array mit dem gleichen Wert
ich eine Reihe von Eingangs-Tags haben, die so angeordnet sind:
<div class="col-md-3">
<label>Material 1</label>
<input hidden="hidden" name="idMaterial[]" value="13" type="text" />
<input class="form-control" name="total[]" type="text" />
</div>
<div class="col-md-3">
<label>Material 2</label>
<input hidden="hidden" name="idMaterial[]" value="8" type="text" />
<input class="form-control" name="total[]" type="text" />
</div>
Ich habe 20 Eingang so, hier ist die Idee, dass, wenn ich 10 in das Eingabefeld Material 1 ist zu schreiben, meine DB würde receice so etwas wie:
id => A.I
idMaterial => 13
total => 10
Aber sobald ich den Code ausführen, kommt es so, dass (die idMaterial wiederholen, auch wenn ich in mehr als 1 Eingang schreiben sie immer wiederholen die erste.):
idMaterial: 13
total: 10
idMaterial: 13
total: 20
Das ist der Code, den ich diese Form erhalten bin mit:
$idMaterial = array();
$total = array();
if($this->input->post('total')){
foreach($this->input->post('idMaterial') as $row){
$idMaterial = $row;
foreach($this->input->post('total') as $row2){
$total = $row2;
echo 'Material: '. $idMaterial .'<br> Total: '. $total. '<br><br>'; // TESTING THE OUTPUT
$query = $this->pedido->salvaLabMaterial($total, $idMaterial); // I'M SENDING THE DATA TO MODEL HERE
}
}
}
Irgendwelche Tipps ist sehr willkommen.
Ihre Schleifen verschachtelt sind Sie werden also nicht die gewünschten Ergebnisse erzielen. Um dies richtig zu machen, müssen Sie den Schlüsselwert in Ihren Eingabe-Namen setzen, dh 'idMaterial [1]' und 'total [1]' so können Sie die zugehörige Summe nach Schlüsselnamen referenzieren. Dann tust du anstatt für jeden eine passende Summe zu bekommen, sagst du '$ _POST ['total'] [$ matching_key]' – cmorrissey
In Anbetracht dessen, dass ich nicht alle Eingaben, z. in einigen Jobs würde ich nur 2 aus den 20 füllen. Sagen, dass ich möchte nur diese 2 erhalten, anstatt die anderen 18 Eingabefelder als null zu erhalten. Würde ich das nur dadurch erreichen können? – VerdenKaf