Jump to content

Pop up con php


Recommended Posts

Amigos foreros, necesito su ayuda en un tema. resulta que estoy haciendo una pagina en donde ejecuto una consulta y me aparece una tabla en donde tengo lo siguiente:

 

ID-nombre-ApPat-ApMat-Modificar

esto me resulta sin ningun problema, pero donde dice "modificar" esta de esta forma:

echo "<td><a href='modifUsuarios.php?user=".$row['userName']."'>Editar</a></td>";

 

pero me lo abre en la misma pagina... lo que quiero hacer es que me abra en un pop up que no he podido generar.

 

Si me pueden ayudar se los agradeceria.

:(

 

 

 

Link to comment
Share on other sites

echo "<td><a href='modifUsuarios.php?user=".$row['userName']."' target=\"_blank\">Editar</a></td>";

 

Eso... o lo prefieres hacer con un window de tamaño personalizado?

 

Salu2.

Link to comment
Share on other sites

Miren, esto es lo que tengo...

 

Pagina en donde tengo un formulario que al presionar me muestra en un DIV llamado "resultado" de la misma pagina una consulta hecha en php, esta me resulta sin ningun problema:

consultaEmpleados.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript" src="ajax.js">
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>

<body>
<form method="post" action="" name="consulta">
<table align="center">
<tr><td colspan="4" align="center"><font size="+2">Buscar usuarios</font></td></tr>
<tr><td colspan="4" align="center"><hr /></td></tr>
<tr valign="baseline">
    <td>Usuario</td><td><input type="text" name="user" /></td>
    <td>Nombre</td>
    <td><input type="text" name="name" /></td>
</tr>
<tr>
    <td>Ap. Paterno</td><td><input type="text" name="apePat" /></td>
    <td>Ap. Materno</td><td><input type="text" name="apeMat" /></td>
</tr>
<tr>
    <td colspan="4" align="center" valign="middle"><input type="submit" value="Buscar" onclick="mostrarPost(); return false"/> <input type="reset" value="Borrar" /></td>    
</tr>
<tr><td colspan="4" align="center"><a href="#" onclick="java script:window.open('editarUser.php','usuario','width=300, height=500')">Agregar Nuevo usuario</a></td></tr>
</table>
</form>
<div id="resultado" align="center" style="border:1px solid #0033FF; width:500px; margin:auto"></div>
</body>
</html>

 

la funcion que me ejecuta de javascript es la siguiente para mostrar la tabla de registros: ajax.js

function objAjax(){
    
    var req = false;
    try{
        req = new XMLHttpRequest();/* Para Firefox */
    }catch(error1){
        try{
            req = new ActiveXObject("Msxml2.XMLHTTP");/*Algunas versiones de IE */
        }catch(error2){
            try{
                req = new ActiveXObject("Microsoft.XMLHTTP");/*Algunas versiones de IE */
            }catch(error3){
                req = false;
            }
        }
    }
    return req;    
}

function mostrarPost(){
    ajax = objAjax();
    divResultado = document.getElementById('resultado');
    user = document.getElementById('user').value;
    name = document.getElementById('name').value;
    apePat = document.getElementById('apePat').value;
    apeMat = document.getElementById('apeMat').value;
    ajax.open("POST",'cunsulta.php',true);
    ajax.onreadystatechange = function(){
        if(ajax.readyState == 4){
            divResultado.innerHTML = ajax.responseText;
        }
    }
    ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    ajax.send("user="+user+"&name="+name+"&apePat="+apePat+"&apeMat="+apeMat);
}

el, php que ejecuta es el siguiente:

cunsulta.php (ojo está con "u", es que me equivoqué al crearlo, jejejejejeje)

<?php

    $user = $_POST["user"];
    $name = $_POST["name"];
    $apePat = $_POST["apePat"];
    $apeMat = $_POST["apeMat"];
    $con = mysql_connect("localhost","root","");
    mysql_select_db("tienda",$con);
    $pagina = "editUser.php";
    
    $query = mysql_query("select * from usuarios where userName like '%$user%' and userNombre like '%$name%' and userApePat like '%$apePat%' and userApeMat like '%$apeMat%' order by userNombre",$con);
    echo "<table>";
    echo "<tr style='background-color: #5F9EA0; color:#FFD700'><td>UserName</td><td>Nombre</td><td>Ap. Paterno</td><td>Editar</td></tr>";
    while($row=mysql_fetch_array($query)){
        echo "<tr>";
        echo "<td>".$row['userName']."</td>";
        echo "<td>".$row['userNombre']."</td>";
        echo "<td>".$row['userApePat']."</td>";
        echo '<td><a href="#" onclick="Open('.$row['userName'].')">Editar</a></td>';
        echo "</tr>";
    }
    echo "</table>";
?>

 

hasta ahi todo ok, pero cuando le hago click al link "Editar" que aparece en la tabla generada que llama a la funcion Open de javascript me da errores, este es el codigo de la funcion Open, que está dentro del archivo antes mencionado ajax.js:

function most(user){
    window.open('editarUser.php?user='+user,'usuarios','width=300, height=500');
}

 

Ojalá me puedan ayudar, se agradece de ante mano....

Link to comment
Share on other sites

Al parecer no está encontrando la funcion "most()":


Detalles de error de página web

Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)
Fecha: Fri, 11 Jun 2010 15:49:31 UTC


Mensaje: 'caroarayq' no está definido
Línea: 11
Carácter: 1
Código: 0
URI: http://localhost/vtAjax/consultaEmpleados.php

donde caroaray es el codigo de user que le estoy enviando a la funcion most(user) para que me abra el popup con un formulario (que aun no construyo, solo quiero que se abra el popup e imprima por pantalla el user para saber si transfiere la variable) para asi editar los datos. Gracias.

Link to comment
Share on other sites

El error está aquí:

echo '<td><a href="#" onclick="Open('.$row['userName'].')">Editar</a></td>';

 

te faltaron las cremillas dentro de ( ), así:

echo "<td><a href=\"#\" onclick=\"Open('" . $row['userName'] . "')\">Editar</a></td>";

Como no le pusiste las cremillas, el JavaScript está interpretando caroaray como un objeto HTML... por eso dice que no existe...

 

De hecho, los echo deberías escribirlos con " (comillas) y si necesitas que imprima comillas, le pones \"... así puedes usar más cómodamente las cremillas...

 

Salu2.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...