Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Optymalizacja zapisu do bazy mysql
Forum PHP.pl > Forum > Przedszkole
lustfingers
Witam, mam formularz który wysyła naście inputów do pliku który dokonuje zapisu, niestety część inputów może być przekazana na pusto, ich wartości są przekazywane w tablicy a sam zapis dokonuje tak:


  1. $idreceipt = 5;
  2. $values = array();
  3. for($i=0, $count = count($_POST['ingredient']) ;$i < $count; $i++) {
  4. $values[] = '("' .$idreceipt. '","' . $_POST['ingredient'][$i] . '","' . $_POST['deliverydate'][$i] . '","' . $_POST['storage'][$i] . '")';
  5. INSERT INTO receipts (id_receipts,ingredient, deliverydate, storage) VALUES " . implode(',', $values);


I zapis wygląda np. tak:
  1. | 5 | składnik 1 | 2017-03-05 | 5 |
  2. | 5 | | 0000-00-00 | 0 |
  3. | 5 | składnik 2 | 2017-03-01 | 3 |
  4. | 5 | składnik 3 | 2017-03-05 | 2 |


Jak widać drugi wpis posiada pusty tekst, datę i numer, jedyne co posiada to ID i teraz chce odfiltrować takie wpisy z samym ID aby nie zapisywać ich do bazy, bez problemu mógłbym dodać zapytanie czyszczące bazę z takich wpisów ale nie wydaje sie to optymalnym rozwiązaniem.
nospor
czemu nie dodasz zwyklego IF w swojej petli for?

  1. if (empty(trim($_POST['ingredient'][$i]))) {
  2. continue;
  3. }

lustfingers
To jest to, dzięki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.