2016-04-10 2 views
0

Я хотел создать фирменный список (из sql) и кнопки для удаления. Это должно выглядеть примерно так:PHP - кнопка петли и вход в форму

------------------------------ 
|name_firm1 'delete_button'| 
|name_firm2 'delete_button'| 
|name_firm3 'delete_button'| 
------------------------------ 

я создал форму (здесь я удалил CSS элементы для вас):

echo '<form method="post" name="remove_firm_to_targs" action="">'; 

     while($saf = mysql_fetch_assoc($show_added_firm)) 
     { 
      $query = mysql_query ("SELECT id_firm, name_firm FROM firms WHERE id_firm ='".$saf['id_firm']."'"); 
      $q = mysql_fetch_assoc($query); 

      <input type="hidden" name="id_firm[]" value="'.$q['id_firmy'].'" /> 
      <div> '.$q['name_firm'].' </div> 
      <div><input type="submit" id="button" value="delete firm" name="remove_firm_to_targ"/></div></div>'; 
     } 
echo '</form>'; 

Я не могу $ _POST id_firm от скрытого ввода. Вот код:

if(isset($_POST['remove_firm_to_targ'])) { 
    $id_targ = $_GET['id']; 

    $id_firmy = array(); 
    foreach ($_POST['id_firm'] as $idid) 
    { 
     $id_firm[] = array ('idid' => $idid); 
    } 

    mysql_query ("DELETE FROM firm_to_targ WHERE id_firm = '".$id_firm.' && id_targ = '".$id_targ."'"); 
} 

меняю этот код много раз, так что теперь он имеет nosense.

+0

Не используйте 'mysql_ *' вместо этого [PDO Prepared Statementments] (http://php.net/manual/en/pdo.prepared-statements.php) Кстати вы пропустите двойной запрос '' 'в свой' Удалить запрос' – aldanux

ответ

2

Ваша форма должна быть такой: Я положил идентификатор фирмы в значение кнопки удаления.

while($saf = mysql_fetch_assoc($show_added_firm)) 
{ 
echo '<form method="post" name="remove_firm_to_targs" action="">'; 

    $query = mysql_query ("SELECT id_firm, name_firm FROM firms WHERE id_firm ='".$saf['id_firm']."'"); 
$q = mysql_fetch_assoc($query); 

<div> '.$q['name_firm'].' </div> 
<div><input type="submit" id="button" value="DELETE" name="remove_firm_to_targ"/></div></div> 
    <input type="hidden" name="delete_this" value="'.$q['id_firmy'].'"> 
    '; 

    echo '</form>'; 
} 

Итак, когда вы передаете кнопку для фирмы, она удалит фирму, которая имеет идентификатор на кнопку Удалить значение'S:

if(isset($_POST['remove_firm_to_targ'])) { 
$id_targ = $_GET['id']; 

mysql_query ("DELETE FROM firm_to_targ WHERE id_firm = '".$_POST['delete_this'].' && id_targ = '".$id_targ."'"); 
} 
+0

Я не знал это так просто :) Это сработало, но теперь, как я могу изменить значение каждая кнопка? я имею в виду, значение, которое отображается на кнопке :) Я не хочу иметь для ex. «23» на кнопке :) – Kafus

+0

@ Kafus Я отредактировал свой ответ. Повторно используйте измененный код, – mertizci

+0

HA! я знал, что скрытый вход должен быть там :) Большое спасибо – Kafus

-2
while($saf = mysql_fetch_assoc($show_added_firm)) { 
    $query = mysql_query ("SELECT id_firm, 
      name_firm FROM firms WHERE id_firm ='".$saf['id_firm']."'"); 
     $q = mysql_fetch_assoc($query); 
<div> '.$q['name_firm'].' </div> 
<a href="delete.php?id=$q['name']</div>'; 
} 
echo '</form>'; 

в Уре случае

+0

Пожалуйста, отформатируйте свой ответ лучше и добавьте описание * how *, которое обращается к исходному вопросу – Suever

Смежные вопросы