Comunidad de diseño web y desarrollo en internet online

Como llenar un combo en php por mysql?

Citar            
MensajeEscrito el 06 May 2009 07:15 pm
Buenas soy nueva en lo que es referente a php mysql y ajax..
tengo una consulta quiero llenar un combo.. pero con una base de datos mysql pero no logro hacerlo me podrian ayudar les enseño el codigo porfavor ayudenmeee..abuss... :(


<SELECT NAME="marcas_id">
<option>Seleccione una Opción...</option>

<?
$query="SELECT fabricantes_nombre FROM fabricantes";
$link=mysql_connect("127.0.0.1","root","");
$result=mysql_db_query("titulacion2",$query,$link);
while ($row=mysql_fetch_array($result))
{
?>
<OPTION VALUE="<?php echo $row['fabricantes_id'] ?>"><?php echo $row['fabricantes_nombre'] ?></OPTION>
<?}?>
</SELECT>

mi bd de datos..:
CREATE TABLE fabricantes (
fabricantes_id int(11) NOT NULL auto_increment,
fabricantes_nombre varchar(32) NOT NULL,
fabricantes_imagen varchar(64) default NULL,
fecha_agregada datetime default NULL,
ultima_modificacion datetime default NULL,
PRIMARY KEY (fabricantes_id)
)
INSERT INTO `fabricantes` (`fabricantes_id`, `fabricantes_nombre`, `fabricantes_imagen`, `fecha_agregada`, `ultima_modificacion`) VALUES
(1, 'ACER', 'fabricantes_acer.gif', '2009-05-05 16:30:25', NULL),
(2, 'Amd', 'fabricantes_Amd.gif', '2009-05-05 16:31:42', NULL),
(3, 'APC', 'fabricantes_APC.gif', '2009-05-05 16:33:25', NULL),
(4, 'ASUS', 'fabricantes_ASUS.gif', '2009-05-05 16:34:26', NULL),
(5, 'BENQ', 'fabricantes_BENQ.gif', '2009-05-05 16:37:00', NULL),
(6, 'BYTECC', 'fabricantes_ASUS.gif', '2009-05-05 16:37:00', NULL),
(7, 'Canon', 'fabricantes_ASUS.gif', '2009-05-05 16:37:00', NULL),
(8, 'CASE-LOGIC', 'fabricantes_ASUS.gif', '2009-05-05 16:37:00', NULL);


pero no carga solo sale..
Seleccione una Opción
y una en blanco mas abus..ayudenme..please..

Por fiore5152

6 de clabLevel



 

msie7
Citar            
MensajeEscrito el 07 May 2009 06:35 pm
te recomiendo esto :

crea un archivo de conexion para que no tengas que hacer todo ese trabajo de mas despues puedes hacer esto

este es el archivo de conexion

Código :

<?php 
if($link=mysql_connect("127.0.0.1","root","")){
  mysql_select_db("nombre de la base de datos");
}else{
  echo 'Error : Conexion no Establecida'; 
}
?>



Código :

<?php include("conexion.php"); ?>
<SELECT NAME="marcas_id">
<option>Seleccione una Opción...</option>
<?
$query="SELECT fabricantes_nombre FROM fabricantes";
while ($row=mysql_fetch_array(mysql_query($query,$link))){

echo'<OPTION VALUE="'.$row['fabricantes_id'].'">'.$row['fabricantes_nombre'].'</OPTION>';
}
</SELECT>


con esto te deberia funcionar y que linda eres saludos te recomiendo colocar una imagen mas pequeña porq deforma el foro ;-) besos

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 08 May 2009 01:42 pm
ola... gracias por contestarme.. estuve probando con lo que hicistes y no sale.. falta..algo.. pq no sale..sale error.. creo ke falta una comilla.. o algo por el estilo = gracias buscando por ahi encontre esto:
conexion.php
<?php
$conexion=mysql_connect("127.0.0.1", "root");
mysql_select_db("titulacion2",$conexion);
?>

en la pagina... y me cargo..el combo..
<?php
include 'conexion.php';
if (!$conexion) {
die('No se puede conectar: ' . mysql_error());
}
$con="SELECT fabricantes_nombre FROM fabricantes";
$res=@mysql_query($con,$conexion);
if(!$res){
echo " fallo";
}
else{
echo "<select name='select1'>";
while ($fila=mysql_fetch_array($res)){
echo "<option>", $fila['fabricantes_nombre'], "</option>";
}
echo "</select>";
}
?>

