Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Optymalizacja zapisu do bazy mysql
lustfingers
post
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
 
Start new topic
Odpowiedzi (1 - 2)
nospor
post
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
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 Aktualny czas: 20.08.2025 - 11:27