Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lisbi

Cadastrar anúncios ao banco de dados e consultar!

Recommended Posts

Boa noite 

 

Eu tenho um banco de dados , no qual eu faço a consulta das empresas cadastradas, mas agora, além de fazer essa consulta que ja é por nome, atividade e cidade, eu gostaria de anexar imagem a essa consulta! Como devo proceder, será preciso fazer outra tabela, ou eu posso ja colocar um campo anuncio tipo 'BLOB' e mudar o [ Select * From] colocando esse campo!

Na consulta quero que se misture por exemplo, as empresa com imagens(anuncio) e as que estão sem!

Desde já agradeço! 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Lisbi boa noite.

 

Eu no seu lugar criaria outra tabela onde teria o caminho do "banner" e o "id_da_empresa" vinculados.

 

Não colocaria em um campo do tipo "BLOB" e sim moveria o upload para uma pasta, renomeando o arquivo, etc e gravaria apenas o nome/caminho dela no banco.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo @juninhogpe, mas poderia relacionar os resultados das duas tabelas (pq uma tabela eu ja tenho, no caso eu criaria outra chamada TB_Banner por exemplo)! No cas então, 

Quero consultar os clientes de vidraçaria, 3 tem o banner da sua vidraçaria respectiva e 3 não tem!

Os que possuem o banner aparecem primeiro e os outros aparecem a baixo!

Eles podem aparecer no mesmo resultado? Eu teria que fazer uma outra query de select?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu acho que nem precisa de tabela  e nem armazenar esse caminho basta nomear a foto com o id ou id+nome e passar ele na hora de montar a pagina tipo

 

$imagem = "<img src='" . $row["id"] . "_" . $row["nome"] . ".jpg'>";

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo @marsolim, vamos supor que seja interessante eu enviar a foto direto pelo banco!

Onde eu colocaria esse código acima nesse código aqui:

