Foros del Web » Programando para Internet » PHP »

Desesperado con php,join y combos

Estas en el tema de Desesperado con php,join y combos en el foro de PHP en Foros del Web. Llevo 3 dias buscando en todos los sitios y ya no se que hacer,por eso me he registrado para ver si vosotros podiais ayudarme,os expongo ...
  #1 (permalink)  
Antiguo 07/03/2008, 19:29
 
Fecha de Ingreso: marzo-2008
Ubicación: Malaga
Mensajes: 38
Antigüedad: 16 años, 1 mes
Puntos: 0
Desesperado con php,join y combos

Llevo 3 dias buscando en todos los sitios y ya no se que hacer,por eso me he registrado para ver si vosotros podiais ayudarme,os expongo mi problema.

Supongamos que tengo la tabla ejemplares y la tabla peliculas y formato,en la tabla ejemplares hay claves ajenas(foreign key) al codigo de peliculas y al de formatos.
Lo que intento es hacer que en la pagina de insertar ejemplares haya 2 combos que me muestren tanto el nombre de las peliculas que hay en la tabla peliculas y el nombre de los formatos que hay en su respectiva tabla.
Espero que me podais dar una solucion que como no entregue esto a tiempo digo adios a los estudios.
Gracias de antemano y saludos a todos.
  #2 (permalink)  
Antiguo 07/03/2008, 21:40
Avatar de Adolfiten  
Fecha de Ingreso: enero-2008
Ubicación: Frente a mi monitor...
Mensajes: 572
Antigüedad: 16 años, 3 meses
Puntos: 7
Re: Desesperado con php,join y combos

Bueno amigo, espero poder ayudar, y poder salvar sus estudios indirectamente.

<SELECT> //Apertura de tag de combo.
[CUERPO]
</SELECT> //Cierre de tag de combo.

En el cuerpo deberías hacer una rutina con un for o algo por el estilo que recorra el resultset donde dejaste los datos de la tabla a la que le hiciste la consulta.
Por cada opción vas a tener que generar esto:

<OPTION> aaa </OPTION> //Donde "aaa" es el nombre de lo que necesitas.

Espero haber ayudado.
Saludos y a las órdenes.

Adolf.
  #3 (permalink)  
Antiguo 07/03/2008, 22:02
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
De acuerdo Re: Desesperado con php,join y combos

SAludos!!

Bueno si te entendi bien. lo puedes hacer de la siguiente manera


Código PHP:
<?
//Creamos el combo
echo"<select name='peliculas' id='peliculas'>";
//Realizamos consulta. Que el id_pelicula se encuentre en ambas tablas
$select="SELECT p.nombre_pelicula, e.id_pelicula from ejemplares e, peliculas p
where p.id_pelicula=e.id_pelicula"
;
//en dado q solo quieras consultar todas las peliculas lo realizas de la siguiente manera te lo dejo comentareado
//$select="SELECT nombre_pelicula, id_pelicula from peliculas";
//Ejecucion del query
$respuesta=mysql_query($select);
//Realizamos un ciclo para extraer el resultado el fila como una matriz
while($arreglo_select=mysql_fetch_array($respuesta)){
$iidentificador=$arreglo_select['id_pelicula'];
$nombre=$arreglo_select['nombre_pelicula'];
echo 
"<option value='$identificador'>$nombre</option>";
}
//Cerramos el while y la etiqueta del combo
echo "</select>";
y asi muy similar lo realizarias para el de formatos..

Bueno espero que te halla entendido bien y que te halla podido servir de ayuda.

Hasta Pronto
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #4 (permalink)  
Antiguo 07/03/2008, 22:07
Avatar de Adolfiten  
Fecha de Ingreso: enero-2008
Ubicación: Frente a mi monitor...
Mensajes: 572
Antigüedad: 16 años, 3 meses
Puntos: 7
Re: Desesperado con php,join y combos

Gracias Nano, me arreglaste un par de cosas, ahora sí va a servirle.
  #5 (permalink)  
Antiguo 08/03/2008, 07:31
 
Fecha de Ingreso: marzo-2008
Ubicación: Malaga
Mensajes: 38
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Desesperado con php,join y combos

