sql >> Databáze >  >> RDS >> Mysql

Jak předat název vstupu prostřednictvím požadavku GET v PHP

Neexistuje žádný <form> zapouzdření vstupu Prvky. Navíc musíte použít <input type="submit" ... > prvek namísto značky ukotvení k odeslání zadaných dat uživatele na itemedit.php strana. Změňte tedy for smyčky následujícím způsobem,

for($i=1;$i<=$menuSet->GetMenuItems();$i++){ 
    $func = "GetMenuLink".$i;
    ?>
        <tr>
            <form action="itemedit.php?i=<?php echo $i; ?>" method="post">
        <td>$i</td>
        <td><input type='text' name='e' value='<?php echo $menuSet->$func(); ?>'/></td>
        <td>
            <input type='submit' value='Edit' class='glyphicon glyphicon-pencil' />&nbsp; 
            </form>
            <a title='Remove' href='itemdelete.php?i=<?php echo $i; ?>'><span class='glyphicon glyphicon-remove'></span></a>
        </td>
        </tr>
    <?php
}

A v itemedit.php zpracujte odeslaná data formuláře následujícím způsobem,

if (isset($_GET['i'])){
    $i = $_GET['i'];
    $e = $_POST['e'];
    $editItem = new Menus();
    // update the menu items
    $editItem->EditMenuItem($i,$e);
    ...

Aktualizace(1):

Váš připravený příkaz a bindParam() volání metody je také špatné. Mělo by to být takto:

$adm = $this->db->prepare("UPDATE menu_nav SET menu_link_$i = ?");
$adm->bindParam(1, $e, PDO::PARAM_STR);



  1. Jaký je nejlepší způsob, jak zkontrolovat, zda něco existuje s PDO

  2. Oracle – Jak vytvořit materializovaný pohled pomocí FAST REFRESH a JOINS

  3. Django – OperationalError:(1054, neznámý sloupec 'xx' v 'seznamu polí')

  4. Kód chyby:1064 v mysql