Foros del Web » Programando para Internet » PHP »

problemas con una función que estoy construyendo.

Estas en el tema de problemas con una función que estoy construyendo. en el foro de PHP en Foros del Web. Buenas, estoy haciendo una función para crear los selects dinámicos que voy necesitando. pero no consigo que funcione. así no me funciona. Código PHP: <?php ...
  #1 (permalink)  
Antiguo 03/05/2007, 06:33
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
problemas con una función que estoy construyendo.

Buenas, estoy haciendo una función para crear los selects dinámicos que voy necesitando. pero no consigo que funcione.
así no me funciona.
Código PHP:
<?php

function menu_descriptores ($id,$nombre,$tabla){

//Creamos la sentencia SQL y la ejecutamos
$sSQL='Select' .$id',' .$nombre'from '.$tabla;
$result=mysql_query($sSQL);
//echo "<select multiple name=\"id_descrip[]\" class=\"required\">";
 //Generamos el menu desplegable
 
while ($row=mysql_fetch_array($result))
 echo (
'<option value="'.$row[$id].'">'.$row[$nombre].'</option>');
}
?>
así, utilizando * en vez de los campos que me interesan si funciona.

Código PHP:
<?php

function menu_descriptores ($id,$nombre,$tabla){

//Creamos la sentencia SQL y la ejecutamos
$sSQL='Select * from '.$tabla;
$result=mysql_query($sSQL);
//echo "<select multiple name=\"id_descrip[]\" class=\"required\">";
 //Generamos el menu desplegable
 
while ($row=mysql_fetch_array($result))
 echo (
'<option value="'.$row[$id].'">'.$row[$nombre].'</option>');
}
?>
A ver si alguien descubre porque es, y ponemos la función para el uso y disfrute de todos.

un saludo

oskar calvo.
  #2 (permalink)  
Antiguo 03/05/2007, 06:48
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: problemas con una función que estoy construyendo.

Hola

Creo que el error es de MySQL

Código PHP:
$sSQL='Select' .$id',' .$nombre'from '.$tabla;

//lo deberías reemplazar por 

$sSQL='Select' .$id',' .$nombre' from '.$tabla;

// es sutil la diferencia, pero si no pones un espacio antes de "from" no va a funcionar la query. 
En el futuro, para buscar los errores de mysql podés hacerl o siguiente
Código PHP:
$result=mysql_query($sSQL) or die(mysql_error()); 
entonces podés ver directamente q error produce la consulta.

Última edición por Seppo; 03/05/2007 a las 06:49 Razón: code -> php
  #3 (permalink)  
Antiguo 03/05/2007, 07:13
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: problemas con una función que estoy construyendo.

Hola Seppo, he probado lo que me has pasado y no funciona, se queda sin mostrar la información que estaría detrás del select.

un saludo

oskar calvo.

editado: lo saque al final.

Cita:
$sSQL='Select '.$id.','.$nombre.' from '.$tabla;
Gracias por la sugerencia de

or die(mysql_error());

un saludo
  #4 (permalink)  
Antiguo 03/05/2007, 09:11
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Re: problemas con una función que estoy construyendo.

Haz un:

echo sSQL;

A ver que query te sale, lo copias y lo pegas en phpMyAdmin a ver si funciona.

Saludos.
  #5 (permalink)  
Antiguo 03/05/2007, 11:31
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
Re: problemas con una función que estoy construyendo.

Prueba asi oscar_calvo
Código PHP:
<?php

function menu_descriptores ($id,$nombre,$tabla){

//Creamos la sentencia SQL y la ejecutamos
$sSQL='Select $id,$nombre from $tabla';
$result=mysql_query($sSQL);
echo 
"<select multiple name=\"id_descrip[]\" class=\"required\">";
 
//Generamos el menu desplegable
 
while ($row=mysql_fetch_array($result))
{
 echo 
'<option value="'.$row["$id"].'">'.$row["$nombre"].'</option>';
}
?>
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #6 (permalink)  
Antiguo 03/05/2007, 12:48
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: problemas con una función que estoy construyendo.

perdón, pero creo que lo que presenta el cirujano en esta linea
Código PHP:
$sSQL='Select $id,$nombre from $tabla'
esta mal, ya que el usar comillas simples ( ' ) el php no remplazara las variables tomará el texto tal cual mejor usa comillas dobles
Código PHP:
$sSQL="Select $id,$nombre from $tabla"
suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 04/05/2007, 04:12
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: problemas con una función que estoy construyendo.

eits tienes razón, también funciona como has dicho, utilizando las ".

Código PHP:
<?php

function menu_descriptores ($id,$nombre,$tabla){

//Creamos la sentencia SQL y la ejecutamos
$sSQL=" select $id, $nombre from $tabla";
$result=mysql_query($sSQL) or die(mysql_error());  
//echo "<select multiple name=\"id_descrip[]\" class=\"required\">";
 //Generamos el menu desplegable
 
while ($row=mysql_fetch_array($result))
 echo (
'<option value="'.$row[$id].'">'.$row[$nombre].'</option>');
}
?>
Lo que no se es si alguien hizo ya esta función o similar, o como llevarlas a las faqs.

Un saludo

oskar calvo
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 01:15.