Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
Big-D

Aleatoriedade em PHP [Resolvido]

Recommended Posts

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??

Share this post


Link to post
Share on other sites
KiNgPiTo

Não estás a fechar a img...

echo "<tr><td>$row[1]</td><td><img src='images/thumbs/$row[2]' /></td></tr>";

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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]).

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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!";
}
?>

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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)...

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
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.