Visa ett inlägg
Oläst 2009-10-05, 14:22 #4
dotvoid dotvoid är inte uppkopplad
Medlem
 
Reg.datum: Apr 2006
Inlägg: 199
dotvoid dotvoid är inte uppkopplad
Medlem
 
Reg.datum: Apr 2006
Inlägg: 199
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
dotvoid är inte uppkopplad   Svara med citatSvara med citat