Sou novo em php e não consigo mostrar resultado na tela
Tenho no banco três tabelas: cliente, pizza, adcional quero trazer atraves do id_cliente a pizza e o adcional referente a pizza na mesma linha.
Tipo: Pizza: Mussarela Adcional: Queijo, Presunto
Ao pesquisar achei a função "GROUP_CONCAT" ao executar no phpmyadim o comando mysql esta ok mas não consigo fazer ele aparecer na tela com codigo php corretamente, pois ele imprimi so a pizza mas não mostra o adcional, ja no phpmyadmin o mysql roda certo.
codigo php que uso:
E sendo assim ele imprime:
Pizza: Mussarela Adcional:
Ou seja não imprime o adcional.
Porem se eu coloco assim:
Ele imprime:
Pizza: Mussarela Adcional: queijo
Ou seja so imprime um dos adcionais.
Resumindo o meu problema e no PHP, como imprimir o resultado do Mysql.
Alguém por favor poderia me socorrer?
Tipo: Pizza: Mussarela Adcional: Queijo, Presunto
Ao pesquisar achei a função "GROUP_CONCAT" ao executar no phpmyadim o comando mysql esta ok mas não consigo fazer ele aparecer na tela com codigo php corretamente, pois ele imprimi so a pizza mas não mostra o adcional, ja no phpmyadmin o mysql roda certo.
codigo php que uso:
$pesquisa = mysql_query ("SELECT pizza, GROUP_CONCAT(adcional SEPARATOR ',') FROM comercio.pizza INNER JOIN comercio.adcional WHERE pizza.id_cliente = adcional.id_cliente = '1' GROUP BY pizza");
if (!$pesquisa){
print "Erro ao pesquisar no banco !!!!!";
}
while ($a = mysql_fetch_assoc($pesquisa)){
$pizza = $a['pizza'];
$adcional = $a['adcional'];
print "Pizza: $pizza - Adcional: $adcional <br>";
}
E sendo assim ele imprime:
Pizza: Mussarela Adcional:
Ou seja não imprime o adcional.
Porem se eu coloco assim:
$pesquisa = mysql_query ("SELECT pizza, adcional GROUP_CONCAT(adcional SEPARATOR ',') FROM comercio.pizza INNER JOIN comercio.adcional WHERE pizza.id_cliente = adcional.id_cliente = '1' GROUP BY pizza");
if (!$pesquisa){
print "Erro ao pesquisar no banco !!!!!";
}
while ($a = mysql_fetch_assoc($pesquisa)){
$pizza = $a['pizza'];
$adcional = $a['adcional'];
print "Pizza: $pizza - Adcional: $adcional <br>";
}
Ele imprime:
Pizza: Mussarela Adcional: queijo
Ou seja so imprime um dos adcionais.
Resumindo o meu problema e no PHP, como imprimir o resultado do Mysql.
Alguém por favor poderia me socorrer?
Marcio
Curtidas 0
Melhor post
Fabio Albuquerque
05/05/2018
Altere a 1a linha:
$pesquisa = mysql_query ("SELECT pizza, GROUP_CONCAT(adcional SEPARATOR ',') FROM comercio.pizza INNER JOIN comercio.adcional WHERE pizza.id_cliente = adcional.id_cliente = '1' GROUP BY pizza");
Para:
$pesquisa = mysql_query ("SELECT pizza, GROUP_CONCAT(adcional SEPARATOR ',') as adcional FROM comercio.pizza INNER JOIN comercio.adcional WHERE pizza.id_cliente = adcional.id_cliente = '1' GROUP BY pizza");
$pesquisa = mysql_query ("SELECT pizza, GROUP_CONCAT(adcional SEPARATOR ',') FROM comercio.pizza INNER JOIN comercio.adcional WHERE pizza.id_cliente = adcional.id_cliente = '1' GROUP BY pizza");
Para:
$pesquisa = mysql_query ("SELECT pizza, GROUP_CONCAT(adcional SEPARATOR ',') as adcional FROM comercio.pizza INNER JOIN comercio.adcional WHERE pizza.id_cliente = adcional.id_cliente = '1' GROUP BY pizza");
GOSTEI 1
Mais Respostas
Marlon Gera
04/05/2018
Boa noite.
Primeiro, não é mais utilizado o Mysql como parâmetro de conexão com o banco, sugiro que coloque Mysqli ou PDO. (Só uma observação)
Segundo, como está a estrutura do seu banco de dados, teria como postar para uma melhor analise? Pois pelo que percebi o problema não está no PHP e sim na busca a ser feita.
Primeiro, não é mais utilizado o Mysql como parâmetro de conexão com o banco, sugiro que coloque Mysqli ou PDO. (Só uma observação)
Segundo, como está a estrutura do seu banco de dados, teria como postar para uma melhor analise? Pois pelo que percebi o problema não está no PHP e sim na busca a ser feita.
GOSTEI 0
Fernando C
04/05/2018
alem de atualizar p/ mysqli ou PDO, no group_concat use um alias , ex:
GROUP_CONCAT(adcional SEPARATOR ',') adcional2
outros exemplos:
http://www.marcelodeassis.com.br/blog/concatenando-resultados-com-o-group_concat-no-mysql/
GROUP_CONCAT(adcional SEPARATOR ',') adcional2
outros exemplos:
http://www.marcelodeassis.com.br/blog/concatenando-resultados-com-o-group_concat-no-mysql/
GOSTEI 0
Marcio
04/05/2018
Eu uso o PhpMyadmin, ao realizar o codigo sql no PhpMyadmin não erro, o erro e como exibir no php que não sei.
Tambem não sei como postar foto aqui, senão postava a foto do PhpMyadmin imprimindo o resultado SQL que sai corretamente.
Tambem não sei como postar foto aqui, senão postava a foto do PhpMyadmin imprimindo o resultado SQL que sai corretamente.
-- -- Estrutura da tabela `adcional` -- CREATE TABLE `adcional` ( `id` int(99) NOT NULL, `id_cliente` varchar(99) NOT NULL, `adcional` varchar(99) NOT NULL, `valor_adcional` varchar(99) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Extraindo dados da tabela `adcional` -- INSERT INTO `adcional` (`id`, `id_cliente`, `adcional`, `valor_adcional`) VALUES (1, '1', 'queijo', '3.00'), (2, '1', 'presunto', '3.00'); -- -------------------------------------------------------- -- -- Estrutura da tabela `clientes` -- CREATE TABLE `clientes` ( `id` int(99) NOT NULL, `nome` varchar(99) NOT NULL, `fone` varchar(99) NOT NULL, `end` varchar(99) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Extraindo dados da tabela `clientes` -- INSERT INTO `clientes` (`id`, `nome`, `fone`, `end`) VALUES (1, 'Marcio', '981397979', 'agua santa 131'); -- -------------------------------------------------------- -- -- Estrutura da tabela `pizza` -- CREATE TABLE `pizza` ( `id` int(99) NOT NULL, `id_cliente` varchar(99) NOT NULL, `pizza` varchar(99) NOT NULL, `valor_pizza` varchar(99) NOT NULL, `qtd_pizza` varchar(99) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Extraindo dados da tabela `pizza` -- INSERT INTO `pizza` (`id`, `id_cliente`, `pizza`, `valor_pizza`, `qtd_pizza`) VALUES (1, '1', 'calabreza', '30.00', '1');
GOSTEI 0
Isoftware
04/05/2018
Olá também sou novo em php, mas vou tentar ajudar
tenta isso:
$pesquisa = mysql_query ("SELECT pizza, adcional GROUP_CONCAT(adcional SEPARATOR ',') FROM comercio.pizza INNER JOIN comercio.adcional WHERE pizza.id_cliente = adcional.id_cliente = '1' GROUP BY pizza");
if (!$pesquisa){
print "Erro ao pesquisar no banco !!!!!";
}
while ($a = mysql_fetch_array($pesquisa)){
$pizza = $a[0];
$adcional = $a[1];
print "Pizza: $pizza - Adcional: $adcional <br>";
OBS: Não testei.
tenta isso:
$pesquisa = mysql_query ("SELECT pizza, adcional GROUP_CONCAT(adcional SEPARATOR ',') FROM comercio.pizza INNER JOIN comercio.adcional WHERE pizza.id_cliente = adcional.id_cliente = '1' GROUP BY pizza");
if (!$pesquisa){
print "Erro ao pesquisar no banco !!!!!";
}
while ($a = mysql_fetch_array($pesquisa)){
$pizza = $a[0];
$adcional = $a[1];
print "Pizza: $pizza - Adcional: $adcional <br>";
OBS: Não testei.
GOSTEI 0
Marcio
04/05/2018
Isoftware
Ele imprime:
Pizza: Mussarela Adcional: queijo
Ou seja so imprime um dos adcionais.
Ele imprime:
Pizza: Mussarela Adcional: queijo
Ou seja so imprime um dos adcionais.
GOSTEI 0
Marcio
04/05/2018
Fabiosantosrj muito obrigado pela ajuda.
Deu certíssimo, mais uma vez muito obrigado!!
Deu certíssimo, mais uma vez muito obrigado!!
GOSTEI 0