2014-09-30 2 views
0

Я создал таблицу для отображения сведений о сотруднике. Вот часть коды используется на странице табличногоРедактирование строки таблицы с php

echo "<td> <a href='#edit' data-toggle='modal'> edit </a> </td>"; 

Просмотра полученной после этой страницы выполняются будет что-то вроде этого

ID Name Edit 
1 emp1 edit 
2 emp2 edit 

кода для модального

<div class = "modal fade" id="edit" role="dialog"> 
<div class = "modal-dialog"> 
<div class = "modal-content"> 
<div class = "modal-header"> 
<h4> Edit </h4> 
</div> 

<div class="modal-body"> 
<form role="form" action="edit_emp.php" method="post"> 
<div class="form-group"> 
<label for="exampleInputEmail1">Name</label> 
<input type="text" class="form-control" id="exampleInputEmail1" placeholder="" name="empname"> 
</div> 

<input name="submit" type="submit" value=" Edit ">    
</form> 
</div> 

<div class="modal-footer"> 
<a class="btn btn-primary" data-dismiss="modal"> Close </a> 

</div> 
</div> 
</div> 
</div> 

код, используемый в страница edit_emp.php:

<?php 
$con=mysqli_connect("localhost","root","","employee"); 
// Check connection 
if (mysqli_connect_errno()) { 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$id = $_POST['id']; 
$empname=$_POST['empname']; 

mysqli_query($con,"UPDATE employee SET empname='$empname' WHERE id='".$id."'"); 
mysqli_close($con); 
header("Location: index.php"); 
?> 

Мне жаль, что, когда модальные всплывающие окна, пользователь может ввести новое значение и обновляет значение этой конкретной строки. Проблема в том, что он просто запускает код, не показывая никакого результата. Может кто-нибудь, пожалуйста, скажите мне, как получить желаемый результат.

+0

ли у ou перенаправляется на 'index.php'? Вы можете показать код в 'index.php'. \ –

+0

- это ваш запрос на обновление, или вы получаете значение в $ _GET ['id'] ?? – TBI

+0

может быть, я ошибаюсь, то, что вы пытаетесь сделать, это запустить форму и в состоянии редактировать базу данных через форму, с помощью поля ввода empname и с идентификатором, который вы получаете в $ _GET ['ID'], исправьте меня если я ошибаюсь. Спасибо –

ответ

0
mysqli_query($con,"UPDATE employee SET empname='$empname' WHERE id='".$id."'"); 

заменить

$result= mysqli_query($con,"UPDATE employee SET empname=$empname WHERE id='$id'"); 
if ($result===false) { 
    printf("error: %s\n", mysqli_error($con)); 
} 

Благодарности
php-tutorial-php.blogspot.in

+1

, отредактируйте свой запрос, чтобы предложить параметризованный запрос, а не стандартный запрос с строковой композицией. как и сейчас, этот запрос Чрезвычайно уязвим для SQL-инъекции –

+0

@ user1586474 it is not workn – user3789102

+0

дорогой, как он будет работать, у него нет значения для $ id –

0

Добавьте эту строку ваша форма

<label for="exampleInputEmail1">ID</label> 
<input type="text" class="form-control" id="exampleInputEmail1" placeholder="" name="id"> 
+0

Я не хочу отображать столбец id в форме, как это было бы немного неудобно для пользователя. – user3789102

+0

@ user3789102 без проблем я получил ваше сообщение, могу ли я принять вашу форму также на этой странице –

+0

Нет, ее нет на этой странице. он находится на другой странице, где было выполнено кодирование модальности, после модального (формы в нем) страница перенаправляется на заданный url – user3789102

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