Foros del Web » Programando para Internet » PHP »

variable javascript en codigo php

Estas en el tema de variable javascript en codigo php en el foro de PHP en Foros del Web. Hola, tengo un problema que no debe ser muy dificil de resolver, pero que me esta volviendo loco. Quiero hacer un select que contenga los ...
  #1 (permalink)  
Antiguo 10/10/2006, 07:53
 
Fecha de Ingreso: mayo-2006
Mensajes: 38
Antigüedad: 18 años
Puntos: 0
variable javascript en codigo php

Hola, tengo un problema que no debe ser muy dificil de resolver, pero que me esta volviendo loco.

Quiero hacer un select que contenga los valores obtenidos de una tabla mysql, para eso he decidido hacer la consulta y guardarla en un array en php, para despues pasar estos valores a una funcion javascript que me cree el select. Se que es mas complicacion de la necesaria ya que podria crear el select en php y listos, pero es que necesito añadir ciero dinamismo porque el select contendra diferenes valores dependiendo de que boton de busqueda se pulse.

Por ejemplo, si pulsas buscar por autor, el select contendra nombres de autores, si pones buscar por titulo, el select contendra titulos, etc.

Asi que despues de buscar un poco por google parece que la solucion deberia ser algo parecido a:

1- En php hacer la busqueda y crear el array

2 - Pasar los valores a un array javascript y crear el select, aqui es donde me pierdo, lo que intento es:
crear el array y pasarlo a una funcion.
Código:
echo "<script language='javascript'>";
echo "var noms_js = new Array('".implode("','".$noms_autors)."');";
echo "</script>";
echo "<a href='javascript:canviar_formulari(noms_js)'>Buscar per nom</a>";
Logicamente esto no funciona, no puedo poner el noms_js ahi a pelo sin indicar que es una variable javascript. Y aunque pudiese decir que es una variable javascript no se si funcionaria ya que al ser uno codigo cliene y el otro servidor no se si esto se ejecutaria en el orden correcto.

Estoy seguro de que hay mil maneras mejores de hacer esto, y aunque me gustaria saber si puedo acabarlo de la manera como lo he empezado, tambien estoy dispuesto a escuchar otras sugerencias. Muchas gracias.
  #2 (permalink)  
Antiguo 10/10/2006, 09:00
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Mi pregunta es: ¿para que lo quieres hacer con javascript?, si lo puedes hacer con PHP. Mira te pongo un ejemplo:

Código PHP:
<?php
if ( isset ( $_POST['submit'] ) )
{
   
$db mysql_pconnect "servername""username""password" ); // cambialos por sus respectivos valores
   
mysql_select_db "db" ); // cambialo por tu base de datos

   
$cual $_POST['cual'];

   
$consulta "SELECT DISTINCT $cual FROM libros";
   
$res mysql_query $consulta );
   
$numres mysql_num_rows $res );

   if ( 
$numres )
   {
      echo 
"<select name=\"".$cual."\">";
      while ( 
$fila=mysql_fetch_array($res) )
      {
         echo 
"<option value=\"".$fila[$cual]."\">".$fila[$cual]."</option>";
      }
      echo 
"</select>";
      exit;
   }
   else
   {
      echo 
"No se encontraron resultados.";
      exit;
   }

}
else
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
¿Qué es lo que desea que contenga el select?
<select name="cual">  // aquí deberás poner en los values los nombres de tus campos respetando giones o cosas por el estilo
   <option value="autor">Autores</option>
   <option value="titulo">Títulos</option>
</select><p>
<input type="submit" name="submit" value="Crear select">
</form>
<?php
}
?>
Como vez yo utilice la misma página pero recuerda que es sólo un ejemplo. Espero que esto te sirva de algo o por lo menos te de una idea que es el proposito de esta aportación. Suerte
  #3 (permalink)  
Antiguo 10/10/2006, 15:43
 
Fecha de Ingreso: mayo-2006
Mensajes: 38
Antigüedad: 18 años
Puntos: 0
Cita:
Iniciado por 1000i1 Ver Mensaje
Se que es mas complicacion de la necesaria ya que podria crear el select en php y listos, pero es que necesito añadir ciero dinamismo porque el select contendra diferenes valores dependiendo de que boton de busqueda se pulse.

Por ejemplo, si pulsas buscar por autor, el select contendra nombres de autores, si pones buscar por titulo, el select contendra titulos, etc.
Por una vez que escribo todas las alternativas y los porques en un post, y la unica respuesta que obtengo es justamente algo que yo mismo he expicado.

Me parece que volvere a mis posts mal explicados e incompletos, que me dan mas buen resultado ;).

PD: No se lo tomen a mal, es ironia el 100% del post, gracias a Erikfrancisco por las molestias, pero como me suelen decir a mi, por favor leete bien lo que se pregunta antes de responder.
  #4 (permalink)  
Antiguo 10/10/2006, 16:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por 1000i1 Ver Mensaje
Por una vez que escribo todas las alternativas y los porques en un post, y la unica respuesta que obtengo es justamente algo que yo mismo he expicado.

Me parece que volvere a mis posts mal explicados e incompletos, que me dan mas buen resultado ;).

PD: No se lo tomen a mal, es ironia el 100% del post, gracias a Erikfrancisco por las molestias, pero como me suelen decir a mi, por favor leete bien lo que se pregunta antes de responder.
Dejate la ironía, omitela .. Usuarios que te puedan colaborar hay muchos, si uno no entendió tu problema que le vamos hacer, yo tampoco entendí que pretendes hacer, por el hecho de que esto es más bien un problema de javascript que -primero- debes resolver.

