php у меня проблемы с обновлением моего CRUD - PullRequest
0 голосов
/ 01 марта 2019

Я попытался отключить строгий режим, изменив precio на int, попытался преобразовать его в double, но пока ничего не работает.Кто-нибудь может порекомендовать мне хорошую книгу или хороший канал на YouTube по веб-разработке?CRUD работает до тех пор, пока идет вставка и удаление.Но обновление не работает.Когда я отключил строгий режим, я перестал получать предупреждение # 1265, но оно ничего не обновляло.Я использую WAMP, phpmyadmin и Notepad ++.Я также изменил $ _GET на POST в моем обновлении, и оно не работает

<?php
   include("conexion.php");
   $registros=$base->query("select * from articulo")- 
   >fetchAll(PDO::FETCH_OBJ);

if(isset($_POST['cr']))
{
    $nombre=$_POST["Nom"];
    $cantidad=$_POST["Can"];
    $precio=$_POST["Pre"];
    $costo=$_POST["Cos"];
    $sql="INSERT INTO articulo (nombre,cantidad,precio,costo) VALUES(:nom, :can, :pre, :cos)";
    $resultado=$base->prepare($sql);
    $resultado->execute(array(":nom"=>$nombre,":can"=>$cantidad,":pre"=>$precio,":cos"=>$costo ));
    header("Location:index.php");
}
?>

<h1>CRUD<span class="subtitulo">Create Read Update Delete</span></h1>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> 
<table width="50%" border="0" align="center">
<tr >
  <td class="primera_fila">Id</td>
  <td class="primera_fila">Nombre</td>
  <td class="primera_fila">Cantidad</td>
  <td class="primera_fila">Precio</td>
  <td class="primera_fila">Costo</td>
  <td class="sin">&nbsp;</td>
  <td class="sin">&nbsp;</td>
  <td class="sin">&nbsp;</td>
  <td class="sin">&nbsp;</td>
</tr> 

<?php
    foreach($registros as $articulo):?> 
<tr>
  <td> <?php echo $articulo->Id_campo?> </td>
  <td> <?php echo $articulo->nombre?> </td>
  <td> <?php echo $articulo->cantidad?></td>
  <td> <?php echo $articulo->precio?> </td> 
  <td> <?php echo $articulo->costo?> </td> 
  <td class="bot"><a href="borrar.php?Id=<?php echo $articulo->Id_campo?>"><input type='button' name='del' id='del' value='Borrar'></a></td>      
  <td class='bot'><a href="editar.php?Id=<?php echo $articulo->Id_campo?> & nom=<?php echo $articulo->nombre?> & can=<?php echo $articulo->cantidad?> & pre=<?php echo $articulo->precio?> & cos=<?php echo $articulo->costo?>"><input type='button' name='up' id='up' value='Actualizar'></a></td>

</tr>       
<?php
    endforeach;
?>

И это код для обновления php

  <h1>ACTUALIZAR</h1>
<?php

include("conexion.php");
if (!isset($_POST["bot_actualizar"]))
{
    $Id=$_GET["Id"];
    $nom=$_GET["nom"];
    $can=$_GET["can"];
    $pre=$_GET["pre"];
    $cos=$_GET["cos"];  
}
else
{
    $Id=$_GET["Id"];
    $nom=$_GET["nom"];
    $can=$_GET["can"];
    $pre=$_GET["pre"];
    $cos=$_GET["cos"];
    $sql="UPDATE articulo SET nombre=:miNom, cantidad=:miCan, precio=:miPre, 
    costo=:miCos WHERE Id_campo=:miId";
    $resultado=$base->prepare($sql);
    $resultado->execute(array(":miId"=>$Id, ":miNom"=>$nom, ":miCan"=>$can, 
    ":miPre"=>$pre, ":miCos"=>$cos));
    header("Location:index.php");
}
?>

<p>

</p>
<p>&nbsp;</p>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'];?>">
 <table width="25%" border="0" align="center">
   <tr>
     <td></td>
     <td><label for="id"></label>
  <input type="hidden" name="id" id="id" value="<?php echo $Id?>"></td>
 </tr>
 <tr>
  <td>Nombre</td>
  <td><label for="nom"></label>
  <input type="text" name="nom" id="nom" value="<?php echo $nom?>"></td>
 </tr>
 <tr>
  <td>Cantidad</td>
  <td><label for="can"></label>
  <input type="text" name="can" id="can" value="<?php echo $can?>"></td> 
 </tr>
 <tr>
  <td>Precio</td>
  <td><label for="pre"></label>
  <input type="text" name="pre" id="pre" value="<?php echo $pre?>"></td>
 </tr>
 <tr>
  <td>Costo</td>
  <td><label for="cos"></label>
  <input type="text" name="cos" id="cos" value="<?php echo $cos?>"></td>
  </tr>
  <tr>
    <td colspan="2"><input type="submit" name="bot_actualizar" 
   id="bot_actualizar" value="Actualizar"></td>
    </tr>
   </table>
  </form>
 <p>&nbsp;</p>

1 Ответ

0 голосов
/ 01 марта 2019

2 вещи.

  1. Ваша форма использует POST метод, и для вашего обновления вы ищете запрос GET.
  2. Заголовок, отправляемый в конце обновления, бесполезен, поскольку вы уже начинаете накладывать страницу на H1....

        include("conexion.php");
        if (!isset($_POST["bot_actualizar"]))
        {
            $Id=$_POST["Id"];
            $nom=$_POST["nom"];
            $can=$_POST["can"];
            $pre=$_POST["pre"];
            $cos=$_POST["cos"];  
        }
        else
        {
            $Id=$_POST["Id"];
            $nom=$_POST["nom"];
            $can=$_POST["can"];
            $pre=$_POST["pre"];
            $cos=$_POST["cos"];
            $sql="UPDATE articulo SET nombre=:miNom, cantidad=:miCan, precio=:miPre, 
            costo=:miCos WHERE Id_campo=:miId";
            $resultado=$base->prepare($sql);
            $resultado->execute(array(":miId"=>$Id, ":miNom"=>$nom, ":miCan"=>$can, 
            ":miPre"=>$pre, ":miCos"=>$cos));
        }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...