Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Optymalizacja zapisu do bazy mysql
lustfingers
post 5.03.2017, 19:43:38
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 5
Dołączył: 18.03.2015

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
nospor
post 5.03.2017, 19:45:43
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




czemu nie dodasz zwyklego IF w swojej petli for?

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



--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
lustfingers
post 20.03.2017, 17:57:12
Post #3





Grupa: Zarejestrowani
Postów: 99
Pomógł: 5
Dołączył: 18.03.2015

Ostrzeżenie: (0%)
-----


To jest to, dzięki.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 18:34