Foros del Web » Programando para Internet » PHP »

insertar multiples ingredientes a un plato

Estas en el tema de insertar multiples ingredientes a un plato en el foro de PHP en Foros del Web. el problema que tengo es el siguiente: tengo una tabla platos y una tabla ingredientes, la tabla platos tiene que poblarse con los ingredientes de ...
  #1 (permalink)  
Antiguo 04/12/2008, 15:57
Avatar de nemixor  
Fecha de Ingreso: diciembre-2008
Mensajes: 4
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta insertar multiples ingredientes a un plato

el problema que tengo es el siguiente:

tengo una tabla platos y una tabla ingredientes, la tabla platos tiene que poblarse con los ingredientes de la tabla ingredientes ya que obviamente un plato esta formado por varios ingredientes, tenia pensado poner los id de los ingredientes dentro de un longtext en la base de datos y realice el siguiente codigo que no logro hacer funcionar

Código PHP:
<FORM ACTION="procesar_poner_ingredientes.php">
<TABLE align="center">
<TR>
  <TD><span class="Estilo1">Cod Plato</span></TD>
  <TD>
<?php
   
include("../conexion.php");
   
$link=Conectarse();
   
$result=mysql_query("select id_platos from platos",$link);
   
?>
<?php
   
echo '<select name="id_platos">';
   echo 
"<option>-Elegir codigo de plato-</option>";
   while (
$row=mysql_fetch_array($result))
   {
    echo 
"<option value='".$row['id_platos']."'>".$row['id_platos']."</option>"
    
   } 
   echo 
"</select>";
  
mysql_free_result($result);
?></TD>
</TR>
<TR>
  <TD><span class="Estilo1">Ingredientes</span></TD>
  <TD>
<?php
   $result
=mysql_query("select id_ingredientes from ingredientes",$link);
?>
    <?php
   
echo '<select name="id_ingredientes">';
   echo 
"<option>-Elegir ingrediente-</option>";
   while (
$row=mysql_fetch_array($result))
   {
    echo 
"<option value='".$row['id_ingredientes']."'>".$row['id_ingredientes']."</option>"
   } 
   echo 
"</select>";
  
mysql_free_result($result);
?></TD>
</TR>
</TABLE>
<div align="center">
  <INPUT TYPE="submit" NAME="action" VALUE="Agregar">
</div>
</FORM>
<hr>
<?php
   $result
=mysql_query("select * from platos order by id_platos",$link);
?>
   <TABLE BORDER=1 align="center" CELLPADDING=1 CELLSPACING=1>
      <TR><TD><span class="Estilo2">&nbsp;<B>Cod. Platos</B></span></TD> 
      <TD><span class="Estilo2">&nbsp;<B>Nombre Platos</B>&nbsp;</span></TD> 
      <TD><span class="Estilo2">&nbsp;<B>ingredientes (id)</B></span></TD>
      </TR>
<?php
   
while($row mysql_fetch_array($result)) {
      
printf("<tr><td>&nbsp;%s</td> <td>&nbsp;%s&nbsp;</td> <td>&nbsp;%s</td></tr>"$row["id_platos"],$row["nom_platos"],$row["id_ingredientes"]);
   }
   
mysql_free_result($result);
   
mysql_close($link);
?>
</table>
   
</body>
</html>


<frameset rows="100%,*" border="0"> 
<noframes><iframe><noscript><xmp><pre>

luego hice un archivo que procese la consulta

Código PHP:
<?php
   
include("../conexion.php");
   
$link=Conectarse();
   
$id_platos=$_GET['id_platos'];
   
$id_ingredientes=$_GET['id_ingredientes'];
   
$ingredientes=mysql_query("select id_ingredientes from platos where id_platos= '$id_platos'",$link);
   
$ingrjuntos=$id_ingredientes.' '.$ingredientes;
   
mysql_query("update platos set id_ingredientes='$ingrjuntos' where id_platos= '$id_platos'",$link);
   
header("location: poner_ingredientes.php");
?>

<frameset rows="100%,*" border="0"> 
<noframes><iframe><noscript><xmp><pre>
el problema es que cuando guardo en la base de datos me sale "Resource id #4"

creo que el problema es esa linea

$ingredientes=mysql_query("select id_ingredientes from platos where id_platos= '$id_platos'",$link);
$ingrjuntos=$id_ingredientes.' '.$ingredientes;

, la sintaxis debe estar mal o algo pero no pillo ningun ejemplo que haga esto asi que no se

alguien podria ayudarme porfavor o pasarme algun ejemplo parecido a lo que quiero
  #2 (permalink)  
Antiguo 04/12/2008, 16:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: insertar multiples ingredientes a un plato

Hola nemixor,

Te falta hacer el mysql_fetch_array para descargar el resultado antes de volverlo a insertar.

Saludos.
  #3 (permalink)  
Antiguo 04/12/2008, 16:17
Avatar de nemixor  
Fecha de Ingreso: diciembre-2008
Mensajes: 4
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: insertar multiples ingredientes a un plato

y como uso el fetch array?? me podrias dar un ejemplo porfa
  #4 (permalink)  
Antiguo 04/12/2008, 16:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: insertar multiples ingredientes a un plato

Código php:
Ver original
  1. $result = mysql_query( $query ) or die( mysql_error() );
  2. $row = mysql_fetch_array( $result );
  3. var_dump( $row );

Saludos.
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 04:31.