$host = "localhost";
    $usuario = "root";
    $senha = ""; 
    $bd = "bd_grtx";	
 	$con = mysqli_connect($host , $usuario, $senha , $bd);	
	$Pesq = $_POST['Pesq'];
	$Cidade = $_POST ['Cidade'];
	
	ini_set('default_charset','UTF-8');
	$con -> query("
		SET NAMES utf8
	");
	
	$sql = mysqli_query($con,"SELECT NomeEmpresa, Bairr, Ender, Tel, Tel2, Tel3, Tel4, Tel5, Tel6, Cid, Estad  FROM empresas_grtx WHERE ((NomeEmpresa Like '%".$Pesq."%') OR ( TextAre LIKE '%".$Pesq."%' OR RAtiv LIKE '%".$Pesq."%')) AND ( Cid  LIKE '%".$Cidade."%')");
	


	$row = mysqli_num_rows($sql);
	
	
	
	
	
	
	if ($row > 0) {
		while ($linha = mysqli_fetch_array($sql)) {
			
			$NomeEmpresa = $linha ['NomeEmpresa'];
			$Ender = $linha ['Ender'];
			$Bairr = $linha ['Bairr'];			
			$Tel = $linha ['Tel'];
			$Tel2 = $linha ['Tel2'];
			$Tel3 = $linha ['Tel3'];
			$Tel4 = $linha ['Tel4'];
			$Tel5 = $linha ['Tel5'];
			$Tel6 = $linha ['Tel6'];			
			$Cid = $linha ['Cid'];
			$Estad = $linha ['Estad'];
				
				
				echo "<br/><br/>"; ...................................

			echo"</br></br></br></br></br></br></br>";
		}
	} 		
		else{
			echo"Desculpe , pesquisa não encontrada";		
		}
?>
				

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

juninhogpe ai teria um codigo pra fazer o upload da imagem normalmente

 

Lisbi é só pegar o id da empres e montar o endereço da imagem com o nome dela e a extensão, vamos fingir que o nome da imagem é id_nome.jpg aí fica tipo

$idEmpresa = $linha ['idEmpresa'];
$NomeEmpresa = $linha ['NomeEmpresa'];

$imgPath = $idEmpresa . "_" . $nomeEmpresa . ".jpg";//se tiver na mesma pasta
$imgPath = "imagens/" . $idEmpresa . "_" . $nomeEmpresa . ".jpg";//se tiver numa subpasta

 

aí é só passar $imgPath no src da tag < img > na hora de imprimir os dados na tela

Compartilhar este post


Link para o post
Compartilhar em outros sites

@marsolim cara eu não coompreendi muito bem! Olha como coloquei o codigo kkkkk

 

$sql = mysqli_query($con,"SELECT IdEmpresa , NomeEmpresa, Bairr, Ender, Tel, Tel2, Tel3, Tel4, Tel5, Tel6, Cid, Estad  FROM empresas_grtx WHERE ((NomeEmpresa Like '%".$Pesq."%') OR ( TextAre LIKE '%".$Pesq."%' OR RAtiv LIKE '%".$Pesq."%')) AND ( Cid  LIKE '%".$Cidade."%')");
	
	$row = mysqli_num_rows($sql);
	
	if ($row > 0) {
		while ($linha = mysqli_fetch_array($sql)) {
			$IdEmpresa = $linha ['IdEmpresa'];
			$NomeEmpresa = $linha ['NomeEmpresa'];
			$Ender = $linha ['Ender'];
			$Bairr = $linha ['Bairr'];			
			$Tel = $linha ['Tel'];
			$Tel2 = $linha ['Tel2'];
			$Tel3 = $linha ['Tel3'];
			$Tel4 = $linha ['Tel4'];
			$Tel5 = $linha ['Tel5'];
			$Tel6 = $linha ['Tel6'];			
			$Cid = $linha ['Cid'];
			$Estad = $linha ['Estad'];
			
			$imagem = "images" . $IdEmpresa . "_" . $NomeEmpresa . ".png";
			$imagem = "<img src='C:/wamp64/www/ProjetoGuiaRede/imagens/images/image1" . $row["1"] . "_" . $row["Weldra Publicidade"] . ".png'>";
				
				echo"$imagem";
				

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

para esse caso a imagem tem que ter o nome composto pelo id do registro seguido de underline seguido do nome da empresa. se não tiver chance de conflito com algum outro id de outra tabela por exemplo pode ser só a id do registro da empresa. vamos supor que o id da empresa seja 254125. a imagem dessa empresa tem que ser renomeada pra 254125.png. nessa caso não presica passar o nome da empresa só a id do registro dela tipo assim apenas

    $imagem = "images/" . $IdEmpresa ".png";

se a imagem tá nessa subpasta images e essa subpasta images tá dentro da mesma pasta da pagina php onde a imagem vai ser carregada não precisa passar mais nada muito menos o caminho completo. claro que o nome do campo onde tá esse registro na tabela tem que ser passado corretamente no lugar de idEmpresa se o nome for outro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não conseguir @marsolim, a imagem não aparece (aparece como se não tivesse uma imagem na pata)mas fica aquela figura que indica que ali é um arquivo de imagem.

Olha só

o meu campo id no banco é IdEmpresa

a foto, eu salvei como 1_Weldra Publicidade dentro de uma subpata chamada [.../Projeto/Imegens/images],

Talvez eu não esteja fazendo direito o código no passo a passo!

 

Tenho um a duvida tambem, no banco mysql não preciso alterar a tabela pra colocar essa imagem?

 

O meu código ficou assim

$sql = mysqli_query($con,"SELECT IdEmpresa , NomeEmpresa, Bairr, Ender, Tel, Tel2, Tel3, Tel4, Tel5, Tel6, Cid, Estad  FROM empresas_grtx WHERE ((NomeEmpresa Like '%".$Pesq."%') OR ( TextAre LIKE '%".$Pesq."%' OR RAtiv LIKE '%".$Pesq."%')) AND ( Cid  LIKE '%".$Cidade."%')");
	


	$row = mysqli_num_rows($sql);
	
	
	
	
	
	
	if ($row > 0) {
		while ($linha = mysqli_fetch_array($sql)) {
			$IdEmpresa = $linha ['IdEmpresa'];
			$NomeEmpresa = $linha ['NomeEmpresa'];
			$Ender = $linha ['Ender'];
			$Bairr = $linha ['Bairr'];			
			$Tel = $linha ['Tel'];
			$Tel2 = $linha ['Tel2'];
			$Tel3 = $linha ['Tel3'];
			$Tel4 = $linha ['Tel4'];
			$Tel5 = $linha ['Tel5'];
			$Tel6 = $linha ['Tel6'];			
			$Cid = $linha ['Cid'];
			$Estad = $linha ['Estad'];
			
			$anuncio = "images/" . $IdEmpresa . "_" . $NomeEmpresa . ".jpe";
			$imagem = "<img src='images/" . $row["1"] . "_" . $row["Weldra Publicidade"] . ".jpe'>";
			
			
				
				echo"$imagem";

 


            

Compartilhar este post


Link para o post
Compartilhar em outros sites

tu tá repetindo coisa de $anuncio em $imagem. e a extensão é jpe mesmo ou jpg? no lugar do endereço da imagem tu tem que passar a variável onde tá o endereço

    $anuncio = "images/" . $IdEmpresa . "_" . $NomeEmpresa . ".jpg";
    $imagem = "<img src='images/" . $anuncio . "'>";

ou tu pode passar tudo de uma vez só

    $imagem = "<img src='images/" . $IdEmpresa . "_" . $NomeEmpresa . ".jpg'>";
    echo $imagem;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não deu certo aqui no meu código! Acho que vou cadastrar uma tabela de banners fazer a upload das imagens e vincular essa tabela a tabela empresas que ja tenho! Será que isso da certo! Me parece que essa maneira que você esta me indicando é mais fácil e mais direta @marsolim!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem como botar um print da estrutura da tabela ou reproduzir os campos dela aí embaixo tipo

===============================================
| id     | nomeEmpresa      | Endereco      |
=========|==================|===============|==
| 214521 | Indústrias Wayne | Gotham City   |
---------|------------------|---------------|--
| 214522 | Indústrias Stark | New Yourk     |
-----------------------------------------------

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
===============================================
|IdEmpresa|     NomeEmpresa    | Ender     |
========= |====================|===============|==
|   1     |  Weldra Publicidade|Rua egberto Rabelo Pina
--------- |--------------------|---------------|--
Esta assim @marsolim

O nome dos campos no banco é exatamente esses

Compartilhar este post


Link para o post
Compartilhar em outros sites

e a pasta images onde ficam as imagens está na mesma pasta dessa página? porque se estiver não estou vendo porque não funciona hehehe. isso é se estiver usando a segunda opção que falei de colocar tudo num só se estiver usando a primeira com $anuncio e $imagem eu notei que cometi um erro repetindo images/ nas duas. corrigi lá dá uma olhada agora e veja se funfa

Compartilhar este post


Link para o post
Compartilhar em outros sites

o caminho do meu projeto é esse @marsolim

C:\wamp64\www\Projeto\imagens\images

 

Nessa pasta images é que estão todas as imagens do projeto e é onde eu salvei a imagem 

1_Weldra Publicida.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

então o caminho completo da imagem é C:\wamp64\www\Projeto\imagens\images\1_Weldra Publicida.png certo? e o caminho da página onde está colocando essas instrução? seria C:\wamp64\www\Projeto\imagens\index.php por exemplo? uma outra coisa que talvez pode interferir é espaços no nome. tenta colocar só o código do registro tipo 1.png ou então criar uma rotina pra tirar espaço e acento dos nomes só que isso dá mais trabalho porque vai ter que usar essa rotina sempre que for mostrar a imagem depois. se a pagina tiver nesse caminho que falei C:\wamp64\www\Projeto\imagens\index.php e o caminho da imagem ficar C:\wamp64\www\Projeto\imagens\images\1.png tu pode fazer assim

    $imagem = "<img src='images/" . $IdEmpresa . ".png'>";
    echo $imagem;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem que colocar todas as subpastas até chegar na imagem

    $imagem = "<img src='imagens/images/" . $IdEmpresa . ".png'>";
    echo $imagem;

sugiro estudar a forma de endereçamento em html

Compartilhar este post


Link para o post
Compartilhar em outros sites

@marsolim agora foi cara! engraçado que antes eu ja havia colocado as subpastas, mas não estava resumido a apenas o IdEmpresa! 

 

Realmente a imagem aparece quando eu a consulto, mas quando eu consulto outros resultados na tabela, fica querendo aparecer a imagem! Como eu poderia criar uma função que a imagem aparecesse só quando a Id fosse = a imagem @marsolim

 

Muito obrigado cara !

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.