ya me cargo.. el combo..pero me podrias ayudar.. a ese combo.. rediccionarla..tipo ajax.. para que cada vez.. que marque una de las alternativas...salga en mi div de ajax. ...(si tienes un codigo de como una busqueda mediante el codigo que escoja)
codigo ajax.. es este: le puse de nombre codigo.js
function llamarasincrono (url, id_contenedor){
var pagina_requerida = false;
if (window.XMLHttpRequest)
{ // Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest (); }
else if (window.ActiveXObject)
{ // pero si es IE
try
{ pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP"); }
catch (e)
{ // en caso que sea una versión antigua
try
{ pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP"); }
catch (e)
{
}
}
}
else return false;
pagina_requerida.onreadystatechange = function ()
{ // función de respuesta
cargarpagina (pagina_requerida, id_contenedor);
}
// asignamos los métodos open y send
pagina_requerida.open ('GET', url, true);
pagina_requerida.send (null);
}

// todo es correcto y ha llegado el momento de poner la información requerida// en su sitio en la pagina xhtml
function cargarpagina (pagina_requerida, id_contenedor)
{ if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
{
document.getElementById (id_contenedor).innerHTML = pagina_requerida.responseText;
}
}

aqui deberia cargar las paginas dinamicas..sin cargar de nuevo toda la pagina
<div id="contenidos">
</div>

me ayudarias pleaseee... gracias.. de todos modos..muak

Por fiore5152

6 de clabLevel



 

msie7
Citar            
MensajeEscrito el 21 Mar 2010 11:22 pm
estas haciendo la consulta antes de abrir la BD por eso no te muestra nada

Por @ndres poffo

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 21 Mar 2010 11:51 pm
fijate... este es tu código

<SELECT NAME="marcas_id">
<option>Seleccione una Opción...</option>
<?
$query="SELECT fabricantes_nombre FROM fabricantes";
$link=mysql_connect("127.0.0.1","root","");
$result=mysql_db_query("titulacion2",$query,$link);
while ($row=mysql_fetch_array($result))
{
?>
<OPTION VALUE="<?php echo $row['fabricantes_id'] ?>"><?php echo $row['fabricantes_nombre'] ?></OPTION>
<?}?>
</SELECT>

poné el $query entre medio de $link (que es la conexion a la BD) y $restult (que seria la ejecución de la consulta) y ahi te va a funcionar. por lo que veo te faltaria tambien la contraseña de la conexion , quedaria así

$link=mysql_connect("127.0.0.1","root","contraseña");
$query="SELECT fabricantes_nombre FROM fabricantes";
$result=mysql_query($query,$link);

saludos
while ($row=mysql_fetch_array($result))

Por @ndres poffo

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Mar 2010 04:25 pm
Tu query es este:

$query="SELECT fabricantes_nombre FROM fabricantes";

le estás pidiendo SOLO el dato fabricantes_nombre

y cuando vas a hacer el <select>:

<OPTION VALUE="<?php echo $row['fabricantes_id'] ?>"><?php echo $row['fabricantes_nombre'] ?>


estás intentando imprimir un dato que no existe en tu resource. Agregá fabricantes_id al SELECT en el query
saludos

Por angel_eskarlata

68 de clabLevel



Genero:Femenino  

Baires City

opera
Citar            
MensajeEscrito el 03 Feb 2011 07:49 pm
hola buenos dias a todos, tengo un problema.

y es q no me esta mostrando los datos q supuestamente trae de la BD. :(

asi tengo el codigo>
<?php

$nombremenu="empresas";
$empresa= new empresa('','','','');
$resultado=$empresa->saca_menu_desplegable();


echo "<select name='$nombremenu'>";
while ($fila2=mysql_fetch_row($resultado)){
echo'<OPTION VALUE="'.$fila2['id_empresa'].'">'.$fila2['nombre'].'</OPTION>';

}
echo "</select>";


?>

y la funcion >
//busca empresas pr id_cliente
public function saca_menu_desplegable(){

$wsql="select id_empresa,nombre from empresas ";
$result=mysql_query($wsql);
$fila=mysql_fetch_array($result);
return $fila;

}

Por wil01

22 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 07 Jul 2017 08:15 pm
Hola a todos, cómo están???
Les escribo porque necesito ayuda con un llenado de combo desde una bd. Estoy trabajando con eclipse y con mysql workbench 6.3 CE. En el eclipse en la capa lógica tengo la clase de la conexión a la bd y tengo una clase rol en la que tengo:
<?php
class Rol{
private $idRol;
private $descripcion;

public function __construct($idRol="", $descripcion=""){
$this->idRol=$idRol;
$this->descripcion=$descripcion;
}

public static function selectRol($id=""){
$mysql=new BaseDatos();
$info="";
$sql="select idRol, descripcion from rol;";
$listado=$mysql->ejecutarSQL($sql);
if(!empty($listado) && $mysql->getError()==""){
foreach ($listado as $campo){
$info.= "<option value='".$campo->idRol."'";
if($id!="" && $id==$campo->idRol){
$info.=" selected>";
}else{
$info.=">";
}
$info.=$campo->descripcion."</option>";
}
}else{
$info=$mysql->getError();;
}
return $info;
}

//METODOS SET Y GET
//Parametros $propiedad->__set("nombre","Prueba");
public function __set($nombreAtributo,$valor){

if(property_exists($this, $nombreAtributo)){
$this->$nombreAtributo=$valor;
}
else
{
echo "No existe el atributo $nombreAtributo";
}
}

//Parametros $propiedad->__get("nombre");
public function __get($nombreAtributo){
if(property_exists($this, $nombreAtributo)){
return $this->$nombreAtributo;
}
else
{
echo "No existe el atributo $nombreAtributo";
}
}

public function set_get($nombreAtributo,$value=null){
if ($value!=null){
$this->$nombreAtributo=$value;
}else{
return $this->$nombreAtributo;
}
}
}
?>

y en la parte gráfica tengo esto en la parte del combo:
<fieldset>
<legend>Rol</legend>
<select name="Rol">
<?php echo Rol::seleccionarRoles($propiedad->idRol);?>
</select>
</fieldset>

pero no se me llena el combo. No me muestra ningún error simplemente no se me llena el combo y no me muestra lo que va después del combo.
Alguien me podría ayudar con esto porfa es para el proyecto final de la U.

Por rebe92

0 de clabLevel



 

chrome

 

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