2016-01-31 2 views
0
<?php 
$con = mysql_connect("localhost","root"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 


mysql_select_db("database", $con); 

if(!isset($_POST['submit'])){ 
$result = mysql_query("SELECT * FROM pleasework ORDER BY ID"); 
$row = mysql_fetch_array($result); 
} 

?> 

<form action="?php echo $_SERVER['PHP_SELF'];?>" id="form2" method="post" name="form2"> 
<img id="close1" src="X.png" width="25" height="25" onclick ="div_hide1()"> 
<h2><font size="6">Please change existing data</font></h2> 
<hr> 
<br> 

    <font color="yellow">Change Name to: </font><input type="text" name="New" value="<?php echo $row['Name'];?>"/><br><br> 
     <font color="yellow"> Change Cause to: </font> <input type="text" name="New1" value="<?php echo $row['Cause'];?>"/><br><br> 
    <font color="yellow">Change Symptom to: </font><input type="text" name="New2" value="<?php echo $row['Symptom'];?>"/><br><br> 
     <font color="yellow"> Change Gene_affected to: </font><input type="text" name="New3"value="<?php echo $row['Gene_affected'];?>" /><br><br> 
     <input type="hidden" name="id" value="<?php echo $_GET['ID'];?>"/> 
    <input type="submit" onclick="clicked(event)" /> 
</form> 

<?php 
if(isset($_POST['submit'])){ 
mysql_query("UPDATE pleasework SET Name= '$_POST[New]' WHERE ID='$_POST[id]'"); 
mysql_query("UPDATE pleasework SET Cause= '$_POST[New1]' WHERE  ID='$_POST[id]'"); 
mysql_query("UPDATE pleasework SET Symptom= '$_POST[New2]' WHERE ID='$_POST[id]'"); 
mysql_query("UPDATE pleasework SET Gene_affected= '$_POST[New3]' WHERE ID='$_POST[id]'"); 
echo "Change Successful<br>" ; 
header("Location: databse.php"); 
mysql_close($con); 
} 
else {} 
?> 

Это мой php-файл.Невозможно изменить/изменить мой php-таблицу по id

while($row = mysql_fetch_array($result)) 
      { 
       echo "<TR>"; 
      echo "<TD>" . $row['ID'] ."</TD>"; 
      echo "<TD>" . $row['Name'] . "&nbsp;&nbsp;&nbsp;&nbsp;</TD>"; 
      echo "<TD>" . $row['Cause'] . "&nbsp;&nbsp;&nbsp;&nbsp;</TD>"; 
      echo "<TD>" . $row['Symptom']. "&nbsp;&nbsp;&nbsp;&nbsp;</TD>"; 
      echo "<TD>" . $row['Gene_affected'] . "&nbsp;&nbsp;&nbsp;&nbsp;  </TD>";  
    echo "<TD><a href=\"delete.php?id=" . $row['ID'] ."\"><font  color='red'>Delete row</font></a> &nbsp;&nbsp;&nbsp;&nbsp;</TD>"; 

    echo "<TD><a href=\"edit.php?id=" . $row['ID'] ."\"><font  color='red'>modify</font></a> &nbsp;&nbsp;&nbsp;&nbsp;</TD>"; 
      echo "</TR>"; 
      } 

И это раздел, который имеет кнопку изменения, которая ссылается на файл edit.php. Ошибка здесь в том, что это не приводит к значениям в таблице на странице редактирования, а затем отправка формы тоже не работает. Помогите пожалуйста

+1

не использовать mysql_ * его deprec ated now –

+0

У меня нет выбора для проекта:/ – Jerru

ответ

0

Ваш код кажется немного запутался.

Прежде всего, зачем вводить процедуру изменения после вывода формы? Тем более, что после изменения вы отправляете функцию header, которая терпит неудачу, если ранее имеется некоторый вывод.

Обратите внимание на опечатку: вы забыли правильно открыть тег php в объявлении form. Переключающий это следующим образом:

<form action="<?php echo $_SERVER['PHP_SELF'];?>" id="form2" method="post" name="form2"> 

Основная проблема заключается в том, что вы проверить, если $_POST[submit] если установлен, но это не установлено, из-за отсутствия атрибута name.

Изменить это следующим образом:

<input type="submit" name="submit" onclick="clicked(event)" /> 

Теперь ваш скрипт должен работать (я не протестировали SQL).

Пожалуйста, обратите внимание, что ваша UPDATE процедура является излишним: вы можете уменьшить 4 заявление только один таким образом:

$result = mysql_query 
(
    "UPDATE pleasework SET Name='{$_POST[New]}', Cause='{$_POST[New1]}', Symptom='{$_POST[New2]}', Gene_affected='{$_POST[New3]}' WHERE ID={$_POST[id]}" 
); 

О PHP Оригинальный MySQL API:

Это расширение устарел от PHP 5.5.0 и был удален с PHP 7.0.0

+1

код обновленного кода отсутствует. –

+0

@ Fred-ii- О, да. благодаря – fusion3k

0

ПРИМЕЧАНИЕ:mysql_* осуждается, поэтому старайтесь использовать PDO или mysqli_*.

Простой способ:

<?php 
if(isset($_POST['submit'])){ 
    $result = mysql_query("UPDATE pleasework 
          SET Name='".$_POST['New']."', 
           Cause='".$_POST['New1']."', 
           Symptom='".$_POST['New2']."', 
           Gene_affected='".$_POST['New3']."' 
          WHERE ID=".$_POST['id']."); 

    if($result){ 
     echo "Change Successful<br>" ; 
     header("Location: databse.php"); 
    } 
    mysql_close($con); 
} 

ВАШ PHP:

 while($row = mysql_fetch_array($result)) 
{  $spaces = "&nbsp;&nbsp;&nbsp;&nbsp;"; 
      echo "<TR>"; 
     echo "<TD>" . $row['ID'] ."</TD>"; 
     echo "<TD>" . $row['Name'] . $spaces."</TD>"; 
     echo "<TD>" . $row['Cause'] . $spaces."</TD>"; 
     echo "<TD>" . $row['Symptom']. $spaces."</TD>"; 
     echo "<TD>" . $row['Gene_affected'] . $spaces."</TD>";  
     echo "<TD><a href='delete.php?id=".$row['ID'] ."'>"; 
     echo "<font color='red'>Delete row</font></a>".$spaces."</TD>"; 

     echo "<TD><a href='edit.php?id=" . $row['ID'] ."'>"; 
     echo "<font color='red'>modify</font></a>".$spaces."</TD>"; 
     echo "</TR>"; 
    } 
+0

вам также не хватает цитаты для запроса на обновление –

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