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:
function del(id){
$.ajax({
url:'../Controllers/actions.php',
type:'POST',
data:'code='+id+'&boton=delete_product'
}).done(function(ans){
alert(ans);
});
}
case 'delete_product':
$code = $_POST['code'];
$delete = new product();
if($delete->delete($code)){
echo "success";
}
else{
echo "there is something wrong";
}
break;
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>';
}
}
Exactamente que tiene la función query?.
if($this->conexion->conexion->query($sql)){
la conexion a la db si no no lo envia
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.
si pero sige en lo mismo no lo borra
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.
$sql = "DELETE FROM product WHERE id_product='$code'";
echo $sql;
Resultado al imprimir la variable $sql
DELETE FROM product WHERE id_product='12345'
Registros iniciales en la tabla product
+------------+-------+------------+-------+-------+
| 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.
+------------+-------+------------+-------+-------+
| 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 (https://dev.mysql.com/doc/refman/5.0/en/keywords.html)
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
$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>
como puedo hacerlo para que lo haga atraves del DOM la parte de eliminar
¿?