Foros del Web » Programando para Internet » PHP »

Problemas al crear codigo para "eliminar" con php

Estas en el tema de Problemas al crear codigo para "eliminar" con php en el foro de PHP en Foros del Web. Hola, primero agradecer a cualquiera que gaste un poco de su tiempo en ayudarme. Soy estudiante de Desarrollo Web y me enfrento con un problema ...
  #1 (permalink)  
Antiguo 21/05/2013, 20:34
Avatar de Edikyutter  
Fecha de Ingreso: mayo-2013
Mensajes: 14
Antigüedad: 11 años
Puntos: 0
Problemas al crear codigo para "eliminar" con php

Hola, primero agradecer a cualquiera que gaste un poco de su tiempo en ayudarme.
Soy estudiante de Desarrollo Web y me enfrento con un problema en un trabajo del curso de PHP.
La cosa es así:
El proyecto consiste en hacer un pequeño y básico "mall virtual" en donde se puedan agregar productos a un carrito o bien eliminarlos si es el caso del administrador, todo me ha ido bien, pero ahora me enfrento al problema de eliminar productos o agregarlos al "carrito"

en la base de datos tengo dos tablas, una de productos y otra de carrito, en la página "productos" del sitio creé un loop con un while para imprimir los productos que estén en la tabla de productos.
Aquí el código:


<?php

include 'backEnd/connection.php';


$i = 1;
while ($i <= 100) {
$hola ="SELECT product_name,precio,descripcion,categoria,imagen FROM productos WHERE id = '$i' ";

$quer=mysqli_query($con,$hola);

$row = mysqli_fetch_row($quer);



if($row != false) {
echo '<section class="prod cf">';
echo '<div>';
echo '<img src="images/' . $row[4] . '" alt="producto" width="" height=""/>';
echo '</div>';
echo '<div class="stra">';
echo '<h2>' . $row[0] . '</h2>';
echo '<h3> ¢' . $row[1] . '</h3>';
echo '<h4><span> Caregoria: </span>'. $row[3] . '</h4>';
echo '<button>Agregar al carrito</button>';
echo '</div>';
echo '<div>';
echo '<p>' . $row[2] . '</p>';
echo '</div>';

echo '</section>';
}
$i++;
}

?>


Con este código se me genera las cajas en el HTML con la info de cada producto, tomando la variable del loop como el id siempre que sea menos que 100 (eso limita a un máximo de 100 impresiones, he pensado en solucionar eso haciendo una selección del id de la ultima linea en la tabla de productos). Lo que ahora me está rompiendo la cabeza es cómo hago para que cuando un botón de "agregar al carrito" o "eliminar producto" sea presionado agarre el id del producto en específico y lo agregue a la base de datos del carrito o lo elimine dependiendo del caso, sé cómo hacer el SQL para insertar o eliminar, donde no encuentro la solución es en el capturar el id del producto de la caja en donde se esté eliminando o clikear en "agregar al carrito".

No sé si me expliqué bien pero si e pueden ayudar ¡¡¡Please!!!!

Si tienen recomendaciones para mejorar el código o la forma de imprimir los productos me gustaría saber, apenas estoy empezando con PHP por lo que me he llevado a lo que me da la lógica en este trabajo.
  #2 (permalink)  
Antiguo 21/05/2013, 21:28
 
Fecha de Ingreso: marzo-2013
Ubicación: Neuquén Capital
Mensajes: 111
Antigüedad: 11 años, 2 meses
Puntos: 8
Respuesta: Problemas al crear codigo para "eliminar" con php

Acá te paso un ejemplo de como funcionaría. Es 1(una) de muchas formas de hacerlo. EN este ejemplo te dejo un form. Le tenes que cambiar la direccion de tu archivo que agrega.. y recibir la variable mediante:

Código PHP:
Ver original
  1. <?php
  2. $_POST['id'];
  3. ?>

Despues hacer uno para ELIMINAR es muy facil, haces lo mismo pero al revés


IMPORTANTE, agregué id en los valores qeu recibís desde la consulta! :) Aunque ahora que lo releeo está mal. Pero algun indice único de cada producto tenés que tener.. cual es?
Código PHP:
Ver original
  1. <?php
  2.  
  3. include 'backEnd/connection.php';
  4.  
  5.  
  6. $i = 1;
  7. while ($i <= 100) {
  8. $hola ="SELECT id,product_name,precio,descripcion,categoria,imagen FROM productos WHERE id = '$i' ";
  9.  
  10. $quer=mysqli_query($con,$hola);
  11.  
  12. $row = mysqli_fetch_row($quer);
  13.  
  14.  
  15.  
  16. if($row != false) {
  17. echo '<section class="prod cf">';
  18. echo '<div>';
  19. echo '<img src="images/' . $row[4] . '" alt="producto" width="" height=""/>';
  20. echo '</div>';
  21. echo '<div class="stra">';
  22. echo '<h2>' . $row[1] . '</h2>';
  23. echo '<h3> ¢' . $row[2] . '</h3>';
  24. echo '<h4><span> Caregoria: </span>'. $row[4] . '</h4>';
  25. echo'<form method="POST" action="agregar.php">'; /* acá pones el path a tu archivo php que agrega! */
  26. echo '<input type="hidden" name="id" value="'.$row[0].'">';
  27. echo '<input type="submit" value="Agregar al carrito">';
  28. echo '</form>';
  29. echo '</div>';
  30. echo '<div>';
  31. echo '<p>' . $row[3] . '</p>';
  32. echo '</div>';
  33.  
  34. echo '</section>';
  35. }
  36. $i++;
  37. }
  38.  
  39. ?>
  #3 (permalink)  
