Desarrollo Web /

Insertar arrays a mysql

Participa en el tema Insertar arrays a mysql en el foro Desarrollo Web.
Buenas usuarios. Tengo un codigo en el que estoy trabajando agregar muchos campos y meterlos ...

Buscar en este tema:
 
  •  
    #1 Insertar arrays a mysql
    Buenas usuarios. Tengo un codigo en el que estoy trabajando agregar muchos campos y meterlos en el sql pero no me entra todo bien solo me entra bien el $link_foto. Justamente solo porque esa variable esta en el foreach(). Ahora queria saber si me podian ayudar a resolver esto para poder meter los 3 campos de los 3 arrays en 3 campos en la db.

    Código PHP:
    <script>
    function MakeOne()

    document.getElementById('DynamicContent').innerHTML += '<br><table border="0"><tr><td class="mini-titulo">Titulo:</td><td><input name="titulo_foto[]" type="text" maxlength="60" style="width:200px;" /></td></tr><tr><td class="mini-titulo">* Link:</td><td><input name="link_foto[]" type="text" maxlength="255" style="width:200px;" /></td></tr><tr><td class="mini-titulo" valign="top">Comentario:</td><td><textarea name="comentario_foto[]" rows="4" style="width:200px;" /></textarea></td></tr></table><br>'; 
    }
    </script> 
    </head>
    <body>
    <div id="contenido">
        <? include("inc_header.php"); ?>
        <? include("inc_menu.php"); ?>
        <div id="container">
          <? include("inc_izquierda.php"); ?>
            <div id="derecha">
                <div id="block">
                    <div id="item">
    <h1>Panel de Control</h1>
    <br>
    <table width="100%">
      <tr>
          <td valign="top"><? include("inc_menu_usuario.php"); ?></td>
        <td width="75%" valign="top">
    <div style="font-size:13px; color:#FF9900;"><b>Mis Fotos</b></div>
    <br>
    <?
    if (isset($_POST["ag_fot"]))
    {
        
    $titulo_foto $_POST['titulo_foto'];
        
    $link_foto $_POST['link_foto'];
        
    $comentario_foto $_POST['comentario_foto'];
        
        foreach(
    $link_foto as $link_foto)
        {
        
    $sql="INSERT INTO $tabla_fotos(titulo_foto, link_foto, usuario_foto, fecha_foto, comentario_foto)VALUES('$titulo_foto', '$link_foto', '$cod_usuario_s', '$fecha_hora_hoy', '$comentario_foto')";
        
    $resultado=mysql_query($sql);
        }
    }
    ?>
    <form action="" method="post" name="fotos">
    <table border="0">
      <tr>
        <td class="mini-titulo">Titulo:</td>
        <td><input name="titulo_foto[]" type="text" maxlength="60" style="width:200px;" /></td>
      </tr>
      <tr>
        <td class="mini-titulo">* Link:</td>
        <td><input name="link_foto[]" type="text" maxlength="255" style="width:200px;" /></td>
      </tr>
      <tr>
        <td class="mini-titulo" valign="top">Comentario:</td>
        <td><textarea name="comentario_foto[]" rows="4" style="width:200px;" /></textarea></td>
      </tr>
    </table>
    <div id="DynamicContent"></div>
    <table border="0">  
      <tr>
        <td colspan="2" align="center"><input class="boton" type="button" value="+" onclick="MakeOne();" /></td>
      </tr>
      <tr>
        <td colspan="2" align="center"><span style="font-size:11px;"><b>*</b> Campos Requeridos</span></td>
      </tr>     
      <tr>
        <td align="center" colspan="2"><input class="boton" type="submit" name="ag_fot" value="Agregar Foto/s" /></td>
      </tr>
    </table>
    </form>
        </td>
      </tr>
    </table>
                    </div>
                </div>
            </div>
        </div>
        <? include("inc_footer.php"); ?>
    </div>
    </body>
    </html>
    Otra cosa, cuando agrego campos con el JS ahi en el div de dynamic container. Ahi se agrega todo el codigo de arriba que tiene una tabla etc etc, igual que el campo que ya esta ahi. entonces queria saber si me podian ayudar con el tema de como crear un botoncito que me borre ese campo por si el usuario quiere. Entonces borra ya ese campo y le quedan 2 o 3 o depende de lo que el usuario quiera, Gracias.
    +
     
    0
    Me gusta
     
    http://www.psicofxp.com/forums/desarrollo-web.264/973251-insertar-arrays-a-mysql.html
    | Más
  • #2 Re: Insertar arrays a mysql

    No podés guardar un array directamente a un campo de una tabla en tu base de datos. Convertilo a string con PHP separando los elementos con algún delimitador, como ; o , y después insertás.

    Lo segundo que pedís no entendí. Explicate un toque mejor .

    Nos vemos.
    Me gusta este mensaje
  • #3 Re: Insertar arrays a mysql

    pero como convierto a un string para meterlo a mi db.. no se como hacerlo no entiendo... y bueno lo segundo que quiero es viste ahi donde esta mi jaascript que crea mas tablas para poder meter muchos muchos o muchas fotos? porque el usuario ahi puede agregar fotos entonces agrega fotos y mete todas las que quiere con los links, y por eso los arrays. ahora, lo que no se es como lo mete. y quiero que ese mismo div puedan borrarlo asi desaparece esa tabla, osea por si al final no quiere meter 3 tablas que pueda borrar 1 y meter 2 jaja
    Me gusta este mensaje
  • #4 Re: Insertar arrays a mysql

    Originalmente publicado por --Loks-- Ver mensaje
    pero como convierto a un string para meterlo a mi db.. no se como hacerlo no entiendo...
    Te escribo un ejemplito rápido en PHP y vos lo adaptás a lo que tengas (sí, rompete la cabeza ):

    Código PHP:
    $nombres = array ( 'Lucas''Juan''Matias''Diego' ); //Cargo un array con algunos datos.
    $strNombres implode ','$nombres ); //strNombres contendra: 'Lucas, Juan, Matias, Diego'. 
    Entonces, lo que haces es insertar $strNombres en el campo de tu db. Después, cuando lo tengas que levantar, hacés lo siguiente, que sería el proceso inverso:

    Código PHP:
    $strNombres 'Lucas, Juan, Matias, Diego';
    $arrNombres explode ','$strNombres ); //Dividis la cadena segun el caracter que vos especifiques, en este caso una coma, y te devuelve un array. 
    Originalmente publicado por --Loks-- Ver mensaje
    y bueno lo segundo que quiero es viste ahi donde esta mi jaascript que crea mas tablas para poder meter muchos muchos o muchas fotos? porque el usuario ahi puede agregar fotos entonces agrega fotos y mete todas las que quiere con los links, y por eso los arrays. ahora, lo que no se es como lo mete. y quiero que ese mismo div puedan borrarlo asi desaparece esa tabla, osea por si al final no quiere meter 3 tablas que pueda borrar 1 y meter 2 jaja
    Para borrar un elemento de una página con Javascript, investigá el método removeChild. Si no te sale, consultá, pero primero pensá vos.

    Nos vemos.
    Me gusta este mensaje
  • #5 Re: Insertar arrays a mysql

    otra solucion es serializar el array

    $array = serialize($array);

    eso lo convierte en texto y lo podes guardar en la db sin problemas
    despues para volver a usarlo hacele unserialize

    $array = unserialize($array);

    y vuelve a la normalidad

    el problema de este metodo es que en la base de datos queda de una forma muy incomoda para verse y editarse. si esto no te sirve usa la funcion implode como dijo lukillas
    Me gusta este mensaje


Estadísticas del tema
  • 4 RESPUESTAS
  • 266 VISTAS
  • 3 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB