ayuda parte eliminar

Iniciado por geshiro, 21 Octubre 2015, 23:23 PM

0 Miembros y 1 Visitante están viendo este tema.

geshiro

alguien me puede ayudar es que cuando quiero eliminar primero los paso al ajax y del ajax al controlador pero en el controlador tengo una condicion si se hace que siga haciendolo y si no no pero en el php tengo lo que es eliminar y todo va bien porque me manda el mensaje pero al momento de eliminar solo me muestra el mensaje de la validacion pero no lo borra solo me muestra el mensaje pero como lo arreglo esa parte D:

Código (javascript) [Seleccionar]

function del(id){
  $.ajax({
    url:'../Controllers/actions.php',
    type:'POST',
    data:'code='+id+'&boton=delete_product'
  }).done(function(ans){
    alert(ans);
  });
 
}



Código (php) [Seleccionar]

case 'delete_product':
$code   = $_POST['code'];
$delete = new product();
if($delete->delete($code)){
echo "success";
}
else{
echo "there is something wrong";
}
break;


Código (php) [Seleccionar]

function delete($code){
$sql = "DELETE FROM product WHERE id_product='$code'";
if($this->conexion->conexion->query($sql)){
return true;
}
else{
return false;
}
$this->conexion->cerrar();
}

function show_product(){
$sql = "SELECT * FROM product";
$record = $this->conexion->conexion->query($sql);
$item =0;

if(!$this->conexion->conexion->query($sql)){
printf("Errormessage: %s\n", $this->conexion->conexion->error);
}
if($record->num_rows>0){
while($show = $record->fetch_array(MYSQLI_ASSOC)){
$item += 1;
echo '<tr>
<td>'.$item.'</td>
<td>'.$show["code"].'</td>
<td>'.$show["product"].'</td>
<td>'.$show["price"].'</td>
<td>'.$show["stock"].'</td>
<td><button class="btn btn-danger" onclick="del('.$show["code"].');"><span class="glyphicon glyphicon-trash"></span></button></td>
</tr>';
}
//this is for counting number of page

}
else{
echo '<tr><td colspan="7">no hay registros</td></tr>';
}
}


0roch1

Exactamente que tiene la función query?.

Código (php-brief) [Seleccionar]

if($this->conexion->conexion->query($sql)){

geshiro

la conexion a la db si no no lo envia

T. Collins

Has probado si la query DELETE FROM product WHERE id_product='$code' funciona haciendola a la base de datos por línea de comandos u otro método?

Creo que si id_product es int, debería ir sin comillas, no estoy seguro.

geshiro

si pero sige en lo mismo no lo borra

0roch1

Cita de: T. Collins en 23 Octubre 2015, 04:59 AM
Has probado si la query DELETE FROM product WHERE id_product='$code' funciona haciendola a la base de datos por línea de comandos u otro método?

Creo que si id_product es int, debería ir sin comillas, no estoy seguro.

En MySQL es indiferente si a un valor que es int lo colocas entre comillas

Cita de: geshiro en 23 Octubre 2015, 04:03 AM
la conexion a la db si no no lo envia

Eso es más raro aún.
Puedes colocar un ejemplo (con datos reales) de los datos que tienes en la tabla, la consulta generada en $sql y el resultado que te muestra al ejecutarla en la consola?.

Por ejemplo.

Código (php-brief) [Seleccionar]

$sql = "DELETE FROM product WHERE id_product='$code'";
echo $sql;


Resultado al imprimir la variable $sql
Código (sql) [Seleccionar]

DELETE FROM product WHERE id_product='12345'


Registros iniciales en la tabla product
Código (dos) [Seleccionar]

+------------+-------+------------+-------+-------+
| id_product | code  | product    | price | stock |
+------------+-------+------------+-------+-------+
|      12345 | COD 1 | Producto 1 | 43.21 |   100 |
|      67890 | COD 2 | Producto 2 | 87.65 |     2 |
+------------+-------+------------+-------+-------+


Mensaje después de ejecutar la consulta.

1 row(s) affected

Execution Time : 0.009 sec
Transfer Time  : 0 sec
Total Time     : 0.010 sec


Registros finales.
Código (dos) [Seleccionar]

+------------+-------+------------+-------+-------+
| id_product | code  | product    | price | stock |
+------------+-------+------------+-------+-------+
|      12345 | COD 1 | Producto 1 | 43.21 |   100 |
+------------+-------+------------+-------+-------+



Por cierto deberías cambiar el nombre de tu campo code para evitar algún posible problema en el futuro.
Keywords and Reserved Words


geshiro

de hecho lo cambie el code por la misma id_product de mi tabla ya que me estaba generando mucho error y se me estaba complicando pero ahora ya puedo borrar pero cada ves que borro tengo que actualizar como lo paso por dom lo que tengo y mi consulta fue asi

Código (php) [Seleccionar]

$sql = "DELETE FROM product WHERE id_product='$code'";
<td><button class="btn btn-danger" onclick="del('.$show["id_product"].');"><span class="glyphicon glyphicon-trash"></span></button></td>

geshiro

como puedo hacerlo para que lo haga atraves del DOM la parte de eliminar