Olá pessoal do Imasters, sou um aprendiz em PHP e MYSQL e devido a uma necessidade estou criando um pequeno sistema de delivery, os que encontrei prontos não atendem as minhas necessidades. Consegui criar a estrutura do banco de dados MYSQL e já consegui modificando um código pronto inserir, editar e excluir informações do banco através de formulário. Porém agora preciso criar uma tabela "pedidos" onde vai receber de um formulário as escolhas das demais tabelas, somar o valor e enviar via phpmail para o email do restaurante, cópia para o cliente e ainda armazenar no banco.
Já tentei vários recursos aqui e não consegui fazer de forma alguma esse formulário e com isso gostaria da ajuda de vocês para criar esse formulário.
Meu banco de Dados possui as seguintes tabelas:
- arroz (Possui mais de 2 registros)
- feijao (possui mais de 2 registros)
- carne (possui mais de 2 registros)
- fruta (possui mais de 2 registros)
- guarnicao (possui mais de 2 registros)
- salada (possui mais de 2 registros)
- marmitex (possui tamanho e preço)
- observacao (campo para o cliente inserir informação a parte)
- numeroped (campo INT sem autoincremento, onde deve somar +1 a cada novo pedido)
A intensão é que na tabela pedidos seja inserido:
- Número do pedido (Possui tabela)
- Nome do Cliente (Não possui tabela no banco pois não será necessário cadastro)
- Endereço (Não possui tabela no banco pois não será necessário cadastro)
- Telefone (Não possui tabela no banco pois não será necessário cadastro)
- Tipo de arroz escolhido na lista disponível
- Tipo de feijao escolhido na lista disponível
- Tipo de carne escolhido na lista disponível
- 2 campos de guarnição (1 e 2) onde no pedido cliente pode escolher até 2 tipos de guarnição na lista disponível
- 2 campos de salada (1 e 2) onde no pedido cliente pode escolher até 2 tipos de salada na lista disponivel
- Tipo de fruta escolhido na lista disponível
- Campo de Carne-extra, onde caso seja escolhido mais um tipo de carne na lista disponível, seja agregado ao valor total + R$ XXX
- Tamanho do Marmitex (Onde quando escolhido ele agrega ao valor cadastrado em cada ítem. Estrutura das tabelas será anexado)
Nesse caso já seja efetuado a soma dos valores caso seja escolhido carne extra.
Segue abaixo as estruturas das tabelas no banco:
Arroz, Feijão, Carne, Fruta, Guarnicao e Salada possuem a mesma estrutura:
No código abaixo, estou fazendo uma consulta nas tabelas, banners e banners_referencia
Meu objetivo é trazer resultados com valores iguais ao nome da cidade declarada na $cidade ou resultados com a referencia Total.
O problema é que está trazendo todos os resultados. Tenho 10 linhas, 1 com o nome da cidade e duas com o valor Total, então o resultado teria que ser de apenas 3 linhas, mas mostra tudo.
$banner = "SELECT A.*, B.* FROM banners A, banners_referencia B WHERE B.cod_referencia = A.cod_referencia AND A.cidade = '$cidade' OR B.referencia = 'Total' ORDER BY RAND()";
$banner = mysqli_query($conexao, $banner) or die ("Banner não encontrado");
while($busca= mysqli_fetch_array($banner)){
print $busca['cidade'].'<br>';
};
Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
O que tentei até agora
Ex1
$busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
$busca->bindParam('campo', $_REQUEST['campo_form']);
Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
Inseri dados numéricos, da seguinte maneira para testar: 01234567; 12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
Ex2
$busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
Esse número está cadastrado, mas não retorna.
Ex3
$busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
Esse número está cadastrado, mas não retorna.
Ex4
$busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
Esse número está cadastrado, mas não retorna.
Ex5
$busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
Esse número está cadastrado, mas não retorna.
Ex6
$busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
Esse número está cadastrado, mas não retorna.
Ex7
$busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
$busca->bindParam('campo', $_REQUEST['campo_form'])
Não retorna dados.
O $_REQUEST['campo_form'] é envio via AJAX de um formulário.
Usei o gettype para verificar o post, e ele retorna string.
Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
Esse tipo de varchar foi usado porque os números que serão gravados nesse campo, terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
Agradeço desde já.
Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.
Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
Para isso utilizo esta função:
function getPreviewImage($url) {
// Obter o conteúdo da página
$html = file_get_contents($url);
// Criar um novo objeto DOMDocument
$doc = new DOMDocument();
@$doc->loadHTML($html);
// Procurar pela tag meta og:image
$tags = $doc->getElementsByTagName('meta');
foreach ($tags as $tag) {
if ($tag->getAttribute('property') == 'og:image') {
return $tag->getAttribute('content');
}
}
// Se não encontrar og:image, procurar pela primeira imagem na página
$tags = $doc->getElementsByTagName('img');
if ($tags->length > 0) {
return $tags->item(0)->getAttribute('src');
}
// Se não encontrar nenhuma imagem, retornar null
return null;
}
// Uso:
$url = "https://example.com/article";
$imageUrl = getPreviewImage($url);
if ($imageUrl) {
echo "<img src='$imageUrl' alt='Preview'>";
} else {
echo "Nenhuma imagem encontrada";
}
Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
Olá pessoal do Imasters, sou um aprendiz em PHP e MYSQL e devido a uma necessidade estou criando um pequeno sistema de delivery, os que encontrei prontos não atendem as minhas necessidades. Consegui criar a estrutura do banco de dados MYSQL e já consegui modificando um código pronto inserir, editar e excluir informações do banco através de formulário. Porém agora preciso criar uma tabela "pedidos" onde vai receber de um formulário as escolhas das demais tabelas, somar o valor e enviar via phpmail para o email do restaurante, cópia para o cliente e ainda armazenar no banco.
Já tentei vários recursos aqui e não consegui fazer de forma alguma esse formulário e com isso gostaria da ajuda de vocês para criar esse formulário.
Meu banco de Dados possui as seguintes tabelas:
- arroz (Possui mais de 2 registros)
- feijao (possui mais de 2 registros)
- carne (possui mais de 2 registros)
- fruta (possui mais de 2 registros)
- guarnicao (possui mais de 2 registros)
- salada (possui mais de 2 registros)
- marmitex (possui tamanho e preço)
- observacao (campo para o cliente inserir informação a parte)
- numeroped (campo INT sem autoincremento, onde deve somar +1 a cada novo pedido)
A intensão é que na tabela pedidos seja inserido:
- Número do pedido (Possui tabela)
- Nome do Cliente (Não possui tabela no banco pois não será necessário cadastro)
- Endereço (Não possui tabela no banco pois não será necessário cadastro)
- Telefone (Não possui tabela no banco pois não será necessário cadastro)
- Tipo de arroz escolhido na lista disponível
- Tipo de feijao escolhido na lista disponível
- Tipo de carne escolhido na lista disponível
- 2 campos de guarnição (1 e 2) onde no pedido cliente pode escolher até 2 tipos de guarnição na lista disponível
- 2 campos de salada (1 e 2) onde no pedido cliente pode escolher até 2 tipos de salada na lista disponivel
- Tipo de fruta escolhido na lista
disponível
- Campo de Carne-extra, onde caso seja escolhido mais um tipo de carne na lista disponível, seja agregado ao valor total + R$ XXX
- Tamanho do Marmitex (Onde quando escolhido ele agrega ao valor cadastrado em cada ítem. Estrutura das tabelas será anexado)
Nesse caso já seja efetuado a soma dos valores caso seja escolhido carne extra.
Segue abaixo as estruturas das tabelas no banco:
Arroz, Feijão, Carne, Fruta, Guarnicao e Salada possuem a mesma estrutura:
Marmitex:
Numeroped:
Espero que alguém possa ajudar.
Agradeço.
Henrique
Compartilhar este post
Link para o post
Compartilhar em outros sites