FAQ |
Kalender |
![]() |
#4 | ||
|
|||
Medlem
|
Det finns lyckligtvis bättre sätt att jobba med många fält. Du kan ha input-fält med samma namn deklarerat som en array.
<form> <input type="text" name="ingrediens[]"> <input type="text" name="ingrediens[]"> <input type="text" name="ingrediens[]"> </form> foreach ($_POST['ingrediens'] as $value) { // Gör vad du ska med ingrediensen som nu är i $value. Exempelvis if (trim($value) != '') { $value = mysql_real_escape_string($value); // Skapa insert/update/whatever } } Mysql-api:et är kanske inte det optimala heller. Kolla mysqli-apiet eller PDO. Om du loopande ska lägga in data i en databas borde du också förbereda (prepare) ett sql-statement som då får bättre prestanda och slipper riskera att missa mysql_real_escape_string edy. Exempel med PDO mot MySQL: $dsn = 'mysql:dbname=receptdb;host=localhost'; $dbUser = 'receptanv'; $dbPassword = 'hemligtlösenord'; $dbh = new PDO($dsn, $dbUser, $dbPassword); $stmt = $dbh->prepare('INSERT tblIngrediens (ingrediens) VALUES(:ingrediens)'; foreach ($_POST['ingrediens'] as $value) { $stmt->execute(array(':ingrediens', trim($value)); } Sen antar jag att du i verkligheten har en del annat som kopplar ihop ingredienserna mot ett recept. Men det lägger inte jag mig i ![]() Innan du fortsätter så läs mer om PDO på http://se2.php.net/manual/en/book.pdo.php |
||
![]() |
![]() |
Ämnesverktyg | |
Visningsalternativ | |
|
|