Buscar y abrir una pagina secundaria php

Que onda experto tengo este formulario que busco el nombre y cuando le doy buscar abre una segunda pagina donde deben de aparecer los registros aparece en blanco la pagina.

Esta es la ventana principal

<script>
var ventana_secundaria
function abrirVentana(){
ventana_secundaria = window.open("dos.php","miventana","width=300,height=200,menubar=no")
}
</script>
<form name="formulario" action="" method="post">
<td width="140">nombre:
<input name="palabra" maxlength="10" >
<input name="buscador" type="submit"value="Buscar"size="3" onClick="abrirVentana()"/>
</form>

aquí es la pagina secundaria

dos.php

<?php
if ($_POST['buscador'])
{
$buscar = $_POST['palabra'];
if(empty($buscar))
{
echo "No se ha ingresado una cadena a buscar";
}else{
$con=mysql_connect("localhost","","");
$sql = "SELECT * FROM datos WHERE numero like '%$buscar%' ORDER BY id DESC";
mysql_select_db("buscar", $con);
$result = mysql_query($sql, $con);
$total = mysql_num_rows($result);
if ($row = mysql_fetch_array($result)){
echo "Resultados para: <b>$buscar</b>";
?>
<table width="100%" border="0" bgcolor="#999999">
<thead>
<tr>
<th width="13%" scope="col">Nombre</th>
<th width="12%" scope="col">apellido</th>
<th width="15%" scope="col">importe</th>
<th width="13%" scope="col">factura</th>
<th width="47%" scope="col">fecha</th>
</tr>
</thead>
<?php
do {
?>
<tr>
<td align="center" bgcolor="#CCCCCC"><?=$row['nombre'];?></td>
<td align="center" bgcolor="#CCCCCC"><?=$row['apellido'];?></td>
<td align="center" bgcolor="#CCCCCC"><?=$row['importe'];?></td>
<td align="center" bgcolor="#CCCCCC"><?=$row['factura'];?></td>
<td align="center" bgcolor="#CCCCCC"><?=$row['fecha'];?></td>
</tr>
<?php
} while ($row = mysql_fetch_array($result));
echo "<p>Resultados: $total</p>";
} else {
echo "No se encontraron resultados para: <b>$buscar</b>";
}
}
}
?>
</table>

Pero en esta pagina secundaria no me sale los resultado de mi búsqueda hice un popup en un script porque no me aparece nada

1 respuesta

Respuesta
1

Hay cierta confusión en tu caso.

Cuando haces click intentas abrir la ventana pero no entregas ninguna información al script dos.php entonces cuando ese archivo se topa con esta sentencia

if ($_POST['buscador'])

No genera ningún contenido ya que nunca vino la variable _POST

Tienes que hacer el submit direccionando hacia esa página, si no, nunca podrás procesar la información que viene desde el formulario.

y como se haría experto por decir si quiero direccionar la pagina a otra entonces el script que hago para abrir la pagina dos.php no me va a servir ya

Veamos... Cambia el formulario por esto:

<form name="formulario" action="" method="post">
<td width="140">nombre:
<input id='palabra' name="palabra" maxlength="10" >
<input name="buscador" type="button" value="Buscar"size="3" onClick="ventana_secundaria()"/>
</form>

La función javascript modifícala a esto

<script>
function abrirVentana()
val_busqueda = document.getElementById('palabra').value;
window.open("dos.php?palabra="+val_busqueda,"miventana","width=300,height=200,menubar=no")
}

En tu php cambialo a lo siguiente

<?php
if ($_GET['palabra'])
{
$buscar = $_GET['palabra'];
if(empty($buscar))
{
echo "No se ha ingresado una cadena a buscar";
}else{
$con=mysql_connect("localhost","","");
$sql = "SELECT * FROM datos WHERE numero like '%$buscar%' ORDER BY id DESC";
mysql_select_db("buscar", $con);
$result = mysql_query($sql, $con);
$total = mysql_num_rows($result);
if ($row = mysql_fetch_array($result)){
echo "Resultados para: <b>$buscar</b>";
?>
<table width="100%" border="0" bgcolor="#999999">
<thead>
<tr>
<th width="13%" scope="col">Nombre</th>
<th width="12%" scope="col">apellido</th>
<th width="15%" scope="col">importe</th>
<th width="13%" scope="col">factura</th>
<th width="47%" scope="col">fecha</th>
</tr>
</thead>
<?php
do {
?>
<tr>
<td align="center" bgcolor="#CCCCCC"><?=$row['nombre'];?></td>
<td align="center" bgcolor="#CCCCCC"><?=$row['apellido'];?></td>
<td align="center" bgcolor="#CCCCCC"><?=$row['importe'];?></td>
<td align="center" bgcolor="#CCCCCC"><?=$row['factura'];?></td>
<td align="center" bgcolor="#CCCCCC"><?=$row['fecha'];?></td>
</tr>
<?php
} while ($row = mysql_fetch_array($result));
echo "<p>Resultados: $total</p>";
} else {
echo "No se encontraron resultados para: <b>$buscar</b>";
}
}
}
?>
</table>

ya lo modifique y cuando ingreso el nombre y le doy buscar no hace nada no me envía a ningún lado

Cambia esto

onClick="ventana_secundaria()"

Por esto

onClick="abrirVentana()"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas