Comunidad de diseño web y desarrollo en internet online

Variable PHP en SELECT

Citar            
MensajeEscrito el 18 Dic 2013 10:45 pm
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 funcion para activar y crear el segundo select...

Primer select:

<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:


<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:

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 funcion es donde se crea la segunda lista, aquí el problema y la duda. Primeramente convierto el nombre del documento en una variabe de script para que posteriormente dentro del codigo php lo pueda obtener:

var tabla=xdocumento; //Convierto variable en 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:

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:

$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

$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 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

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

ya todo jala bien, pero no cuando le pongo la variable $table.

No se en que este mal.

Por adiock

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 18 Feb 2014 04:02 pm
Hola,
Que sucede si lo colocas asi: Bueno probando $table de las distintas maneras que tienes con las diferentes comillas

$sql ="SELECT Folio FROM '$table' ORDER BY Folio ASC";

mysql_query($sql);

Por Krola

5 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.