Jump to content
AV Lammel

Digitar código no form, enviar, pegar URL no MySQL e trazer resultado em nova aba do navegador

Recommended Posts

Olá pessoal. Sou novato tanto aqui quanto nas linguagens de programação. 
 
Exemplo que vou me referir:
http://aldolammel.com/emulador/dia922.php 
 
Eu gostaria de digitar um código no textfield "Fotografia", pressionar o botão submit "Fotografia" e fazer o PHP+MySQL(+script?) trazer-me a URL específica daquele código específico digitado. A URL deve ser aberta em uma nova aba do navegador. 
 
A propósito, esse comportamento precisa ser replicado para os outros dois forms (Mapas, Vídeos).
 
Aqui é uma print do meu db:

Share this post


Link to post
Share on other sites

Cara parece bem simples a resolução do seu problema...

<form id="fotografia" method="post" action="dia922.php">
        <label>Fotografia</label>
        <input name="fotografia-input" type="text" minlength="1" maxlength="3"><input type="submit" value="Submit">
      </form>
<?php
//$conn = sua conexão com banco de dados, usuário, senha, servidor, etc.....
if(isset($_POST['fotografia-input'])){
	 $fotoscode  = $_POST['fotografia-input'];
 $select = "SELECT * from fotos WHERE fotoscode = '$fotoscode'";
  $mak = mysqli_query($select, $conn) or die(mysqli_error($conn));
  if ($row = mysqli_fetch_array($mak)) {
	$link = $row['fotosurl'];
	print '<a href="'.$link.'">Clique aqui para ver a foto</a>';
}
}
?>

para os mapas e videos é só repetir a mesma rotina e mudar apenas os dados, testa aí....Obs: o teu minlength estava permitindo apenas 2 caracteres minlength="2" alterei pra 1 porque tem fotoscode com 1 caractere no banco, quanto ao maxlength, se você deixar definido com 3, quando tiver fotocode com registro 1000 pra cima não poderá fazer a consulta, enfim, você que sabe... Testa aí.

Share this post


Link to post
Share on other sites
On 2/23/2019 at 8:23 AM, MAKAVELIQUE said:

Cara parece bem simples a resolução do seu problema...


<form id="fotografia" method="post" action="dia922.php">
        <label>Fotografia</label>
        <input name="fotografia-input" type="text" minlength="1" maxlength="3"><input type="submit" value="Submit">
      </form>
<?php
//$conn = sua conexão com banco de dados, usuário, senha, servidor, etc.....
if(isset($_POST['fotografia-input'])){
	 $fotoscode  = $_POST['fotografia-input'];
 $select = "SELECT * from fotos WHERE fotoscode = '$fotoscode'";
  $mak = mysqli_query($select, $conn) or die(mysqli_error($conn));
  if ($row = mysqli_fetch_array($mak)) {
	$link = $row['fotosurl'];
	print '<a href="'.$link.'">Clique aqui para ver a foto</a>';
}
}
?>

para os mapas e videos é só repetir a mesma rotina e mudar apenas os dados, testa aí....Obs: o teu minlength estava permitindo apenas 2 caracteres minlength="2" alterei pra 1 porque tem fotoscode com 1 caractere no banco, quanto ao maxlength, se você deixar definido com 3, quando tiver fotocode com registro 1000 pra cima não poderá fazer a consulta, enfim, você que sabe... Testa aí.

 

Makavelique, funcionou perfeitamente. Alterei o método para GET para eu poder gerar a URL também sem ter que ir no formulário digitar o código. Obrigado ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Pitag346
      Boa noite pessoal...
      Eu não estou conseguindo fazer uma sub consulta... Se alguém puder clarear minhas ideias isso ser de muita ajuda.
      Fiz varias pesquisas e ainda não entendi como posso fazer o seguinte:
       
      Tenho 3 tabelas no banco de dados a tabela: Users, Ingress, Vendas.
      A tabela ingress seria a tabela onde armazeno meus produtos, contendo o preço do produto obviamente.
      E a tabela vendas eu armazeno o ID do produto vendido e o ID do user que vendeu... 
      Quero fazer uma sub consulta pra exibir dentro de um loop o valor total de produtos vendidos por cada usuario, porem eu não faço ideia como fazer, tentei a seguinte forma:
       
      $sq = " SELECT P.id, (SELECT COUNT(C.lote_id) FROM ingress C WHERE ticket_promote_id = P.id ) FROM users GROUP BY P.id "; $t2 = $conn->query($sq); Mas não estou entendendo como fazer...
      Se alguém puder só me dar um exemplo, eu só quero pegar o preço da outra tabela e exibir dentro de um loop em uma LISTA contendo, 
      USER, VENDAS, VALOR TOTAL VENDIDO... 
       
      Obrigado. att.
    • By jacksonihs
      Minha consulta está muito demorada, alguém tem alguma ideia de como melhorar, creio que o segundo select está piorando o processo, rsrsrs...
                      $consumption = $this->reading                 ->selectRaw('apartments.condominium_id,                  condominiums.name,                  apartments.number,                  apartments.block,                     readings.reading as reading,                      readings.reading/1000 as reading_m3,                      DATE_FORMAT(readings.readed_at, "%d/%m/%Y") as date,                     DATE_FORMAT(readings.readed_at, "%H:%i") as hour,                      IFNULL(readings.reading/1000 -                      (select rd.reading/1000 from readings rd where rd.id < readings.id and rd.meter_id = readings.meter_id                          order by rd.readed_at desc limit 0,1),0) as consumption,                      readings.readed_at as readed_at,                      readings.meter_leak,                      readings.meter_wire_cut,                      readings.meter_id,                      meters.meter_number,                      meters.transmitter_number,                      meter_types.type')                 ->join('meters', 'readings.meter_id', '=', 'meters.id')                 ->join('meter_types', 'meters.meter_type_id', 'meter_types.id')                 ->join('apartments', 'meters.apartment_id', '=', 'apartments.id')                 ->join('condominiums', 'condominiums.id', '=', 'apartments.condominium_id')                 ->where('condominiums.id', '=', $id)                 ->whereBetween('readings.readed_at', [$dateStart, $dateEnd])                 ->orderBy('meters.meter_number', 'asc')                 ->orderBy('readings.readed_at', 'asc')                 ->get();
    • By ivansilvask83
      Pessoal preciso mostrar na tabela o valor de nome, email e cotas o problema é que não estou conseguindo mostrar a quantidade de cotas porque preciso de 2 variaveis foreach ou 2 foreach.
      segue o codígo:
      <tbody>                                 <?php                                 if(!empty($indicados_nivel)){                                     foreach($indicados_nivel as $indicado){                                         $indicadoInfo = $this->conta_model->InfoUser($indicado); foreach ($cotas as $cota) {                                     ?>                                     <tr>                                     <td width="200">                                          <?php echo $indicadoInfo->nome;?>                                     </td>                                     <td width="250">                                         <?php echo $indicadoInfo->email;?>                                     </td>                                     <td width="50">                                         <?php echo $cota->quantidade; ?> //Aqui Preciso Mostrar a Quantidade de cotas que cada usuario tem//                                     </td>                                 </tr>                                     <?php                                     }                                 }                                 ?> </tbody>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.