Foros del Web » Programando para Internet » PHP »

Variable PHP en una Sentencia SQL.

Estas en el tema de Variable PHP en una Sentencia SQL. en el foro de PHP en Foros del Web. Hola!! Manejo listas vinculadas en HTML, en la primera lista el usuario deberá seleccionar un tipo de documento (Factura, Garantía, Cotización etc), entonces en la ...
  #1 (permalink)  
Antiguo 19/12/2013, 16:27
 
Fecha de Ingreso: diciembre-2013
Ubicación: DF
Mensajes: 2
Antigüedad: 10 años, 4 meses
Puntos: 0
Pregunta Variable PHP en una Sentencia SQL.

Hola!!

Manejo listas vinculadas en HTML, en la primera lista el usuario deberá seleccionar un tipo de documento (Factura, Garantía, Cotización etc), entonces en la segunda lista, dependiendo de que tipo de documento se elija, en esta lista deberán aparecer el numero de folio de cada documento, todo esto desde una base de datos. Bueno esa parte ya la tengo; leo los documento desde la BD para crear mi form tipo select, y ademas una función para activar y crear el segundo select...

Primer select:

Código:
<select name="Documento" id="Documento" onchange="ComponerLista(this.value)">
<?php

$query2="Select * From Documento Order By Nombre ASC";
$result2=mysql_query($query2);
while ($documento=mysql_fetch_array($result2)) {
?> 
<option value = " <?php echo $documento['Nombre']; ?> "><?php echo $documento['Nombre']; ?></option>

<?
} 

?>
</select>
Bueno ahi obtengo el nombre de los documentos, ahora para crear el segundo select tengo la funcion ComponerLista, el cual es un javascript:

Código:
<script language="javascript">
function ComponerLista(documento) {
document.forms.AgrDatos.Documento.disabled = true;
document.forms.AgrDatos.Folio.length = 0;
CargarFolio(documento);
document.forms.AgrDatos.Documento.disabled = false; 
}
</script>
Bueno en esta es para el manejo de los form (para que se active y desactive), a su vez se tiene el funcion de CargarFolio y bueno se envia como paremetro el nombre de documento....

En la segunda funcion:

Código:
function CargarFolio(xdocumento) {
var o
document.forms.AgrDatos.Folio.disabled=true; 
var tabla=xdocumento;

<?php
$table = "document.write(tabla)";
//echo $table;
$tablaFolio = mysql_query("SELECT Folio FROM $table ORDER BY Folio ASC");
while ($folio = mysql_fetch_array($tablaFolio)) { 
?> 
o = document.createElement("OPTION"); 
o.text = '<?php echo $folio["Folio"];?>';
o.value = <?php echo $folio["Folio"];?>;
document.forms.AgrDatos.Folio.options.add(o); 
<?php
}
mysql_free_result($tablaFolio); 


?> 

document.forms.AgrDatos.Folio.disabled=false;
}
En esta función es donde se crea la segunda lista, aquí el problema y la duda. Primeramente convierto el nombre del documento en una variable dentro del script para que posteriormente dentro del código php lo pueda obtener:

Código:
var tabla=xdocumento; //Convierto variable en el script

$table = "document.write(tabla)"; //ya dentro de php convierto esa variable en una variable de php
Y bueno para verificar si esto es correcto hice un echo:

Código:
echo $table;
Y si funciona. Me muestra el nombre del documento que se eligió.

Asta ahí todo bien, el problema surge cuando quiero pasar esa variable $table a la sentencia SELECT de mysql:

Código:
$tablaFolio = mysql_query("SELECT Folio FROM $table ORDER BY Folio ASC");
No sucede nada, no se pasa esa variable y bueno ya lo que sigue no funciona... También provee con

Código:
$tablaFolio = mysql_query("SELECT Folio FROM '.$table.' ORDER BY Folio ASC");

$tablaFolio = mysql_query("SELECT Folio FROM $table ORDER BY Folio ASC;");

$tablaFolio = mysql_query('SELECT Folio FROM '$table' ORDER BY Folio ASC');
Y bueno no se en donde tenga el error, ya que si en mi SELECT, le pongo directamente el nombre del documento, el cual es igual el nombre de la tabla si me rellena la segunda lista (select) y todo bien... por ejemplo

Código:
$tablaFolio = mysql_query("SELECT Folio FROM Factura ORDER BY Folio ASC");
ya todo jala bien, me muestra los numero de folio que se tienen guardados en la lista html pero no cuando le pongo la variable $table.

No se en que este mal.
  #2 (permalink)  
Antiguo 19/12/2013, 16:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Variable PHP en una Sentencia SQL.

El problema es claro: no entiendes la diferencia entre PHP y Javascript.

Ambos lenguajes se ejecutan en contextos diferentes y no puedes esperar a que PHP se ejecute en tu código Javascript y viceversa.

PHP se ejecuta en el servidor y Javascript en el navegador.

Si requieres algún resultado de PHP usando algún valor de Javascript entonces necesitas implementar Ajax, investiga el respecto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/12/2013, 17:07
 
Fecha de Ingreso: diciembre-2013
Ubicación: DF
Mensajes: 2
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Variable PHP en una Sentencia SQL.

Cita:
Iniciado por pateketrueke Ver Mensaje
El problema es claro: no entiendes la diferencia entre PHP y Javascript.

Ambos lenguajes se ejecutan en contextos diferentes y no puedes esperar a que PHP se ejecute en tu código Javascript y viceversa.

PHP se ejecuta en el servidor y Javascript en el navegador.

Si requieres algún resultado de PHP usando algún valor de Javascript entonces necesitas implementar Ajax, investiga el respecto.
Hola!

Primero gracias por la respuesta. Se que tengo que investigar al respecto de AJAX, mi duda era porque me base en este documento http://www.tallerwebmaster.com/tutorial/listas-dinamicas-enlazadas/77/ , hice el ejemplo que viene ahí y si funciono. Y bueno queria probar si funcionaria eligiendo una tabla. Porque en el ejemplo, es diferente realiza un if.

Etiquetas: select-html, sql-sentencia
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 20:36.