Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Big-D

Aleatoriedade em PHP [Resolvido]

Mensagens Recomendadas

Big-D

Boas!

Eu gostava de fazer aparecer aleatoriamente texto e imagem:

Exemplo Index -> Secção de Noticias -> Nesta secção apareceria uma imagem e o seu respectivo texto.

Eu encontrei o seguinte código numa das minhas pesquisas via Google:

<?php
// Create the connection and select the DB
$link = mysql_connect("localhost","root","");

if ($link) {
   mysql_selectdb("supless",$link);
   
   // Select records from the DB
   $query  = "SELECT * FROM noticias ORDER BY Rand() LIMIT 1";
   $result = mysql_query($query);


   // Display records from the table
   echo "<table border='1'>";
   while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
      echo "<tr><td>$row[1]</td><td><img src='images/thumbs/$row[2]></td></tr>";
   }
   echo "</table>";
} else {
    echo "Can't connect to the database!";
}
?>

O texto esse sim é mostrado aleatoriamente mas a imagem não mostra.

Não sei se este será o melhor exemplo a usar, mas estando a utilizar este podem me ajudar ou pelo menos indicar-me um exemplo melhor??

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KiNgPiTo

Mete echo "<tr><td>$row[1]</td><td>$row[2]</td></tr>"; e vê se está a ler direito... ah e por nome da imagens presumo que venha também a extensão e não só mesmo o nome...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Big-D

inicialmente eu tinha isso:

echo "<tr><td>$row[1]</td><td>$row[2]</td></tr>";

e ele dava e continua a dar o texto (row[1]) e o nome e extenção da imagem (row[2]).

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Big-D

Experimentei pela tua maneira e não estava a dar, então decidi meter o caminho mesmo todo:

echo "<tr><td>$row[1]</td><td><img src=\"http://localhost/lalala/backoffice/images/thumbs/$row[2]\" /></td></tr>";

e já mostrou a imagem.

E o que me intriga é que eu tenho uma outra página a ir buscar as imagens ao mesmo caminho: images/thumbs/$image e ele mostra direitinho.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KiNgPiTo

pensava que estava na raiz, mas o teu script está então na pasta backoffice...

faz isto, deve resultar:

<?php
// Create the connection and select the DB
$link = mysql_connect("localhost","root","");

if ($link) {
   mysql_selectdb("supless",$link);
   
   // Select records from the DB
   $query  = "SELECT * FROM noticias ORDER BY Rand() LIMIT 1";
   $result = mysql_query($query);

   $dirname = dirname(realpath(__FILE__)); 
   $dirname .= "/lalala/backoffice/images/thumbs/";

   // Display records from the table
   echo "<table border='1'>";
   while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
      echo "<tr><td>$row[1]</td><td><img src=\"".$dirname.$row[2]."\" /></td></tr>";
   }
   echo "</table>";
} else {
    echo "Can't connect to the database!";
}
?>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Big-D

Tendo isto não dá:

 $dirname = dirname(realpath(__FILE__)); 
   $dirname .= "/lalala/backoffice/images/thumbs/";

mas se meter assim:

$dirname = "/lalala/backoffice/images/thumbs/";

e depois meter:

 echo "<tr><td><img width='75' height='75' src=\"".$dirname.$row[2]."\" /></td><td>$row[1]</td></tr>";

dá e bem claro que isto é quase a mesma coisa que ter la o caminho dito...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KiNgPiTo

o caminho absoluto é todo o caminho para o ficheiro incluindo o host... o relativo é do host em diante...

mas se funciona, porreiro (e não deu com o realpath pois esqueci-me que o script já estava na pasta backoffice logo em baixo era só de images em diante)...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.