Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal estou criando um modelo que cadastra a foto nome e o email
estou com duvida quero inserir uma tabela mysql categoria que tenha
categoria
livros
revistas
olha meu sistema
cadastro.php
<?php
// Conexão com o banco de dados
$conn = @mysql_connect("localhost", "root", "") or die ("Problemas na conexão.");
$db = @mysql_select_db("banco", $conn) or die ("Problemas na conexão");
// Se o usuário clicou no botão cadastrar efetua as ações
if ($_POST['cadastrar']) {
// Recupera os dados dos campos
$nome = $_POST['nome'];
$email = $_POST['email'];
$foto = $_FILES["foto"];
// Se a foto estiver sido selecionada
if (!empty($foto["name"])) {
// Largura máxima em pixels
$largura = 150;
// Altura máxima em pixels
$altura = 180;
// Tamanho máximo do arquivo em bytes
$tamanho = 1000;
// Verifica se o arquivo é uma imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $foto["type"])){
$error[1] = "Isso não é uma imagem.";
}
// Pega as dimensões da imagem
$dimensoes = getimagesize($foto["tmp_name"]);
// Verifica se a largura da imagem é maior que a largura permitida
if($dimensoes[0] > $largura) {
$error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
}
// Verifica se a altura da imagem é maior que a altura permitida
if($dimensoes[1] > $altura) {
$error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
}
// Verifica se o tamanho da imagem é maior que o tamanho permitido
if($arquivo["size"] > $tamanho) {
$error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
}
// Se não houver nenhum erro
if (count($error) == 0) {
// Pega extensão da imagem
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
// Gera um nome único para a imagem
$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
// Caminho de onde ficará a imagem
$caminho_imagem = "fotos/" . $nome_imagem;
// Faz o upload da imagem para seu respectivo caminho
move_uploaded_file($foto["tmp_name"], $caminho_imagem);
// Insere os dados no banco
$sql = mysql_query("INSERT INTO usuarios VALUES ('', '".$nome."', '".$email."', '".$nome_imagem."')");
// Se os dados forem inseridos com sucesso
if ($sql){
echo "Você foi cadastrado com sucesso.";
}
}
// Se houver mensagens de erro, exibe-as
if (count($error) != 0) {
foreach ($error as $erro) {
echo $erro . "<br />";
}
}
}
}
?><html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastro de usuário</title>
</head>
<body>
<h1>Novo Usuário</h1>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="cadastro" >
Nome:<br />
<input type="text" name="nome" /><br /><br />
Email:<br />
<input type="text" name="email" /><br /><br />
Foto de exibição:<br />
<input type="file" name="foto" /><br /><br />
<input type="submit" name="cadastrar" value="Cadastrar" />
</form>
<hr />
E fiz uma pagina catalogo.php onde mostra todos produtos cadastrado
<?php
// Conexão com o banco de dados a pagina config_s.php tem usuario senha e o host para conectar ao bd
include "/config_s.php";
// Seleciona todos os usuários
$sql = mysql_query("SELECT * FROM usuarios ORDER BY nome");
// Exibe as informações de cada usuário
while ($usuario = mysql_fetch_object($sql)) {
// Exibimos a foto
echo "<img src='fotos/".$usuario->foto."' alt='Foto de exibição' /><br />";
// Exibimos o nome e email
echo "<b>Nome:</b> " . $usuario->nome . "<br />";
echo "<b>Email:</b> " . $usuario->email . "<br /><br />";
}
?>
</body>
</html>
esse é o bd onde cadastra o link da foto nome e email
-- Estrutura da tabela usuarios
--
CREATE TABLE IF NOT EXISTS `usuarios` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
`foto` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ;
Eu tentei fazer uma tabela de categoria
CREATE TABLE IF NOT EXISTS `categorias` (
`cod_cat` int(11) NOT NULL AUTO_INCREMENT,
`nome_cat` varchar(60) DEFAULT NULL,
PRIMARY KEY (`cod_cat`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
--
-- Extraindo dados da tabela categorias
--
INSERT INTO categorias (cod_cat, nome_cat) VALUES
(5, 'Livros'),
(7, 'Revistas');
Como coloco um Tipo de Menu quando for fazer cadastro do produto na minha pagina cadastro.php
escolhe se o produto vai ser da categoria livros ou revista
eu queria saber
como faço uma pagina catalago-livros.php para mostrar todos produtos que esta na categoria livros
e fazer uma pagina catalago-revistas.php para mostrar todos produtos que esta na categoria revistras
eu acho que a duvida dele e como fazer o select nas duas tabelas
:)
e puxar a categoria certa
vou espera o retorno e acho
nao deve ser modelagem de bancos
>
eu acho que a duvida dele e como fazer o select nas duas tabelas
:)
e puxar a categoria certa
vou espera o retorno e acho
nao deve ser modelagem de bancos
A Resposta do Beraldo foi muito util pois eu iria fazer uma pagina para cada categoria
agora vou fazer uma pagina catalogo.php para mostrar as duas categoria
como faço um Menu na pagina Cadastro.php para selecionar se o produto vai ser cadastrada na categoria livros ou revista
eu acho que minha duvida é sobre select nas duas tabelas
ou vou montar as tabelas e da um populada e você ver jaja :)
essa query
ola meu velho
se ligar no esquema
que eu montei para você
pergunta 1 como separar geral em suas categoria
SELECT
usuarios.nome, usuarios.email, usuarios.foto,
categoria.categoria AS nome_da_categoria, categoria.id AS
id_categoria
FROM
categoria INNER JOIN
usuarios ON usuarios.categoria = categoria.id;
pegar que esta na categoria =1
SELECT
usuarios.nome, usuarios.email, usuarios.foto,
categoria.categoria AS nome_da_categoria, categoria.id AS
id_categoria
FROM
categoria INNER JOIN
usuarios ON usuarios.categoria = categoria.id
WHERE
categoria.id = 1;
minha sugestao para tu andar mais rapido crie uma view no seu banco ai você faz select so na view
CREATE VIEW geral_separado AS SELECT
usuarios.nome, usuarios.email, usuarios.foto,
categoria.categoria AS nome_da_categoria, categoria.id AS
id_categoria
FROM
categoria INNER JOIN
usuarios ON usuarios.categoria = categoria.id
execute esse comando de create view e dar uma olhada na nova tabela no seu php admin
vai aparecer uma nova tabela geral separado ja com os campos que você precisar usar
essa view e ajunção entre as duas tabelas :)
que nos vamos usar que as duas tabelas
-- phpMyAdmin SQL Dump
-- version 3.2.0.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tempo de Geração: Mar 20, 2010 as 05:01 PM
-- Versão do Servidor: 5.1.36
-- Versão do PHP: 5.3.0
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Banco de Dados: test
--
-- --------------------------------------------------------
--
-- Estrutura da tabela categoria
--
CREATE TABLE IF NOT EXISTS `categoria` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`categoria` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
--
-- Extraindo dados da tabela categoria
--
INSERT INTO categoria (id, categoria) VALUES
(1, 'livros'),
(2, 'revistas');
-- --------------------------------------------------------
--
-- Estrutura da tabela usuarios
--
CREATE TABLE IF NOT EXISTS `usuarios` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`foto` varchar(255) NOT NULL,
`categoria` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=24 ;
--
-- Extraindo dados da tabela usuarios
--
INSERT INTO usuarios (id, nome, email, foto, categoria) VALUES
(22, 'foto x', 'email@email.com', 'foto1.jpg', 1),
(23, 'foto y', 'email@email.com', 'foto2.jpg', 2);
qualquer duvida poste novamente :)
crie a tabela de exemplo e use os sql de exemplo
vlw cara funcionou
eu tambem inseri
no meu cadastro
<select name="categoria" id="label5">
<option value="01">Livro</option>
<option value="02">Revistas</option>
</select>
eu fiz um menu que insere o id da categoria pelo
$categoria = $_POST['categoria'];
e funcionou beleza
Oi eu botei esse primero código no meu blog. Daí eu sai de meu usuario e tentei me cadastrar, colokei tudo direitinho, mas dai apareceu q o site n podia exibir a pagina. Ah ee eu tbm qria saber o seguinte: Me cadastro em meu blog, mas dai em diante como faço login? Valeu, aguardo resposta
Bjjs http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
>
Oi eu botei esse primero código no meu blog. Daí eu sai de meu usuario e tentei me cadastrar, colokei tudo direitinho, mas dai apareceu q o site n podia exibir a pagina. Ah ee eu tbm qria saber o seguinte: Me cadastro em meu blog, mas dai em diante como faço login? Valeu, aguardo resposta
Bjjs http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
aonde esta a duvida eu nao entendi ????
Tenha apenas a página catalogo.php. O ID da categorias você passa por query string: categorias.php?id=5
5 é o ID da categoria no banco. Assim não precisa de uma págians para cada categoria.
Veja este link. Acho que lhe será útil:
http://www.rberaldo.com.br/blog/2009/10/24/categorias-e-subcategorias-exemplo-de-modelagem/