Nueva pregunta

Pregunta:

Fecha: 03-12-2018 09:18:41 (En Español)

Pasar id de una tabla (A) a una tabla (B).[No resuelta]

buenas tengo una urgencia y e probado de todo pero mi poca experiencia me tiene dudoso.
tengo dos tablas iguales con columnas iguales . lo que quiero es pasar la informacion de un cliente de una tabla a otra . cuando mi cliente sea deudor pasarlo a mi tabla de deudores .
config.php
 <?php
 
$databaseHost = 'localhost';
$databaseName = 'radius';
$databaseUsername = 'root';
$databasePassword = '';
 
try {
    
    $dbConn = new PDO("mysql:host={$databaseHost};dbname={$databaseName}", $databaseUsername, $databasePassword);
    
    $dbConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    
} catch(PDOException $e) {
    echo $e->getMessage();
}
 
?>  



index.php
<?php
include_once("config.php");
$result = $dbConn->query("SELECT * FROM pagos_pagina ORDER BY id DESC");
?>
<html>
<head>    
    <title>prueba</title>
</head>
 
<body>
<a href="add.html">Add New Data</a><br/><br/>
 
    <table width='80%' border=0>
 
    <tr bgcolor='#CCCCCC'>
        <td>Id</td>
        <td>Nombre</td>
        <td>Apellido</td>
        <td>Cedula</td>
        <td>Email</td>
        <td>Telefono</td>
        <td>Banco</td>
        <td>Referencia</td>
        <td>Monto</td>
        <td>Fecha</td>
        <td>Hora</td>
        <td>Comentarios</td>
        <td>Editar </td>
        <td>Borrar</td>
        <td>Deudor</td>

        <td>Update</td>
    </tr>
    <?php     
    while($row = $result->fetch(PDO::FETCH_ASSOC)) {         
        echo "<tr>";
        echo "<td>".$row['id']."</td>";
        echo "<td>".$row['nombre']."</td>";
        echo "<td>".$row['apellido']."</td>"; 
        echo "<td>".$row['cedula']."</td>";
        echo "<td>".$row['email']."</td>";
        echo "<td>".$row['telefono']."</td>";  
        echo "<td>".$row['banco']."</td>";
        echo "<td>".$row['referencia']."</td>";
        echo "<td>".$row['monto']."</td>";
        echo "<td>".$row['fecha']."</td>";
        echo "<td>".$row['hora']."</td>";  
        echo "<td>".$row['comentario']."</td>";
        echo "<td> <a href=\"edit.php?id=$row[id]\" onClick=\"return confirm('Quieres editarlo?')\">editar</a></td>";
        echo "<td> <a href=\"delete.php?id=$row[id]\" onClick=\"return confirm('Estas seguro que quieres borrarlo?')\">Delete</a></td>";  
        echo "<td> <a href=\"deudor.php?id=$row[id]\" onClick=\"return confirm('Quieres pasarlo a deudor?')\">Deudor</a></td>";        
    }
    ?>
    </table>
</body>
</html>


deudor.php
 <?php
    include("config.php");

    $id = $_GET['id'];

    $sql = "";
 ?>

y gracias por sus sugerencias son de mucha ayuda

y estoy usando mysql y no es por que quiera
Etiquetas: MySQL - PHP Votos: 0 - Respuestas: 3 - Vistas: 5 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 03-12-2018 10:14:19 Yo trabajo con MysqlI y en este caso sería algo asi:

    
    $query = $this->db->query("INSERT INTO tablaB(campo1, campo2, campo3) SELECT(campo1, campo2, campo3 FROM tablaA WHERE idtablaA = '$id') ");
    
    


    TablaA es la tabla origen de los datos
    TablaB es la tabla destino de los datos

    Como ves realizo la inserción de la data en la TablaB tomando los datos con un select de la TablaA, esto claro siempre que los campos sean exactamente iguales.

    Para los casos en los que no se pueda repetir algún valor en la tabla destino, deberás anexar un ON DUPLICATE KEY y haces el update de ser necesario.
      Votos: 0 - Link respuesta
     
  • Fecha: 03-12-2018 10:17:38 Imagino que con PDO será algo parecido:

    $query = $db->prepare("INSERT INTO tablaB(campo1, campo2, campo3) SELECT(campo1, campo2, campo3 FROM tablaA WHERE idtablaB = ':id') ");
    $query->execute([$id]);
    
      Votos: 0 - Link respuesta
     
  • Fecha: 04-12-2018 03:41:27
     <?php
        include("config.php");
        $id = $_GET['id'];
    
    $query = $dbConn->prepare("INSERT INTO deudores(
        nombre,
        apellido,
        cedula,
        email,
        telefono,
        banco,
        referencia,
        monto,
        fecha,
        hora,
        comentario) 
    SELECT(nombre,
        apellido,
        cedula,
        email,
        telefono,
        banco,
        referencia,
        monto,
        fecha,
        hora,
        comentario
    FROM pagos_pagina WHERE deudores = ':id') ");
    
    $query->execute([$id]);
    


    me da este error.

    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM pagos_pagina WHERE deudores = ':id')' at line 24' in C:\xampp\htdocs\prueba\deudor.php:30 Stack trace: #0 C:\xampp\htdocs\prueba\deudor.php(30): PDOStatement->execute(Array) #1 {main} thrown in C:\xampp\htdocs\prueba\deudor.php on line 30
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión