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 06-09-2006
Avatar de Rafafa
Rafafa Rafafa is offline
Registrado
 
Registrado: sep 2006
Posts: 4
Poder: 0
Rafafa Va por buen camino
Question Problema PHP-MYSQL regreso de array de un QUERY!!

Hola a todos, soy nuevo en el foro y nuevo en PHP, tengo un problemita espero me ayuden.

Tengo una pagina PAG1.php donde tengo un menu para configurar una consulta a una BD(mysql), cada opcion muestra ciertos parametros, los cuales los despliego dinamicamente por medio de el evento onClick y de una funcion en JS. lo que genero son cuadros de texto(<input type="text"...)y un boton(buscar).
La opcion mas facil sobre la que espero me puedan ayudar y con la que yo creo que se me aclaran mis dudas es cuando se quieren ver todos los registros(SELECT * from Table1),
como puedo mandar llamar una funcion escrita en PHP desde JS ???, la cual me genere la tabla con los datos de la consulta, en una posicion especifica de la pagina(ej. al centro y abajo del menu).

He intentado llamar un script PHP desde JS(con Location.url="scriptCons.php?tipo=1") donde tipo ya verifique que si sea pasada, el script lo dividi en 2 funciones, una que genera la consulta, y la seguna que imprime los resultados, en la posicion que deseo imprimir el resultado pongo:
<? include("scriptCons.php"); viewInfo(); ?>
y no funciona, lo mismo lo intente con require.. aqui yo creo que no sirve la funcion ya que php se ejecuta del lado del servidor, pero entonces como paso los resultados de regrso a la pag????????

HE TRATADO DE NO USAR FORMS ya que no se como regresar el resultado de prosesar la info, asi como en <form action="scriptCons.php?tipo=1"> no me pasa la variable......

Si alguien me puede dar alguna sugerencia le estare muy agradecido ya que no se que mas puedo intentar.....

DE ANTEMANO MUCHAS GRACIAS!!!!!!!!!!!!!!!!!!!!!!!!
Rafafa

Última edición por Rafafa fecha: 09-09-2006 a las 03:50:44. Razón: Titulo no es especifico
Responder Con Cita
  #2  
Antiguo 06-09-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Llamar a una función escrita en PHP desde JavaScript no es posible, porque, como has dicho, uno trabaja en el Servidor y otro en el cliente y no vale ese tipo de comunicación. Empero, sí que puedes enviar variables y valores a través de enlaces, formularios, etc., que sean procesados por el Script PHP (la página correspondiente) como sea menester.

Por otro lado, aunque lo siguiente funcionaría, según creo, porque estarías enviando variables vía "HTTP GET" a la página "pagina.php"...

Código:
<form action="pagina.php?variable=valor">
Lo cierto es que lo normal suele ser incluir campos en el formulario, cuyos atributos dieran el nombre y el valor que toque a las variables necesarias. Un ejemplo sencillo:

Código:
<form action="pagina.php" method="get">
<input type="hidden" name="variable0" value="valor0" />
<input type="text" name="variable1" value="valor1" />
<input type="submit" value="Enviar" />
</form>
He añadido un campo oculto por si no sabías que es posible enviar de ese modo variables y valores sin que el usuario "se entere", puesto que dichos campos "hidden" no aparecerán en la página. Empero, no están ahí para que el usuario no se entere de lo que se hace, sino que son útiles en ciertas situaciones, claro está.

El caso es que al enviar ese formulario en "pagina.php" contarás con el Array super global "$_GET", en este caso (porque el método del formulario era "GET", bien podría ser "POST", y así el Array a usar sería "$_POST"), de manera que podrías acceder a los variables y valores de este modo:

Código PHP:
// pagina.php

if(isset($_GET['variable1'])
  
$variable1 $_GET['variable1']; 
En realidad es bastante sencillo el asunto, así que no creo que te cueste mucho en cuanto te pongas a hacer alguna que otra prueba. Pero, como me parece que me estoy extendiendo demasiado, lo dejo aquí, y, si tienes algo que comentar, pues eso, por aquí estaremos.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 07-09-2006
Avatar de Rafafa
Rafafa Rafafa is offline
Registrado
 
Registrado: sep 2006
Posts: 4
Poder: 0
Rafafa Va por buen camino
Unhappy Muchas gracias!!!!! aunque sigo molestando!!!

Hola!!! muchas gracias por tu ayuda , ya puse en practica y tenias toda la razon!!! este proseso no es nada dificil.....
Ahora mi problema esta en el regreso de los datos a la pagina principal donde los quiero desplegar, tengo un script php(querysSocio.php) que en general verifica una variable que se pasa a la pagina por medio de JS(...parent.location="querysSocio.php?all=1"...) esto lo hago pork cuando de click en el link (VER SOCIOS) tengo que despleguar todos los registrados.

Código PHP:
if(isset($all)){
$reg viewAll();
header("Refresh: 1; URL = consulta_socio.php?regreso=1");
}
//funcion para hacer la consulta
function viewAll(){
                        
//en esta clase me conecto a mi BD
 
require_once('clases/conexion_bd.php');
     
$obj_bd = new BD;
   
$conexion $obj_bd->conecta();
 
// EMPIEZA TODO EL PROSESO
   
   
$sql "SELECT CNOSOCIO,CAPELLID FROM TSOCIOS ";
    
   
$res  mysql_query($sql);
   
   
$total mysql_num_rows($res);
   if(
$total!=0){
      
$array[$total];
      
$i=0;
   
   while (
$row mysql_fetch_assoc($res)) {
              
$array[$i] = $row['CNOMUSUA'] . " " $row['CAPELLID'];
     
$i++;
     }
     
        
mysql_free_result($res);
       
mysql_close($conexion);     
   }
   
   else{ 
$array="no hay registros";}
   
  return 
$array;
  
}
-
//ESTA FUNCION ESTA PENSADA YA QUE DESDE LA PAG PRINCIPAL LA
//MANDO LLAMAR EN LA SECCION DONDE QUIERO DESPLEgaR LA CONSULTA
//le puse global ya que $reg no se encuentra definida dentro de las funciones

function viewINFO(){
global 
$reg;
return 
$reg;

en la pag principal:

Código PHP:
<?
if($regreso ==1){
    
$regreso=0;
        require_once(
'querysSocio.php');
    
$info=viewINFO();
if(!isset(
$info)) echo "info recibida";
    echo 
"<table> <tr> <td bgcolor= \"#0000FF\" colspan=\"2\" > " 
    
"<center>:: N O M B R E   D E   S O C I O :: </center> </td> </tr>";
    
    for(
$i=0;$i<count($info);$i++){
    echo 
"<tr><td>".$info[$i]."</tr></td>";   
    } 
    
    echo 
"</table>";
    }
?>
MI PROBLEMA es que no se si se pueden regresar los arrays y sus contenidos por medio de return , y si se puede regresar que estoy haciendo mal ya que la variable $info no contiene datos algunos.....

Espero no causar molestias y de antemano muchisimas gracias.
Rafafa.

Última edición por dec fecha: 07-09-2006 a las 08:26:01.
Responder Con Cita
  #4  
Antiguo 09-09-2006
Avatar de Rafafa
Rafafa Rafafa is offline
Registrado
 
Registrado: sep 2006
Posts: 4
Poder: 0
Rafafa Va por buen camino
Exclamation Solucion con Headers(cambio de pagina)

HOLA a todos , espero esten muy bien!!! he estado haciendo pruebas para resolver mi problema, ya verifique que los arrays se regrsen por return y se impriman, la prueba que hice es:
Archivo 1prueba1.php)

//Lo unico que busco es que se ejecute el script de prueba2.php
<? include("prueba2.php");?>
<form name="hola" action="prueba2.php">
<input type="submit" name="boton"/>
</form>
<?
if($b==1){
$hola= regresa();
if(isset($hola))echo "<br>rafael chavez <br>";
for($i=0;$i<=count($hola);$i++)
echo $hola[$i];
}
else
echo "No hay datos";
?>

Archivo 2prueba2.php)
<?
$reg[0]="RAFAEL";
$reg[1]="CHAVEZ SOLIS ";
$reg[2]=" ESTO SON ARRAYS !!!!!!";
header("Location.php?b=1");

function regresa(){
global $reg;
return $reg;
}

?>


Al parecer todo va bien si imprime el array pero al ejecutarlo manda un error asi:
Warning: Cannot modify header information - headers already sent by ( output started at prueba2.php: 9(supongo que es donde esta el include) )in prueba1.php line 6(donde esta header)

Que es lo que pasa con el header?? existe algun otra manera de al mandar llamar un script con un form(POST) regresar en un punto dado al script anterior para despues mandar llamar la funcion???

De Antemano Gracias por su ayuda !!!
Responder Con Cita
  #5  
Antiguo 09-09-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.112
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Personalmente, no termino de comprender bien qué es lo que pretendes hacer yendo de una página a la otra y queriendo regresar otra vez a la anterior... se me escapa lo que quieres hacer, y así es complicado ayudarte. Pero, no digo que tengas tú nada que ver: digo que yo, personalmente, no entiendo lo que pretendes.

El error a que haces referencia se ha tratado en más de una ocasión en estos Foros y es un error muy común cuando se utiliza la función "header" de PHP. Echa un vistazo a este Hilo, que he "recuperado" tras esta búsqueda en los Foros. A ver si te sirve de algo, por lo menos, para solucionar el problema "Cannot modify header information..." etc.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 13-09-2006
Avatar de Rafafa
Rafafa Rafafa is offline
Registrado
 
Registrado: sep 2006
Posts: 4
Poder: 0
Rafafa Va por buen camino
Talking Solucion,problema Headers y parametros entre paginas

Hola a todos, muchas gracias por su ayuda y en especial a dec, el problema esque en una pagina tenia links y pequeños forms para realizar consultas (osea el link1 mostraba el form para la consulta por nombre y apellido, el link2 mostraba un form para la consulta por rfc .....) bueno para cerrar el tema esta fue mi solucion con 3 archivos php.

el primer archivo contenia una clase con las funciones de consulta, recuperacion etc... de las diferentes consultas que nesecitaba hacer.

el segundo archivo evaluava de que form venia y usaba header para redireccionar a la pag principal(osea solo fue como un archivo en el que me apoyo para redireccionar con opciones diferentes)

el tercer archivo, el archivo prncipal evaluava si llegaba una variable que indicaba que la pag habia sido actualizada y despues creaba un objeto de la clase (del primer archivo) , asi podia disponer tanto de los datos del form y manipularlos en la misma pagina, lo siguiente fue la llamada a las funciones y VUALA!!!! las consultas aparecian dentro de tablas en este archivo junto con links para ver los detalles.

Gracias a todos por su ayuda!!!!!!!!!
Saludos
RAFAFA
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 por favor jcarteagaf Varios 5 27-06-2006 12:27:13
Ayuda por favor lazarous PHP 2 18-07-2005 19:06:58
ayuda por favor efromm SQL 4 08-03-2004 13:27:43
AYUDA, por favor! Waldo Conexión con bases de datos 5 01-11-2003 17:49:02
ayuda por favor haffo Varios 1 01-10-2003 21:40:06


La franja horaria es GMT +2. Ahora son las 12:54:17.


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