No me sale nada en la combo os pongo como lo tengo.
Código PHP:
//Creamos el combo
echo"<select name='peliculas' id='peliculas'>";
//Realizamos consulta. Que el id_pelicula se encuentre en ambas tablas
$select="SELECT p.titulo, e.cpe from ejemplares , peliculas p
where p.cpe=e.cpe"
;
//en dado q solo quieras consultar todas las peliculas lo realizas de la siguiente manera te lo dejo comentareado
//$select="SELECT nombre_pelicula, id_pelicula from peliculas";
//Ejecucion del query
$respuesta=mysql_query($select);
//Realizamos un ciclo para extraer el resultado el fila como una matriz
while($arreglo_select=mysql_fetch_array($respuesta)){
$iidentificador=$arreglo_select['cpe'];
$nombre=$arreglo_select['titulo'];
echo 
"<option value='$identificador'>$nombre</option>";
}
//Cerramos el while y la etiqueta del combo
echo "</select>"
?> 
En ejemplares tengo cej(codigo ejemplar),cpe(codigo pelicula foreing key de la tabla peliculas)y cf(fk de formatos,luego en peliculas tengo tambien titulo y en formatos nombreformato,que es lo que quiero mostrar.
  #6 (permalink)  
Antiguo 08/03/2008, 07:52
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Desesperado con php,join y combos

A ver vamos a entender un poco lo que quieres, tienes ejemplares, peliculas y formato, tienes que saber que en el combo dinámico que quieres generar solo puedes listar dos datos de cualquiera de tus tablas dependiendo la condición de tu consulta que es lo que deseas listar? debes ser un poco mas claro para poder ayudarte. según lo expuesto en tu primer mensaje ya te dieron la idea te planteo otra
listar las peliculas en un combo.
Código PHP:
<select name="pelicula" id="pelicula" >   
<?php   
//Obtener los valores de las filas   
$sql "SELECT codpelicula, nompelicula FROM peliculas ORDER BY codpelicula ASC";   
$resul mysql_query($sql$link) or die( mysql_error() );   
$opt '<option value = "%s">%s</option>';   
//Recorrido del cursor   
while($row mysql_fetch_array($resul))   
{    
   echo 
sprintf($opt$row[0], $row[1]);   
}   
?>   
</select>
y eso es todo lo mismo haces con la tabla formatos la generas igualmente y ya puedes llenar la tabla ejemplares con los datos de los combos. es eso lo que deseas?


Saludos.

Última edición por Carlojas; 08/03/2008 a las 08:04
  #7 (permalink)  
Antiguo 08/03/2008, 08:10
 
Fecha de Ingreso: marzo-2008
Ubicación: Malaga
Mensajes: 38
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Desesperado con php,join y combos

Tabla ejemplares:
-cej(codigo ejemplar,clave primaria)
-cep(codigo pelicula,es foreign key de la tabla peliculas)
Tabla peliculas:
-cep(codigo pelicula,clave primaria)
-Titulo

Quiero que cuando vaya a insertar un nuevo ejemplar en la combo me salgan los nombres de las peliculas que haya en la tabla de peliculas.
  #8 (permalink)  
Antiguo 08/03/2008, 08:22
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Desesperado con php,join y combos

Mira el mensaje que puse anteriormente creo que es lo que necesitas


Saludos.
  #9 (permalink)  
Antiguo 08/03/2008, 09:27
 
Fecha de Ingreso: diciembre-2007
Mensajes: 121
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Desesperado con php,join y combos

Yo tengo un problema similar

Última edición por Zarkiria; 08/03/2008 a las 19:16
  #10 (permalink)  
Antiguo 08/03/2008, 19:19
 
Fecha de Ingreso: marzo-2008
Ubicación: Malaga
Mensajes: 38
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Desesperado con php,join y combos

Me lo podriais corregir??
Código PHP:
[<?php 
cnn
=mysql_connect($hostname,$username,$password) or die (mysql_error()); 
mysql_select_db($database,$cnn); 
     
            
$query_datList="SELECT z.cej,z.cpe,p.titulo,p.cpe 
                            FROM  peliculas p, ejemplares z 
                            WHERE z.cpe = p.cpe "

            
$datList=mysql_query($query_datList,$cnn) or 
             die (
mysql_error()); 
             
$row_datList=mysql_fetch_assoc($datList); 
             
$agenda=mysql_num_rows($datList); 
             
?> 

<p align="center">Seleccione el c&oacute;digo deseado </p> 
<form id="form1" name="form1" action="introducirejemplares.php"> 
  <label> 
  <div align="center"> 
    <select name="select"> 
    <?php while ($row_datList=$agenda){ ?> 
       <option><?php echo $row_datList['titulo']; ?> </option> 
       <?php ?> 
      
      
    </select> 
     
  </div> 
  </label> 
  <p>&nbsp;</p> 
  <p align="center"> 
    <label> 
    <input name="Borrar" type="submit" id="Borrar" value="borrar" /> 
    </label> 
  </p> 
</form> 
<p align="center">&nbsp;</p>
  #11 (permalink)  
Antiguo 09/03/2008, 08:25
 
Fecha de Ingreso: marzo-2008
Ubicación: Malaga
Mensajes: 38
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Desesperado con php,join y combos

Alquien me ayuda por favor???
  #12 (permalink)  
Antiguo 09/03/2008, 09:42
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Desesperado con php,join y combos

Prueba así tu código:
Código PHP:
<?php  
$cnn 
mysql_connect($hostname,$username,$password) or die (mysql_error());  
mysql_select_db($database,$cnn);  
      
$query_datList "SELECT ejemplares.cej, ejemplares.cpe, peliculas.titulo AS titulo, peliculas.cpe AS codigo FROM peliculas, ejemplares WHERE ejemplares.cpe = peliculas.cpe";    
$datList mysql_query($query_datList$cnn) or die (mysql_error());    
?>  

<p align="center">Seleccione el c&oacute;digo deseado </p>  
<form id="form1" name="form1" action="introducirejemplares.php">  
  <label>  
  <div align="center">  
    <select name="select">  
    <?php while($row_datList mysql_fetch_assoc($datList))
          { 
?>  
       <option value = <?php echo $row_datList['codigo']; ?> ><?php echo $row_datList['titulo']; ?> </option>  
    <?php ?>  
       </select>  
      
  </div>  
  </label>  
  <p>&nbsp;</p>  
  <p align="center">  
    <label>  
    <input name="Borrar" type="submit" id="Borrar" value="borrar" />  
    </label>  
  </p>  
</form>  
<p align="center">&nbsp;</p>
Así te listara en el combo el código y el nombre de las peliculas.

Saludos.
  #13 (permalink)  
Antiguo 09/03/2008, 09:59
 
Fecha de Ingreso: marzo-2008
Ubicación: Madrid
Mensajes: 35
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Desesperado con php,join y combos

jajaja potaturrias, la verdad esq ese problema me es muy similar, yo lo hice asi ,

Código PHP:
<?php mysql_select_db($bd,$cnn);
            
$sSQL="SELECT nombre FROM  peliculas";
            
$res=mysql_query($sSQL,$cnn) or die (mysql_error());
            for (
$cnt=0;$cnt<mysql_num_rows($res);$cnt++){
            
$row=mysql_fetch_assoc($res);
            echo 
"<option> . $row['nombre'] . "</option>";}?>
eso te sacaria el todos los nombres de las peliculas en una combo, por supuesto lo tienes q poner entre las etiquetas <select></select>

y despues nada mas sencillo que hacer un join en la pagina en la q ejecutes el php, si lo aces en la misma pues al final supongo

Código PHP:
            $sSQL="SELECT cep FROM directores JOIN peliculas ON directores.cep=peliculas.cep WHERE nombre=' ".$_REQUEST['(nombre de la select)']." ' "
eso te recoge el codigo de la pelicula y despues nada mas q hacer el insert, por cierto no te olvides de conectar con la base de datos y todo eso aunque no lo haya puesto
espero haber ayudado en algo
  #14 (permalink)  
Antiguo 09/03/2008, 14:33
 
Fecha de Ingreso: marzo-2008
Ubicación: Malaga
Mensajes: 38
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Desesperado con php,join y combos

Hola skull,he probado tu codigo pero por cada pelicula me sale una combo.seguro que lo tienes asi???
  #15 (permalink)  
Antiguo 10/03/2008, 06:41
 
Fecha de Ingreso: marzo-2008
Ubicación: Malaga
Mensajes: 38
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Desesperado con php,join y combos

Tengo el codigo para que me muestre los datos en la combo,es este:
Código PHP:
<?php $query_datList="SELECT titulo,cpe FROM peliculas ";
            
$datList=mysql_query($query_datList,$cnn) or
             die (
mysql_error());
             
//$row_datList=mysql_fetch_assoc($datList);
             
$agenda=mysql_num_rows($datList);
             
             
$seleccion="SELECT nombreformato,cf FROM formatos ";
            
$lista=mysql_query($seleccion,$cnn) or
             die (
mysql_error());
             
//$row_datList=mysql_fetch_assoc($datList);
             
$formatillos=mysql_num_rows($lista);
             
?>

<p align="center">Seleccione el c&oacute;digo deseado </p>
<form id="form1" name="form1" action="insertarejemplares.php">
  <label>
  <div align="center">
    <select name="selecttitulo"><?php while ($row_datList=mysql_fetch_assoc($datList)){ ?>
       <option><?php echo $row_datList['titulo']; ?> </option>
       <?php ?>
     
     
    </select>
     <select name="selectformato"><?php while ($row_lista=mysql_fetch_assoc($lista)){ ?>
       <option value="<?php $row_lista['cf'];?>"><?php echo $row_lista['nombreformato']; ?> </option>
       
       <?php ?>
Pero ahora no se que tengo que hacer para que en la apgina de insercción me meta el codigo en vez del titulo,lo he intentado de todas las maneras y no hay forma.
Un saludo
  #16 (permalink)  
Antiguo 10/03/2008, 09:39
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Desesperado con php,join y combos

Prueba así tu código:

Código PHP:
<?php $query_datList="SELECT titulo,cpe FROM peliculas ";
            
$datList=mysql_query($query_datList,$cnn) or
             die (
mysql_error());
             
//$row_datList=mysql_fetch_assoc($datList);
             
$agenda=mysql_num_rows($datList);
             
             
$seleccion="SELECT nombreformato,cf FROM formatos ";
            
$lista=mysql_query($seleccion,$cnn) or
             die (
mysql_error());
             
//$row_datList=mysql_fetch_assoc($datList);
             
$formatillos=mysql_num_rows($lista);
             
?>

<p align="center">Seleccione el c&oacute;digo deseado </p>
<form id="form1" name="form1" action="insertarejemplares.php">
  <label>
  <div align="center">
    <select name="selecttitulo"><?php while ($row_datList=mysql_fetch_assoc($datList)){ ?>
       <option value = <?php echo $row_datList['cpe']; ?> ><?php echo $row_datList['titulo']; ?> </option>
       <?php ?>
     
     
    </select>
     <select name="selectformato"><?php while ($row_lista=mysql_fetch_assoc($lista)){ ?>
       <option value="<?php $row_lista['cf'];?>"><?php echo $row_lista['nombreformato']; ?> </option>
       
       <?php ?>
Saludos
  #17 (permalink)  
Antiguo 10/03/2008, 13:00
 
Fecha de Ingreso: marzo-2008
Ubicación: Malaga
Mensajes: 38
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Desesperado con php,join y combos

Ahora me inserta y me sale el insertado correctamente,pero luego lo miro y los campos esta vacios
Código PHP:
<?php ssql ="SELECT cej,cpe,cf FROM ejemplares";
 
$soc mysql_query($ssql); 
  
$rs_cs mysql_fetch_assoc($soc); 
    
$codigousu $rs_cs ['autonumerico'] + 1;
   
$ceros=str_pad($codigousu9"0"STR_PAD_LEFT);
 
  
$sql="insert into socios(cej,cpe,cf)values('".$ceros."','".$_REQUEST['selectitulo']."','".$_REQUEST['selectformato']."')";
//echo $ssql;
mysql_query($ssql,$cnn) or die(mysql_error($cnn));
mysql_close($cnn);
?>
insertado correctamente
Column count doesn't match value count at row 1

Última edición por potaturrias; 10/03/2008 a las 13:16
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:00.