Tu expón como quedaría tu ejemplo en javacript "puro" con datos de ejemplo (un grupo de ellos). Si esto no lo sabes implementar, primero pasa por el foro de javascript .. Luego ya veremos como generar esa "sintax" concreta que Javacript requiera para pre-establecer esos valores por defecto para el inicio de dicho array javascript.

Te comento también que tienes las técnicas de "AJAX" (lo conoces? .. tenemos un foro para tal fin) para que puedas pedir datos al servidor en forma "asincrona" en el momento que los necesites y no tener que cargar al cliente con todas las combinaciones posibles para que luego con javascript selecciones uno u otro grupo de datos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 10/10/2006, 16:08
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Pues creo que no lei tan mal, mira donde pones:

Cita:
Iniciado por 1000i1 Ver Mensaje
necesito añadir ciero dinamismo porque el select contendra diferenes valores dependiendo de que boton de busqueda se pulse.
Esto te lo puse no con botones sino con un select y si tiene dinamismo ya que dependiendo de la opcion que selecciones (autor, titulo) el select se rellenará con los autores o titulos dependiendo de lo que escogiste. Así que a mi parecer no te sabes explicar o no sabes donde publicar tus consultas creo que deberías de poner más antención a eso. Suerte de cualquier modo
  #6 (permalink)  
Antiguo 10/10/2006, 16:13
 
Fecha de Ingreso: mayo-2006
Mensajes: 38
Antigüedad: 18 años
Puntos: 0
Cita:
Iniciado por Cluster Ver Mensaje
Dejate la ironía, omitela ..
No se porque debo omitirla, solo intentaba quitarle importancia al asunto. Pero bueno ya veo que aqui no estamos para bromas, realmente no es mi intencio crear ningun tipo de mal rollo ni nada, solo quise tratar el tema con humor, pero como aqui solo se leen palabras y no tonos al decirlas pues todo es mal interpretable, asi que intentare limitarme a hablar de lo que toca.

A ver, se que puede resultar dificil entender lo que quiero expresar, esta claro que la pareja yo-teclado no llegaremos muy lejos. Asi que llego a la conclusion de que mi proximo proyecto sera crear foros con cortes de video, a ver si consigo hacerme entender :D.

Mi problema no tiene que ver con el javascript, a menos que ni yo mismo entienda el problema, realmente podemos dejar mi pregunta en:

¿Dentro de un código php puedo crear una variable javascript y despues pasarla a una funcion mediante un link???

Véase ejemplo:

Código:
<?
...
echo "<script languaje='javascript'> var a = 3; </script>";
...
echo "<a href='javascript:funcion(a)>link</a>";
....
?>
Supongo que debe haver alguna manera de hacer esto, a ver si alguien es tan amable de guiarme, muchas gracias.
  #7 (permalink)  
Antiguo 10/10/2006, 16:18
 
Fecha de Ingreso: mayo-2006
Mensajes: 38
Antigüedad: 18 años
Puntos: 0
Cita:
Iniciado por 1000i1 Ver Mensaje
Hola, tengo un problema que no debe ser muy dificil de resolver, pero que me esta volviendo loco.
Quiero hacer un select que contenga los valores obtenidos de una tabla mysql, para eso he decidido hacer la consulta y guardarla en un array en php, para despues pasar estos valores a una funcion javascript que me cree el select. Se que es mas complicacion de la necesaria ya que podria crear el select en php y listos, pero es que necesito añadir ciero dinamismo porque el select contendra diferenes valores dependiendo de que boton de busqueda se pulse.

Por ejemplo, si pulsas buscar por autor, el select contendra nombres de autores, si pones buscar por titulo, el select contendra titulos, etc.

Asi que despues de buscar un poco por google parece que la solucion deberia ser algo parecido a:

1- En php hacer la busqueda y crear el array

2 - Pasar los valores a un array javascript y crear el select, aqui es donde me pierdo, lo que intento es:
crear el array y pasarlo a una funcion.
Código:
echo "<script language='javascript'>";
echo "var noms_js = new Array('".implode("','".$noms_autors)."');";
echo "</script>";
echo "<a href='javascript:canviar_formulari(noms_js)'>Buscar per nom</a>";
Logicamente esto no funciona, no puedo poner el noms_js ahi a pelo sin indicar que es una variable javascript. Y aunque pudiese decir que es una variable javascript no se si funcionaria ya que al ser uno codigo cliene y el otro servidor no se si esto se ejecutaria en el orden correcto.

Estoy seguro de que hay mil maneras mejores de hacer esto, y aunque me gustaria saber si puedo acabarlo de la manera como lo he empezado, tambien estoy dispuesto a escuchar otras sugerencias. Muchas gracias.

PD: Por cierto, se lo de AJAX y es algo que me encantaria conocer, pero esto lo necesito hecho para ya, en cuanto lo entregue tengo pensado ponerme con ajax, es el siguiente paso.
  #8 (permalink)  
Antiguo 10/10/2006, 17:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Yo insisto, resuelve tu problema en javascript primero, con algunos datos de muetra y luego con el código Javascript concreto .. vienes al foro de PHP y vemos lo que siga.

Sólo entiende que "PHP" se ejecuta del lado del servidor y este a su vez genera toda la "salida" que el cliente verá: navegador y ejecutará su parte.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 10/10/2006, 21:48
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Dejame ver si ahora sí entendí, tu concepto de dinámico ¿es que no se recargue la página?, porque si es esto para eso existe algo que te comento Cluster y se llama AJAX checa este enlace y lo que tú podrías hacer es poner en el primer select los campos por los que quieres buscar (autor, título) y el segundo se rellenará con estos, a esto se le llama select's dependientes:

http://www.formatoweb.com.ar/ajax/se...pendientes.php

Como podrás ver en esta página puedes descargar el archivo y así estudiarlo. Espero que ahora sí te sirva mi aporte. Suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:35.