Antiguo 22/05/2013, 13:11
Avatar de Edikyutter  
Fecha de Ingreso: mayo-2013
Mensajes: 14
Antigüedad: 11 años
Puntos: 0
Respuesta: Problemas al crear codigo para "eliminar" con php

Gracias por contestar.
Efectivamente, el valor único de cada producto en la base de datos es el id.

La forma que estoy utilizando para agregar los productos a la base de datos es esta:

<form action="backEnd/agregarProductCode.php" enctype="multipart/form-data" method="post">
<div class="cf">
<label>Nombre del producto</label>
<input name="NombreProducto" type="text"/>
</div>
<div class="cf">
<label>Precio en colones</label>
<input name="Precio" type="text"/>
</div>
<div class="cf">
<label>Categoria</label>
<select name="categoria">

<?php
$i = 1;
while ($i <= 100) {
$hola ="SELECT nombre_catego FROM categorias WHERE id = '$i' ";

$quer=mysqli_query($con,$hola);

$row = mysqli_fetch_row($quer);



if($row != false) {
echo "<option>" . $row[0] . "</option>";
}




$i++; /* el valor presentado sería
$i antes del incremento
(post-incremento) */
}
?>



</select>
</div>
<div class="cf">
<label>Imagen</label>
<input type="hidden" name="max-size" value="100000">
<input name="nombreArchivo" type="file">
</div>
<div class="vh">
<label>Descripción</label>
<textarea name="Descripcion" rows= "4"cols="36" >
</textarea>
</div>
<div class="cf">
<input type="submit" value="Ingresar Producto"/>
</div>
</form>


Hay un código php para jalar las categorías, pero eso es punto y aparte.

ahora, lo que veo que tú dices es que use la variable $_POST, sin embargo aún no acabo de entender cómo la uso en este caso :(

El código php que agrega el producto de la forma en la base de datos es este:

include 'connection.php';

$agre="INSERT INTO productos (product_name,precio,descripcion,categoria,imagen)
VALUES ('$_POST[NombreProducto]','$_POST[Precio]','$_POST[Descripcion]','$_POST[categoria]','$ruta')";

mysqli_query($con,$agre);

Siento que ya le estoy agarrando la idea pero aún no termino de comprender XD, perdona por la molestia, pero si me podrías ayudar comprenderlo mejor estaría muy agradecido.
  #4 (permalink)  
Antiguo 22/05/2013, 13:24
Avatar de lucarto  
Fecha de Ingreso: noviembre-2011
Ubicación: Neiva
Mensajes: 17
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Problemas al crear codigo para "eliminar" con php

Hola, como vas?

creo que estan haciendo las cosas, muy rudimentarias, no hay necesidad de que realices 100 consultas a la base de datos, para traer los productos, basta con que solo realice una peticion y ya estaria.

Código PHP:
Ver original
  1. <?php
  2. $i = 1;
  3. $hola ="SELECT * FROM productos"; //con esta consulta te trae todos los productos que tengas en la BD
  4.  
  5. $quer=mysqli_query($con,$hola);
  6.  
  7. while ($row = mysqli_fetch_array($quer)){
  8.     echo '<section class="prod cf">';
  9.     echo '<div>';
  10.     echo '<img src="images/' . $row[4] . '" alt="producto" width="" height=""/>';
  11.     echo '</div>';
  12.     echo '<div class="stra">';
  13.     echo '<h2>' . $row[1] . '</h2>';
  14.     echo '<h3> ¢' . $row[2] . '</h3>';
  15.     echo '<h4><span> Caregoria: </span>'. $row[4] . '</h4>';
  16.     echo'<form method="POST" action="agregar.php">'; /* acá pones el path a tu archivo php que agrega! */
  17.     echo '<input type="hidden" name="id" value="'.$row[0].'">';
  18.     echo '<input type="submit" value="Agregar al carrito">';
  19.     echo '</form>';
  20.     echo '</div>';
  21.     echo '<div>';
  22.     echo '<p>' . $row[3] . '</p>';
  23.     echo '</div>';
  24.     echo '</section>';
  25. }
  26. ?>
  #5 (permalink)  
Antiguo 25/05/2013, 18:26
Avatar de Edikyutter  
Fecha de Ingreso: mayo-2013
Mensajes: 14
Antigüedad: 11 años
Puntos: 0
Respuesta: Problemas al crear codigo para "eliminar" con php

Creo ya he entendido cómo usar la $_POST en este caso, muchas gracias SathyaSanles, esa era la pista que necesitaba.



lucarto creo que tienes razón, algunas veces uno se complica la vida T_T eso creo que es lo más fácil y mejor, gracias por contestar, lo probaré para ver como me queda ;)

Etiquetas: html, mysql, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:51.