Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-09-2016
cd.rafael cd.rafael is offline
Miembro
 
Registrado: abr 2012
Posts: 59
Poder: 13
cd.rafael Va por buen camino
HTML sin código fuente (generado con PHP)

Cordial saludo,

Tengo un inconveniente respecto a la actualización del contenido de un DIV usando jQuery y PHP. Me explico:

Tengo un página PHP así:

Código:
	<?php
		session_start();
	?>
	<!DOCTYPE html>
	<html>
		<head>
			<meta charset="UTF-8">
			<!---->
			<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
			<!---->
			<script src="jquery.min-3.1.0.js"></script>
			<!---->
			<script src="jquery-1.10.2.js"></script>
			<script src="jquery-ui-1.11.14.js"></script>
			<!---->
			<script src="opciones.js"></script>
			<!---->
		</head>
		<body>
			<div id="listadoDIV">
				<?php include('listados.php')?>
			</div>
		</body>
	</html>
El archivo "listados.php" genera una tabla con los datos que necesito:

Código PHP:
        <?php
        
include 'conectaBD.php';
        
$SQL 'select * from tabla';
        echo 
'<table>';
        echo 
'<tr>';
        echo 
'<th class="Buscar" onclick="fBusca(\'campo1\')" >Campo 1</th>';
        echo 
'<th class="Buscar" onclick="fBusca(\'campo2\')" >Campo 2</th>';
        echo 
'<th class="Buscar" onclick="fBusca(\'campo3\')" >Campo 3</th>';
        echo 
'<th>Opciones</th>';
        echo 
'</tr>';
        if(
$Resultados sqlsrv_query($Enlace$SQLnull))
        {
            if(
$Resultados != false)
            {
                while(
$Dato sqlsrv_fetch_array($ResultadosSQLSRV_FETCH_ASSOC))
                {
                    echo 
'<tr>';
                    echo 
'<td>' $Dato['campo1'] . '</td>';
                    echo 
'<td>' $Dato['campo2'] . '</td>';
                    echo 
'<td>' $Dato['campo3'] . '</td>';
                    echo 
'<td> <select id="Opciones" name="' $Dato['campo1'] . '" onchange="fIr()">';
                    echo 
'<option value=""></option>';
                    echo 
'<option value="A">Opción A</option>';
                    echo 
'<option value="B">Opción B</option>';
                    echo 
'<option value="C">Opción C</option>';
                    echo 
'</select></td>';
                    echo 
'</tr>';
                }
            }
            
sqlsrv_free_stmt($Resultados);
        }
        echo 
'</table>';
    
?>
Hasta aquí, ningún problema....

Adicionalmente, yo puedo hacer filtros a dicho listado enviándole parámetros al PHP con el método GET y el listado se filtra correctamente. Para lo anterior uso el siguiente código:

Código:
	function fBusca(Campo)
	{
		Valor = prompt('Ingrese el valor que desea buscar:', '');
		$.get("listados.php", {pCampo: Campo, pValor: Valor}, function(respuesta)
		{
			alert(respuesta);
			$("#listadoDIV").html(respuesta);
		})
	}
Todo lo anterior funciona bien, PERO... Supongamos que el filtro te arroje más de 1 resultado (ejemplo 4). Cuando van a ver el código fuente de la página, sólo aparece el HTML del primer registro, no del resto. No le puedo encontrar explicación. Como se pueden dar cuenta, he colocado un SELECT en cada fila generada por la sentencia, cuyo nombre es el valor del Campo 1 (campo llave en la tabla), pero sólo funciona el del primero registro, los OPTION de los otros SELECT, cuando los leo con JS, aparecen el blanco. Para anotar, si escojo otro SELECT que no sea el primero, este tendrá el nombre del primero.

Código:
    function fIr()
    {
	fSeleccionar($("#Opciones").attr("name"));
	setTimeout(function(){ location.href = "../" + $("#Opciones").val() + "/index.php"; }, 100);
    }
La idea es que cada SELECT, al tener como nombre el Campo llave de la Tabla, se puede seleccionar una opción cuyo VALUE es un subdirectorio con cierta información, pero como los valores están en blanco (excepto en el SELECT del primer registro)... No puedo hacer nada.

Agradezco de antemano cualquier colaboración.

Bendiciones.
Responder Con Cita
  #2  
Antiguo 13-09-2016
cd.rafael cd.rafael is offline
Miembro
 
Registrado: abr 2012
Posts: 59
Poder: 13
cd.rafael Va por buen camino
Cordial saludos a todos,

Solucionado el problema.

El tema es sencillo: Como se pueden dar cuenta, tengo un bucle para crear las filas de la tabla con los resultados de la consulta SQL y como último dato de cada fila, se está creando un SELECT. Estos SELECT tienen un nombre único, debido a que les asigno el campo llave de la tabla, PERO... también debo asignarles un ID único a cada SELECT, de lo contrario JS asume que es el primer SELECT que aparece en el documento, así tenga varios.

Lo único que hay que hacer es:

Código PHP:
    echo '<td> <select id="Opciones' $Dato['campo1'] . '" name="' $Dato['campo1'] . '" onchange="fIr()">'
Ahora, pueden colocar como parámetro de la función [fIr()] el campo llave para que les pueda servir de guía sobre cuál SELECT fue escogido.

A todos, muchas gracias y espero que estos pequeños detalles puedan ayudar a otros con su trabajo.

Bendiciones.
Responder Con Cita
  #3  
Antiguo 22-09-2016
Rocio90 Rocio90 is offline
Miembro
NULL
 
Registrado: sep 2016
Posts: 12
Poder: 0
Rocio90 Va por buen camino
Algo parecido me ocurria gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda para extraer el codigo fuente de un HTML Lerak Internet 2 12-04-2008 15:43:42
Acceso a código generado por script Kafu HTML, Javascript y otros 1 09-03-2008 04:39:45
Extraer código fuente html de página web Casimiro Notevi Varios 16 11-11-2005 22:30:06
Exportar el codigo fuente de una UNIT a HTML le4br Varios 2 21-02-2005 04:08:02
Guardar codigo fuente HTML desde delphi dmassive Internet 7 07-03-2004 22:32:05


La franja horaria es GMT +2. Ahora son las 05:45:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi