Matthias Apsel: HTML 1 Formular für EDIT und CREATE

Beitrag lesen

Hallo PHP-Neuling,

Das ist nach dem 14. Änderungsauftrag total nervig, da ich immer wieder mein "EDIT" Formular (Das ist das Formular, dass einen gespeicherten Datensatz vollständig anzeigt und editieren lässt) sowie auch das "CREATE" Formular (...) bearbeiten muss.

einen? oder alle/viele/einige

Ich habe noch einen ähnlichen Lösungsvorschlag.

$stmt = $db -> prepare("...");
$stmt -> execute();
$data = $stmt -> fetchAll(PDO::FETCH_ASSOC);

if (count($data) == 0) : 
  // defaultwerte_holen.php');
endif;

und dort

$stmt = $db -> prepare("SHOW COLUMNS FROM $table");
$stmt -> execute();
while ($row = $stmt -> fetch(PDO::FETCH_ASSOC)) :
  $data[0][$row['Field']] = $row['Default'] !== null 
    ? $row['Default'] 
    : ($row['Key'] != 'PRI' && (strpos($row['Type'],'int') !== false) || (strpos($row['Type'],'float') !== false) ? 0 : '');
endwhile;

Wenn es also default-Werte in der DB-Tabelle gibt, nimm diese, sonst setze passende Werte, hier 0 bzw. den Leerstring.

Damit wird das array $data befüllt. Und auf diese Weise kannst du ein Formular für edit und insert verwenden.

<?php for ($k = 0; $k < count($data); $k++) : ?>
<label>
  Name: <input name="Name[<?=$k?>]" 
               value="<?=htmlspecialchars($data[$k]['Name'])?>">
</label>
<?php endfor; ?>

Bis demnächst
Matthias

--
Du kannst das Projekt SELFHTML unterstützen,
indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.