Nueva pregunta

Pregunta:

Fecha: 24-10-2020 13:09:28 (En Español)

Hay alguna manera de pasar el id del div para hacer consulta en php?[No resuelta]

Tengo el siguiente codigo php y html, quiero saber si hay alguna manera de pasar el id del html (id="cuentadigitalBCP") a la consulta que tengo php como condicion del where(where idTextTabla = 'cuentadigitalBCP' ";) debido a que tengo muchos modales y no quiero hacer codigo consulta repetitivo

<?php
$consultarNombreCuenta = "select nombreCuenta, detalleTabla from tablascuentasahorros where idTextTabla = 'cuentadigitalBCP' ";
$ejecutarConsulta = mysqli_query($con, $consultarNombreCuenta);
if ($row = mysqli_fetch_array($ejecutarConsulta)) {
$nombreCuenta = $row['nombreCuenta'];
$tablaCuenta = $row['detalleTabla'];
} ?>

<div class="modal fade" id="cuentadigitalBCP" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title col-11 text-center ">
<strong> <?php echo $nombreCuenta; ?> </strong>
</h4>
<button tyle="button" class="close" data-dismiss="modal" aria-label="close"> <span aria-hidden="true">&times;</span> </button>
</div>
<div class="modal-body">
<?php echo $tablaCuenta; ?>
</div>
</div>
</div>
</div>

gracias de antemano
Etiquetas: HTML - PHP Votos: 0 - Respuestas: 2 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 26-10-2020 11:51:38 Hola Edinson,
    Tal vez esto te sirva:

    <?php
    $idModal = 'cuentadigitalBCP';
    $consultaNombreCuenta = 'SELECT nombreCuenta, detalleTabla FOMR tablascuentasahorros WHERE idTextTabla = ?';
    $stmt = $con->prepare($consultaNombreCuenta);
    $stmt->bind_param('s', $idModal);
    $stmt->execute();
    $result = $stmt->get_result();
    if ($row = $result->fetch_array(MYSQLI_ASSOC)) {
        $nombreCuenta = $row['nombreCuenta'];
        $tablaCuenta = $row['detalleTabla'];
    }
    ?>
    
    <div class="modal fade" id="<?= $idModal ?>" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h4 class="modal-title col-11 text-center ">
                        <strong> <?= $nombreCuenta ?> </strong>
                    </h4>
                    <button style="button" class="close" data-dismiss="modal" aria-label="close"><span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <?= $tablaCuenta ?>
                </div>
            </div>
        </div>
    </div>
    
      Votos: 0 - Link respuesta
     
  • Fecha: 26-10-2020 20:25:04 Hola Edinson
    No tengo del todo claro que es lo que necesitas por lo tanto supondré que es un caso como alguna vez he tenido.

    En el index.php tenia un listado con unos botones o links con distintos ID y necesitaba que al hacer click en ellos se pase su respectivo ID al modal para que este imprima los datos de tal ID.
    Lo resolví con el modal remoto de la siguiente manera:
    Cada link tiene llama al archivo getContent.php con su receptivo ID, por ejemplo getContent.php?id=2

    index.php

     
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <title>MODAL REMOTO</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <style>
    
        </style>
        <script>
            $(document).ready(function(){
    
    // Fill modal with content from link href
    $("#myModal").on("show.bs.modal", function(e) {
        var link = $(e.relatedTarget);
        $(this).find(".modal-body").load(link.attr("href"));
    });
    
    
            });
        </script>
    </head>
    <body>
    
    <!-- Link trigger modal -->
    <a href="getContent.php?id=1" data-toggle="modal" data-target="#myModal" data-remote="false" class="btn btn-default">
        Abrir modal de la piedra preciosa con ID: 1
    </a>
    <a href="getContent.php?id=2" data-toggle="modal" data-target="#myModal" data-remote="false" class="btn btn-default">
      Abrir modal de la piedra preciosa con ID: 2
    </a>
     
    <a href="getContent.php?id=3" data-toggle="modal" data-target="#myModal" data-remote="false" class="">
      Abrir modal de la piedra preciosa con ID: 3
    </a>
    
    
    
    <!-- modal -->
    <!-- Default bootstrap modal example -->
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
              <h4 class="modal-title" id="myModalLabel">Titulo modal</h4>
            </div>
            <div class="modal-body">
              ...
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
            </div>
          </div>
        </div>
      </div>
    
    <!-- modal -->
    
    </body>
    
    </html>
    


    getContent.php Busca el ID respectivo e imprime sobre el Body del modal sus datos asociados.
    <?php
    // simulacion de base de datos
    
    if(!empty($_GET['id'])){ 
        $id = $_GET['id'];
        switch ($id) {
            case 1:
                $cmsData['title'] = 'Diamante';
                $cmsData['content'] = 'En la mineralogía, el diamante es un alótropo del carbono donde los átomos de carbono están dispuestos en una variante de la estructura cristalina cúbica centrada en la cara denominada «red de diamante».';    
            break;
            case 2:
                $cmsData['title'] = 'Amatista';
                $cmsData['content'] = 'La amatista es una variedad macrocristalina violeta del cuarzo. El color puede ser más o ... También se pueden encontrar en forma de drusas (cristales que recubren la superficie de una piedra) o en filones, acompañada de otros minerales.';
            break;
            
            default:
                $cmsData['title'] = 'Sin titulo';
                $cmsData['content'] = 'Sin contenido ID no encontrado' ;
        }
    }else{
        $cmsData['title'] = 'Sin titulo';
        $cmsData['content'] = 'Sin contenido por falta de ID' ;
    }
    
    
    echo '<h3><u>'.$cmsData['title'].':</u></h3>'; 
    echo '<blockquote>'.$cmsData['content'].'</blockquote>'; 
    


    Este ultimo codigo hago una simulación de una base de datos con fines ilustrativo. Deberás adaptarlo a tus propósitos. Es decir hacer la consulta a la base de datos e imprimir con echo los datos pertinentes de la consulta SQL (query)

    Sin haber testeado el proximo codigo adaptado, imagino que deberia ser de la siguiente manera el archivo a grandes rasgos de getContent.php

    <?php
    if(!empty($_GET['id'])){ 
    $consultarNombreCuenta = "select nombreCuenta, detalleTabla from tablascuentasahorros where idTextTabla = {$_GET['id']}";
    $stmt = $con->prepare($consultaNombreCuenta);
    $stmt->bind_param('s', $idModal);
    $stmt->execute();
    $result = $stmt->get_result();
    if ($row = $result->fetch_array(MYSQLI_ASSOC)) {
        echo 'Cuenta: '.$row['nombreCuenta'].'<br>';
        echo  'Detalle de la cuenta: '.$row['detalleTabla'];
    }
    
    }else{
       echo  'Sin informacion por falta de ID para la consulta' ;
    }
    ?>


    En en el index.php los link deberán tener el siguiente formato:

    <a href="getContent.php?id=cuentadigitalBCP" data-toggle="modal" data-target="#myModal" data-remote="false" class="btn btn-default">
      Ver detalles de la cuenta: cuentadigitalBCP
    </a>


    Espero que te sea útil.

    Saludos y que tengas un buen codigo.
      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com