conseld 0 Denunciar post Postado Agosto 12, 2007 Olá Galera mais uma vez. Estou tentando cadastrar varios id no mesmo campo no mysql. Bom, estou usando um list menu, segurando o CTRL, você está selecionado varias IDs O list menu eu coloquei uma array tipo assim categoria[] E depois estou usando o scritp abaixo para listar as categorias selecionada. foreach ($_POST["categoria"] as $idCategoria){ echo $idCategoria."|"; // aqui mostra os campos selecionados } O problema seguinte, não estou conseguindo armazenar esses ids no mesmo campo. Veja meu MYSQL id int(30) auto_increment id_categoria varchar(100) Agora veja o que estou fazendo foreach ($_POST["categoria"] as $idCategoria){ $query_rs = "INSERT INTO produtos(id_categoria) VALUES ('".$idCategoria."'');"; mysql_query($query_rs); } Nesse caso acima está cadastrando varios registros, eu só quero armazenar apenas um campo como id_categoria ----> 1|2|5|8|9 Já tentei gravar uma session antes de cadastrar foreach ($_POST["categoria"] as $idCategoria){ $_SESSION["grava_ID"] = $idCategoria."|"; } $query_rs = "INSERT INTO produtos(id_categoria) VALUES ('".$_SESSION["grava_ID"]."'');"; mysql_query($query_rs); O resposta vem assim quando eu seleciono as categorias --->> 2| Bom será que tem uma solução para isso? Estou quebrando a cabeça.. alguém poderia me ajudar?? Abração a todos. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 12, 2007 Salve os IDs num array e use serialize(). Veja: http://forum.idone.com.br/index.php?showtopic=992 Mas se esse campo for utilizado numa busca, seria melhor você criar uma tabela relacionada, que armazenaria esses IDs em linhas diferentes. Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
conseld 0 Denunciar post Postado Agosto 12, 2007 Ola beraldo eu usei o esquema serialize ele separou certinho, mas não armazenou mais IDs.O resuldado deu assim no MYSQLid - id_categoria57 s:1:"3"; 56 s:1:"2"; 55 s:1:"1"; 54 s:1:"1"; 53 s:1:"1"; Codigo baixoforeach ($_POST["categoria"] as $idCategoria){echo $generos = serialize($idCategoria);$query_rs = "INSERT INTO produtos(id_categoria) VALUES ('".$generos."'');";mysql_query($query_rs);}Não deu certo.. esse esquema de relacionar, não tem como pois quando vou buscar eu vou usar um LIKEcampo LIKE '".$_GET["id"]."'Mas valeu pela força.mas estou pesquisando! Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Agosto 13, 2007 Você deve serializr o array inteiro, não cada índice dele: $arr = array("Beraldo", "iMasters", "Internet"); $arr_s = serialize($arr); //veja que aqui será exibida uma string echo $arr_s; //para transformar a string em array $arr2 = unserialize($arr_s); Como você fará buscas nesse ID, acho melhor separar em registros. Exemplo: tabela pedidos id -> ido do pedido demais dados tabela itens id_pedido -> id do pedido (campo relacionado à tabela "pedidos") id_produto -> id dos produtos do pedido. Cada ID de produto é inserido num registro diferentes, implicando a existência de vários registros ligados a um único pedido. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
conseld 0 Denunciar post Postado Agosto 13, 2007 Ae galera achei uma solução pesquisando e falando com Programadores *** Falei com amigo Perfect Lion E deu uma solução que você um dia pode usar aqui vai o codigo completo foreach ($_POST["categoria"] as $idCategoria){// função deixar a array em uma string$cat = (is_array($_POST["categoria"])) ? implode("|",$_POST["categoria"]) : null;}$query_rs = "INSERT INTO produtos(id_categoria) VALUES ('".$cat."'');";mysql_query($query_rs);//**************************************************************// separando na hora de alterar$arrCat = explode("|",$row["categoria"]);echo "<pre>";print_r($arrCat);echo "</pre>"; Bom e isso que estava precisando, caso alguém precise está.. Valeu pela atenção Compartilhar este post Link para o post Compartilhar em outros sites