Pregunta:
Fecha: 23-05-2018 11:30:14
(En Español)
gracias de antemano
Votos: -1 - Respuestas: 2 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
boton de eliminar y editar[No resuelta]
buenas necesito de su ayuda en esto . tengo un script y necesito culminarlo lo mas antes posible pero estoy atrapado porque no se como hacer que elimine y edite los botones que tienen.
<?php
/**
* Maneja la conexión a la base de datos
*/
class Connect
{
/** @var string */
protected $error;
/** @var string */
protected $user;
/** @var string */
protected $pass;
/** @var string */
protected $base;
/** @var string */
protected $server;
/** @var mysqli */
protected $connection;
/**
* Connect constructor.
*
* @param string $user
* @param string $pass
* @param string $base
* @param string $server
*/
public function __construct($user, $pass, $base, $server)
{
$this->user = $user;
$this->pass = $pass;
$this->base = $base;
$this->server = $server;
}
/**
* Conecta a la base de datos
*
* @return mysqli
*/
public function connect()
{
$this->connection = new mysqli($this->server, $this->user, $this->pass, $this->base);
if ($this->connection->connect_errno) {
throw new \UnexpectedValueException("Fallo al conectar a MySQL: ({$this->connection->connect_errno}) " .
$this->connection->connect_error);
}
return $this->connection;
}
}
/**
* Maneja las acciones de Trabajo
*/
class Trabajo
{
/** @var mysqli */
protected $connection;
/**
* Trabajo constructor.
*
* @param mysqli $conexion
*/
public function __construct(mysqli $conexion)
{
$this->connection = $conexion;
}
/**
* Obtiene los registros a desplegar
*
* @return array
*/
public function getData()
{
$data = [];
$result = $this->connection->query('SELECT * FROM pagos_pagina');
while ($row = $result->fetch_object()) {
$valida = $this->hasReferences($row->referencia);
$row->valida = $valida;
$data[] = $row;
}
return $data;
}
/**
* Valida si existen referencias
*
* @param string $reference
*
* @return bool
*/
protected function hasReferences($reference)
{
$statement = $this->connection->prepare('SELECT COUNT(*) AS cant FROM archivos_pagos WHERE referencia = ?');
$statement->bind_param('s', $reference);
$statement->execute();
$hayResultados = $statement->get_result()->fetch_object();
$statement->close();
return (bool)$hayResultados;
}
}
$connect = new Connect('root', '', 'radius', 'localhost');
$conexion = $connect->connect();
$trabajo = new Trabajo($conexion);
$datos = $trabajo->getData();
?>
<div class="panel-body">
<form>
<table width="70%" class="table table-striped table-bordered table-hover" id="dataTables-example">
<thead>
<tr>
<th>Ticket</th>
<th>Usuario</th>
<th>Cedula</th>
<th>Referencia</th>
<th>Monto</th>
<th>Estatus</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
<?php
if (!\count($datos)) {
echo <<< HTML
<tr>
<th colspan="8">No hay registros</th>
</tr>
HTML;
} else {
$contador = 1;
foreach ($datos as $registro) {
$validTag = $registro->valida ? 'Valido' : 'Invalido';
echo <<< HTML
<tr>
<td>{$contador}</td>
<td>{$registro->nombre} {$registro->apellido}</td>
<td>{$registro->cedula}</td>
<td>{$registro->referencia}</td>
<td>{$registro->monto}</td>
<td>{$validTag}</td>
<td>
<button class='btn btn-warning btn-sm' id='btn-edit-{$registro->referencia}'>Editar</button>
<button class="btn btn-sm btn-info" class='btn btn-warning btn-sm' id='btn-delete-{$registro->referencia}'>Eliminar</button>
</td>
</tr>
HTML;
$contador++;
}
}
?>
</tbody>
</table>
</form>
</div>
gracias de antemano
Votos: -1 - Respuestas: 2 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 24-05-2018 04:30:26 Lo puedes hacer de diversas maneras:
1. Agregas un evento 'onClick' con VanillaJS o cualquier framework JS donde al darle click te envíe a una página donde borras/editas el registro.
2. Utilizas un anchor tag para redirigir la página a otra donde borres o elimines el producto
3. Con Ajax utilizando VanillaJS o cualquier framwork JS.
Qué es lo que llevas hecho? Votos: 0 - Link respuesta -
Fecha: 25-05-2018 06:18:18 bueno desidi hacerlo utilizando un js. aqui esta mi codigo pero no funciona . ya e probado mil y una forma pero no se . index.php
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Pagos Listos</title> </head> <body> <div class="row"> <div class="col-lg-12"> <h1 class="page-header">Administradores Registrados</h1> </div> <div class="row"> <div class="col-lg-12"> <div class="panel panel-default"> <div class="panel-heading"> </div> <?php $link = new PDO('mysql:host=localhost;dbname=radius', 'root', ''); // el campo vaciío es para la password. ?> <div class="panel-body"> <form role="form" action="controller_login.php" method="post"> <table method="post" action="#" width="100%" class="table table-striped table-bordered table-hover" id="dataTables-example" > <thead> <tr> <th>Ticket</th> <th>Usuario</th> <th>Cedula</th> <th>Referencia</th> <th>Monto</th> <th>Estatus</th> <th>Aciones</th> </tr> </thead> <?php require_once ("./conexion.php"); session_start(); // Establece los mensajes de sesion $_SESSION['message'] = ""; //Valida si es enviado por post if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (isset($_POST['registro_pagos'])) { // aqui me introduce los datos en registro empleados require_once './app/registro_pagos.php'; //requiere de registro empleados } } //Clase para manejar la conexion a la base de datos class Connect { private $user = "root";//usuario de mysqlk private $pass = "";//clave de mysql private $base = "radius";//base de datos en mysql private $server = "localhost";//servidor de alojamiento public $error;//en caso de error se almacena aqui public $db; public function __construct(){ $mysqli = new mysqli($this->server, $this->user, $this->pass, $this->base); if ($mysqli->connect_errno) { $this->error = "Fallo al conectar a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } $this->db = $mysqli; } } //Clase trabajo que se extiende de Connect class Trabajo extends Connect { public function __construct(){ parent::__construct(); } public function valida($x){ $a = $this->db->query("SELECT * FROM archivos_pagos WHERE referencia = '$x' "); $t = $a->num_rows; if($t>=1){ //Si el cliente realizó el pago retorno la información $row = $a->fetch_object(); return $row; }else{ //si no retorno falso return false; } }// public function data(){ $a = $this->db->query("SELECT * FROM pagos_pagina"); $con=1; while($row = $a->fetch_object()){ //Envío a validar la referencia del cliente $valida = $this->valida($row->referencia); if($valida){ echo "<tr> <td>".$con."</td> <td>".$row->nombre." ".$row->apellido."</td> <td>".$row->cedula."</td> <td>".$valida->referencia."</td> <td>".$row->monto."</td> <td>Valido</td> <td><a href='delete.php?nombre=". $id[0]."'>Eliminar</td> </tr>"; }else{ echo"<tr> <td>".$con."</td> <td>".$row->nombre." ".$row->apellido."</td> <td>".$row->cedula."</td> <td>".$row->referencia."</td> <td>".$row->monto."</td> <td>Pago Invalido</td> <td><a href='delete.php?pagos_pagina=". $id[0]."'>Eliminar</td> <td></td> </tr>"; } $con++; } echo "</table>"; } } $p = new trabajo(); $p->data(); ?> </table> </form> </div> </div> </div> </div> </div> </body> </html>
conexion.php
<?php class Db{ private static $conexion=null; private function __construct(){} public static function conectar(){ $pdo_options[PDO::ATTR_ERRMODE]=PDO::ERRMODE_EXCEPTION; self::$conexion=new PDO('mysql:host=localhost;dbname=radius','root','',$pdo_options); return self::$conexion; } } // aqui va unas linea de conexion extras y probar si la conexion existente funciona con mi ya arcgivo csv $servername = "localhost"; $username = "root"; $password = ""; //Create connection $conn = new mysqli($servername, $username, $password); //Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } mysqli_select_db($conn,'radius'); // aqui en ves de poner (csvdata) pondre radius ?>
delete.php<?php require_once ("conexion.php"); $id = $_GET['id']; $link = mysql_connect('localhost', 'root', '') or die('No se pudo conectar: ' . mysql_error()); mysql_select_db('pagos_pagina') or die('No se pudo seleccionar la base de datos'); $url = ""; $sql = "DELETE FROM pagos_pagina WHERE id = $id"; if (mysqli_query($link, $sql)) { mysqli_close($link); header('Location: mostrar.php'); exit; } else { echo "Error borrando al usuario"; } ?>Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
