Ir para conteúdo

Arquivado

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

RogérioSilva

Pegar nome do site e link

Recommended Posts

Alguém pode me ajudar? To pesquisando como fazer isso, mas não acho de jeito nenhum,

Queria jogar os links assim, no campo 

http://site1.com/embed1/CODIGO
http://site2.com/embed2/CODIGO
http://site3.com/embed3/CODIGO
http://site4.com/embed4/CODIGO

e retornasse assim

<a href="http://site1.com/embed1/CODIGO">SITE1</a>
<a href="http://site2.com/embed2/CODIGO">SITE2</a>
<a href="http://site3.com/embed3/CODIGO">SITE3</a>
<a href="http://site4.com/embed4/CODIGO">SITE4</a>

Alguém sabe algo que pudesse me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso irá mostrar url do documento

echo $_SERVER['REQUEST_URI'];

Você deveria ter explicado melhor, pois ao meu ver é só você escrever os links assim como você fez....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu queria cadastrar esses links no servidor

http://site1.com/embed1/CODIGO
http://site2.com/embed2/CODIGO
http://site3.com/embed3/CODIGO
http://site4.com/embed4/CODIGO

E retornasse 

 

<a href="http://site1.com/embed1/CODIGO">SITE1</a>
<a href="http://site2.com/embed2/CODIGO">SITE2</a>
<a href="http://site3.com/embed3/CODIGO">SITE3</a>
<a href="http://site4.com/embed4/CODIGO">SITE4</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, isso é o que você quer. Mas qual é exatamente a sua dúvida?

  • Cadastrar no banco de dados?
  • Consultar do banco?
  • Criar os hiperlinks?
  • Outra.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cadastrar no banco de dados toda a parte de cima, e mostrar com php a segunda parte, mas pegando somente a primeira parte dos links que seria o site1,site,2,site,3,site4 sem o .com, deixando da forma que tá na segunda parte ali, sabe alguma solução? :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

É muita dúvida para um tópico só. Assim como o tópico de Orientações e Regras do Fórum de PHP descreve, seja claro e específico e mantenha apenas uma dúvida por tópico.

 

Traga-nos o que você fez até agora. Se não fez nada e não sabe por onde começar, algumas vídeo aulas podem ser interessantes, mas, antes precisamos saber se você sabe alguma coisa de PHP ou não tem noção alguma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu entendo bem pouco, já pesquisei e vi vários vídeos, mas nada :pensive: , é básicamente assim, eu cadastro assim no servidor:

Screenshot_13.png.953fc5af4b5ab1b12e5188f0c16f609e.png

 

 

E os links iria ser mostrado assim com seus HREF

Screenshot_12.png.32502f8987c590ca87a9198199e581ce.png

 

Mas no servidor, está cadastrado da forma da primeira imagem

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, primeiro passo é estrutura o banco de dados. Para isso, é necessário entender sobre a normalização de dados:

https://pt.wikipedia.org/wiki/Normalização_de_dados

https://www.devmedia.com.br/normalizacao-e-desnormalizacao-de-dados/24345

http://www.dsc.ufcg.edu.br/~pet/jornal/maio2011/materias/recapitulando.html

 

Saber a 1NF já é o suficiente para o que você quer. Sabendo disso, deve-se transformar cada link em um único registro.

 

Pode ser feito de duas formar, manter o que você tem e trabalhar o texto (não recomendo, mas é possível) ou alterar o formulário para que cada link seja um input.

 

Na primeira forma, basta você separar o texto:

$links = explode("\n" , $_POST['links']);

Exemplo: https://3v4l.org/9Z95C

 

Na segunda (recomendada), utilize como exemplo o que há no link abaixo:

Depois, basta inserir no banco de dados:

foreach($links as $link)
{
    //insert
}

 

Após ter inserido, você deve consultar e exibir. Eu vou supor que a sua tabela seja a seguinte:

|----------------|
|      links     |
|----------------|
| id             |
| descricao      |
| link           |
|----------------|

Ou seja, a tabela de nome links com as colunas id, descricao e link. A impressão seria da seguinte forma:

$sql = "SELECT link FROM links";

$result = $pdo->query($sql);

foreach($result as $row)
{
    printf('<a href="%s">%s</a>' , $row['link'] , $row['descricao']);
}

 

Tente fazer com os seguintes exemplos e traga-nos as suas dúvidas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz a consulta com o banco de dados em cima, e em baixo coloquei este código seu, e está dando,
 Call to a member function query() on null in 
tinha que por outra coisa além do código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, a conexão com o banco de dados. Eu utilizei como exemplo PDO. Você deve substituir a seguinte linha:

$result = $pdo->query($sql);

pela forma que está consultando no banco de dados.

 

Poste-nos o código que você desenvolveu até o momento. Entretanto, coloque apenas as partes importantes (remova o que não for relacionado com a consulta/conexão)

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • 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?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
    • Por ckcesar
      Eu tenho uma aplicação no zend com a versão 5.6 e com o postgresql 9.6. Agora eu precisei mudar a versão do meu postgresql para o 16.1, a parte de conexão do bd e consultas sqls funciona perfeitamente, o meu problema está para acessar os meus controllers. Eles não são encontrados em nenhuma rota, quero ver se alguém já passou por esse problema para me ajudar. Obrigado.
    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
×

Informação importante

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