<?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-файл.
while($row = mysql_fetch_array($result)) { echo "<TR>"; echo "<TD>" . $row['ID'] ."</TD>"; echo "<TD>" . $row['Name'] . " </TD>"; echo "<TD>" . $row['Cause'] . " </TD>"; echo "<TD>" . $row['Symptom']. " </TD>"; echo "<TD>" . $row['Gene_affected'] . " </TD>"; echo "<TD><a href=\"delete.php?id=" . $row['ID'] ."\"><font color='red'>Delete row</font></a> </TD>"; echo "<TD><a href=\"edit.php?id=" . $row['ID'] ."\"><font color='red'>modify</font></a> </TD>"; echo "</TR>"; }
И это раздел, который имеет кнопку изменения, которая ссылается на файл edit.php. Ошибка здесь в том, что это не приводит к значениям в таблице на странице редактирования, а затем отправка формы тоже не работает. Помоги пожалуйста
Ваш код немного запутан.
Прежде всего, зачем вводить процедуру изменения после вывода формы? Тем более, что после изменения вы отправляете функцию header
, которая терпит неудачу, если ранее есть некоторый вывод.
Обратите внимание также на опечатку: вы забыли правильно открыть тег php в объявлении form
. Измените это так:
<form action="<?php echo $_SERVER['PHP_SELF'];?>" id="form2" method="post" name="form2">
Основная проблема заключается в том, что вы проверяете, установлен ли $_POST[submit]
если это не задано, из-за отсутствия имени атрибута.
Измените его так:
<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 Исходный API MySQL:
Это расширение устарело с PHP 5.5.0 и было удалено с PHP 7.0.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 = " "; 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>"; }