Jump to content

Aleatoriedade em PHP [Resolvido]


Big-D
 Share

Recommended Posts

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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)...

Link to comment
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
 Share

×
×
  • Create New...

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.