Foros del Web » Programando para Internet » PHP »

Pasar selecion de lista a otro php

Estas en el tema de Pasar selecion de lista a otro php en el foro de PHP en Foros del Web. hola de nuevo bueno estoy con otro problema de php bueno tengo una lista desplegable que muestra el contenido de mi base,ademas la base de ...
  #1 (permalink)  
Antiguo 07/02/2008, 07:43
Avatar de wladtepes  
Fecha de Ingreso: febrero-2008
Mensajes: 140
Antigüedad: 16 años, 2 meses
Puntos: 0
Exclamación Pasar selecion de lista a otro php

hola de nuevo bueno estoy con otro problema de php bueno tengo una lista desplegable que muestra el contenido de mi base,ademas la base de datos guarda una consulta en sql(select algo from algo), mas unos datos de identificacion uno de ello es el que se muestra en la lista entonces cuando presiono enviar el dato es recivido en el otro php que solo deberi obtener el nombre de la seleccion y despues con ese nombre realiza una consulta a la base de datos y traer el sql guardado y posteriormente ejecutar el sql y realizar el reporte


e error que me da es este:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #6' at line 1

les dejo el codigo
ojala que me puedan ayudar a resolver el problema bueno y si tienen sugerencias de como hacerlo de mejor forma estare muy agadecido

formulario que muestra la lista
Código PHP:

<form action="createExcel.php" method="POST">

<select name="sel_vend" id="sel_vend">
            <?php 
                        
              $consulta
"SELECT nombre_consulta FROM consulta ";
                 
$resultado mysql_query($consulta) or die('La consulta fall&oacute;: ' mysql_error());
              
              while(
$linea mysql_fetch_array($resultado)){
                
               echo 
" <option value=\"".$linea[1]."\">".$linea[0]."</option>\n";
                    
                  }                
               
?>  
</select>
<input type="submit" name="submit" value="ejecutar Consulta">
</form>


php que procesa

Código PHP:

<?php
      
require_once("excel.php");

      require_once(
"excel-ext.php");

      
// Consultamos los datos desde MySQL

$servidor "localhost";
$usuario_bd "root"
$password_bd ""
$basedatos "empresa"


$conexion mysql_connect($servidor,$usuario_bd,$password_bd);
if (!
$conexion)
{
    echo 
"Error conectando a la base de datos.";
    exit();
}

