Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Portal przechwytywania zamówień PHP

Z punktu widzenia użyteczności, możesz ponownie rozważyć projekt swojego formularza. Jeśli użytkownik wypełni 149 wierszy formularza zamówienia i przypadkowo naciśnie przycisk Wstecz, będzie miał naprawdę zły dzień. Być może powinieneś rozważyć przechwycenie pojedynczej linii na raz lub umożliwienie użytkownikowi przesłania pliku (arkusza kalkulacyjnego, CSV itp.) zawierającego wszystkie wpisy.

Jeśli nie możesz zmienić projektu formularza, musisz przetworzyć linie w pętli. Pętla może wyglądać mniej więcej tak:

for ( $i = 1; $i <=150; $i++ ) {
    $name = $_POST['name' . $i];
    $value = $_POST['value1' . $i];
    // capture the rest of the field values
    $query = "INSERT INTO (...) VALUES ($name, $value, ...)";
    mysql_query($query);
}

Alternatywnie możesz dołączyć wynik każdej pętli do jednego dużego zapytania i uruchomić go po przechwyceniu wszystkich 150 wierszy.

Ze względu na zwięzłość pominąłem kilka szczegółów, które należy dodać:

  • Pomiń swoje dane wejściowe, aby upewnić się, że użytkownik nie uszkodzi bazy danych
  • Rozważ użycie PDO lub czegoś innego niż mysql_*, aby ułatwić korzystanie z bazy danych.
  • Sprawdź, czy nie przechwytujesz i nie wstawiasz pustych wartości, jeśli wiersz jest pusty.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać typ zapytania w PDO?

  2. mySQL INSERT IGNORE nie ignoruje

  3. Jak napisać wyzwalacz, aby przerwać usuwanie w MYSQL?

  4. Wybierz kolumnę według aliasu w MySQL

  5. Jak wybrać odchylenie standardowe w rzędzie? (w SQL - lub R :)