Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/12/2013, 16:27
adiock
 
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.