$resultado=mysql_select_db($basedatos,$conexion);
if (!
$resultado)
{
    echo 
"Error seleccionando la base de datos.";
    exit();


$consulta=$_POST['sel_vend'];//supuestamente aca se obtiene la selecion del fomulario anterior

$sql="select codigo from consulta where nombre_consulta ='".$consulta."';"//se hace una consulta que buscara datos con referencia a la seleecion anterior
$resultado mysql_query($sql) or die(mysql_error());//ejecuta la consulta para extraer la informacion (extrae una consulta sql guardada)

$queEmp $resultado;//variable se le asigna el valor obtenido anteriormente


     // $queEmp = "SELECT nombre_consulta,nombre_consultante FROM consulta";

      
$resEmp mysql_query($queEmp,$conexion) or die(mysql_error());//se ejecuta la consulta 

      
$totEmp mysql_num_rows($resEmp); //obtiene numero de filas

      // Creamos el array con los datos

      
while($datatmp mysql_fetch_assoc($resEmp)) {

          
$data[] = $datatmp;
      }
      
createExcel("EXCEL.xls"$data);
        exit;
?>
  #2 (permalink)  
Antiguo 07/02/2008, 08:57
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Pasar selecion de lista a otro php

En este paso:
Código PHP:
$queEmp $resultado;//variable se le asigna el valor obtenido anteriormente 
Le estas asignando a $queEmp el resource del resultado de tu consulta, para que funcione como quieres te faltaria usar mysql_fetch_row para obtener los resultados de tu consulta.

Saludos.
  #3 (permalink)  
Antiguo 07/02/2008, 09:19
Avatar de wladtepes  
Fecha de Ingreso: febrero-2008
Mensajes: 140
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Pasar selecion de lista a otro php

Cita:
Iniciado por GatorV Ver Mensaje
En este paso:
Código PHP:
$queEmp $resultado;//variable se le asigna el valor obtenido anteriormente 
Le estas asignando a $queEmp el resource del resultado de tu consulta, para que funcione como quieres te faltaria usar mysql_fetch_row para obtener los resultados de tu consulta.

Saludos.


mmm.......... donde debo de poner el mysql_fetch_row antes del
Código PHP:
$queEmp=$resultado
  #4 (permalink)  
Antiguo 07/02/2008, 09:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Pasar selecion de lista a otro php

$resultado es el resultado (recurso) de tu consulta, asi que sobre ese valor debes de usar mysql_fetch_array para obtener los resultados a un arreglo y luego de ese arraglo buscar el indice que tiene el resultado de tu consulta para que lo pases a $queEmp;

Saludos.
  #5 (permalink)  
Antiguo 07/02/2008, 10:02
Avatar de wladtepes  
Fecha de Ingreso: febrero-2008
Mensajes: 140
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Pasar selecion de lista a otro php

hice lo siguiente


me lanza el siguiente error


Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\PROYECTOS\PRUEBAS\createExcel.php on line 33
Query was empty

Código PHP:
$resultado mysql_query($sql) or die(mysql_error());//ejecuta la consulta para extraer la informacion (extrae una consulta sql guardada)
$filas=mysql_fetch_array($resultado);
$resultado2=mysql_fetch_row($filas); 

no entiendo que estoy haciendo mal
  #6 (permalink)  
Antiguo 07/02/2008, 10:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Pasar selecion de lista a otro php

Estas descargando dos veces un arreglo, y la segunda ni si quiera es sobre un resultado, ve el manual de PHP, las funciones mysql_fetch_array y mysql_fetch_row, ambas necesitan un recurso, que es el resultado de una consulta, para hacer lo que quieres deberias de hacer algo asi:
Código PHP:
$resultado mysql_query($sql) or die(mysql_error());//ejecuta la consulta para extraer la informacion (extrae una consulta sql guardada)
$filas=mysql_fetch_row($resultado);
$consulta $filas[0]; 
Saludos.
  #7 (permalink)  
Antiguo 07/02/2008, 11:59
Avatar de wladtepes  
Fecha de Ingreso: febrero-2008
Mensajes: 140
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Pasar selecion de lista a otro php

hola de nuevo sabes como puedo saber si es que se estan enviando la seleccion (osea el nombre) de mi codigo porque al final el php que procesa ,el error que me da es porque no tiene datos

Código PHP:
$consulta=$_POST['sel_vend'];//supuestamente aca se obtiene la selecion del otro  fomulario 

$sql="select codigo from consulta where nombre_consulta ='".$consulta."';"//se hace una consulta que buscara datos con referencia a la seleecion anterior
$resultado mysql_query($sql) or die(mysql_error());//ejecuta la consulta para extraer la informacion (extrae una consulta sql guardada)
$filas=mysql_fetch_row($resultado);
$consulta $filas[1];  

$queEmp $consulta;//variable se le asigna el valor obtenido anteriormente
///$resultado2=mysql_fetch_row($queEmp);


     // $queEmp = "SELECT nombre_consulta,nombre_consultante FROM consulta";

      
$resEmp mysql_query($queEmp) or die ('ERROR faltan datos : '.mysql_error());//se ejecuta la consulta  obtiene los datos

      
$totEmp mysql_num_rows($resEmp); //obtiene numero de filas

      // Creamos el array con los datos

      
while($datatmp mysql_fetch_assoc($resEmp)) {

          
$data[] = $datatmp;
      }
      
createExcel("EXCEL.xls"$data);
        exit; 
  #8 (permalink)  
Antiguo 07/02/2008, 12:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Pasar selecion de lista a otro php

Prueba usando la funcion empty() para comparar si una variable esta o no vacia.

Saludos.
  #9 (permalink)  
Antiguo 07/02/2008, 12:31
Avatar de wladtepes  
Fecha de Ingreso: febrero-2008
Mensajes: 140
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Pasar selecion de lista a otro php

si esta vacia el problema esta en la primera paguina donde esta el formulario con la lista desplegable, como puededo hacer para que se tome el dato de la lista y se traspase al otro php

lo otro en la lista desplegable la parte que creo que el error esta aqui ademas no entiendo por que dos $linea[] si yo solo quiero mostrar un solo dato

echo " <option value=\"".$linea[1]."\">".$linea[0]."</option>\n";
  #10 (permalink)  
Antiguo 08/02/2008, 08:32
Avatar de wladtepes  
Fecha de Ingreso: febrero-2008
Mensajes: 140
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Pasar selecion de lista a otro php

bueno ya logre realizar la aplicacion y funciona perfectamente gracias por la ayuda GATORV

dejo el codigo completo , el generador de exceL dinamico es solo cosa de cambiar la conexion a la base y genera el reporte sin problema espero que les sirva para sus proyectos futuros
ADEMAS BUENO EL ARCHIVO EXCEL.PHP Y EXCEL_EXL.PHP ESTA EN UN TEMA QUE PUBLIQUE HACE UNOS DIAS CON EL TITULO DE "[URGENTE]Crear Un Archivo Excel Dinamico Con Php"


se despide WLADTEPES





FORMULARIO.PHP
Código PHP:
<?
$servidor 
"localhost";
$usuario_bd "root"
$password_bd ""
$basedatos "empresa"
$conexion mysql_connect($servidor,$usuario_bd,$password_bd);
if (!
$conexion)
{
    echo 
"Error conectando a la base de datos.";
    exit();
}

$resultado=mysql_select_db($basedatos,$conexion);
if (!
$resultado)
{
    echo 
"Error seleccionando la base de datos.";
    exit();
}
?>

<html>
<head>

<script type="text/javascript">
function valida(formulario){


    er=/^[a-zA-Z ñÑáéíóúÁÉÍÓÚuüÜÇç]+$/;
    if(er.test(formulario.nombre_consulta.value)==false){
        alert("El campo nombre debe rellenarse con caracteres alfabéticos");
        return false; // NO se enviará el formulario.
    }

    er=/^[a-zA-Z ñÑáéíóúÁÉÍÓÚuüÜÇç]+$/;
    if(er.test(formulario.nombre_consultante.value)==false){
        alert("El campo apellidos debe rellenarse con caracteres alfabéticos");
        return false; // NO se enviará el formulario.
    }
    return true; // Se enviará el formulario.
}

</script>

<title>MI WUEA DE PAGUINA</title>
</head>
<body>

<form action="INGRESO.php" method="POST" name="formulario" class="Estilo4" onSubmit="return valida(formulario)">
  <table width="349">
<tr>
<td width="34%"><span class="Estilo5">Nombre_consulta:</span></td>
<td width="66%"><input type="text" name="nombre_consulta" size="27" maxlength="20">
  <span class="Estilo6">(*)</span></td>
</tr>
<tr>
<td width="34%"><span class="Estilo5">nombre_consultante:</span> </td>
<td width="66%"><input type="text" name="nombre_consultante" size="27" maxlength="20">
<span class="Estilo6"> (*)</span></td>
</tr>
 </table>   
   
  </div>
  <input type="submit" value="Enviar" name="enviar">
  <input type="reset" value="Limpiar" name="limpiar" />
</form>

<!-------------------lista------------------------------------------->

<form action="createExcel.php" method="POST">

<select name="consulta" id="consulta">
<?
$res
=mysql_query("select * from consulta");
if(
mysql_num_rows($res)==0) echo "no hay datos en la tabla..";

else

for(
$i=0;$i<mysql_num_rows($res);$i++) {

$row=mysql_fetch_assoc($res);

echo
"<option>$row[nombre_consulta]</option>";
}
?>
</select>

<input type="submit" name="submit" value="ejecutar Consulta">
</form>


</body>
</html>
INGRESO.PHP(ESTE PROSESA EL FORMULARIO)
Código PHP:
<?Php
$servidor 
"localhost";
$usuario_bd "root"
$password_bd ""
$basedatos "empresa"

$codigo ="SELECT nombre_consulta FROM consulta";


$conexion mysql_connect($servidor,$usuario_bd,$password_bd);
if (!
$conexion)
{
    echo 
"Error conectando a la base de datos.";
    exit();
}

$resultado=mysql_select_db($basedatos,$conexion);
if (!
$resultado)
{
    echo 
"Error seleccionando la base de datos.";
    exit();
}

$consulta$_POST['nombre_consulta'];
$consultante$_POST['nombre_consultante'];


$sql " SELECT * FROM consulta WHERE nombre_consulta LIKE '".$consulta."';";

$resultado mysql_query($sql,$conexion);


if (!
$resultado)
{
    echo 
"Se produjo un error al intentar consultar: ".mysql_error();
    exit();
}
else
{

    if (
mysql_num_rows($resultado)>0)
    {
        
        
$fila mysql_fetch_array($resultado); 
        echo 
" <div align= 'center'> <img src='errorusuario.jpg'> </div>";
        echo 
"<br><br><a href='http://127.0.0.1/PROYECTOS/PRUEBAS/FROMULARIO.php?'><span class='Estilo2'>VOLVER AL RESGISTRO </span></a><br>";
        exit();
    } 
    else
    {

    
        
$sql ="INSERT INTO consulta ( nombre_consulta,nombre_consultante,codigo) ";
        
$sql.="VALUES ( '$consulta', '$consultante','$codigo');";
    
        
$resultado mysql_query($sql,$conexion);


        if (!
$resultado)
        {
            echo 
" <div align= 'center'> <img src='error.jpg' > </div>";
            echo 
"Se produjo un error al intentar registrar: ".mysql_error();
            echo 
"<br><br><a href='http://127.0.0.1/PROYECTOS/PRUEBAS/FROMULARIO.php?'>VOLVER AL REGISTRO</a>";
            exit();
        }
        else
        {
                        
            
            echo 
"<span class='Estilo4'><br><br><br>REGISTRO GUARADADO CON EXITO!!!!!!!!!!. </span><br>";
            echo 
" </p> </font>";
            echo 
"<br><br><a href='http://127.0.0.1/PROYECTOS/PRUEBAS/FROMULARIO.php?'>VOLVER AL REGISTRO</a>";
            
        }
    }
}
?>

<html>
<head>
<title>CAT&Aacute;LOGO</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


<style type="text/css">
<!--
.Estilo2 {
    font-size: 14px;
    color: #000066;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-weight: bold;
}
-->
</style>
</head>
<body bgcolor="#FFFFFF">
</body>
</html>

ESTE REALISA LA BUSQUEDA DE LA CONSULTA Y LLAMA LAS CASES PARA GENERAR EL EXCEL
CREATEEXCEL.PHP

Código PHP:
<?php
      
require_once("excel.php");

      require_once(
"excel-ext.php");

      
// Consultamos los datos desde MySQL

$servidor "localhost";
$usuario_bd "root"
$password_bd ""
$basedatos "empresa"


$conexion mysql_connect($servidor,$usuario_bd,$password_bd);
if (!
$conexion)
{
    echo 
"Error conectando a la base de datos.";
    exit();
}

$resultado=mysql_select_db($basedatos,$conexion);
if (!
$resultado)
{
    echo 
"Error seleccionando la base de datos.";
    exit();


$consulta=$_POST['consulta'];//supuestamente aca se obtiene la selecion del fomulario anterior

$sql="select *  from consulta where nombre_consulta ='".$consulta."';"//se hace una consulta que buscara datos con referencia a la seleecion anterior

$resultado mysql_query($sql) or die("error ".mysql_error());//ejecuta la consulta para extraer la informacion (extrae una consulta sql guardada)
$filas=mysql_fetch_row($resultado);
$consulta $filas[3]; //OBTINES LAS FILAS QUE DESEAS SOLO CAMBIENDO EL INDICE

  
$queEmp $consulta;

      
$resEmp mysql_query($queEmp) or die ('ERROR faltan datos : '.mysql_error());//se ejecuta la consulta 

      
$totEmp mysql_num_rows($resEmp); //obtiene numero de filas

      // Creamos el array con los datos

      
while($datatmp mysql_fetch_assoc($resEmp)) {

          
$data[] = $datatmp;
      }
      
createExcel("EXCEL.xls"$data);
        exit;
        
        
?>


ESPERO QUE LES SIRVA
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

SíEste tema le ha gustado a 2 personas (incluyéndote)




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