Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyswietlaniem za pomoca pętli while
Forum PHP.pl > Forum > PHP
weogrim
Witam.

Mam mały problem z fonkcją RAND w SQL i wyswietlaniem za pomocą pętli while

  1. <?php
  2. $ask=mysql_query("select * from sms_exp");
  3. $max = mysql_num_rows($ask);
  4. $liczba = rand(1,$max);
  5. $sql=mysql_query("select * from sms_exp WHERE id = $liczba");
  6.  
  7.  
  8.  
  9.  
  10.  
  11. echo "<table cellspacing='0' cellpadding='0' width='425' align='center'><tr><td align='left'>
  12. <img src='".IMAGES."projekty/b_pasek.gif'></td><td>
  13. <table cellspacing='0' cellpadding='0' width='365' align='center'>";
  14.  
  15. while($linia=mysql_fetch_array($sql))
  16. {
  17.   echo "
  18.  
  19. <tr><td width='170' colspan='3'>
  20.  
  21. <a href='http://www.b-site.info/infusions/sms_exp/sms_exp.php?id=".$linia["id"]."'><img src='".$linia["miniobrazek"]."' style='border:1px solid;border-color:#ffffff;' id='foto'></a>";
  22. }
  23. ?>




Kod przekształcił mi kuzyn (ja dopiero zaczynam haha.gif i miałem kilka błędów), ale chyba coś mu nie wyszło bo kod

  1. <?php
  2. <a href='http://www.b-site.info/infusions/sms_exp/sms_exp.php?id=".$linia["id"]."'><img src='".$linia["miniobrazek"]."' style='border:1px solid;border-color:#ffffff;' id='foto'></a>";
  3. ?>


Wogóle się nie wyswietla.

a i jeszcze jedno. Jak zrobić coś takiego ze w jednej pętli bdą wyświetlały się dwa rózne obrazki ?

Czyli co takiego:

  1. <?php
  2. while($linia=mysql_fetch_array($sql))
  3. {
  4.   echo "
  5.  
  6.  
  7.  
  8. <a href='http://www.b-site.info/infusions/sms_exp/sms_exp.php?id=".$linia["id"]."'><img src='".$linia["miniobrazek"]."' style='border:1px solid;border-color:#ffffff;' id='foto'></a>
  9.  
  10.  
  11.  
  12.  
  13. <a href='http://www.b-site.info/infusions/sms_exp/sms_exp.php?id=".$linia["id"]."'><img src='".$linia["miniobrazek"]."' style='border:1px solid;border-color:#ffffff;' id='foto'></a>";
  14.  
  15. }
  16. ?>



tyle żeby w drugim linku wyświetlał sie za pmocą 

".$linia["miniobrazek"]." i ".$linia["id"]."

wyświetlało się inne ID i obrazek niz w pierwszym linku ?



Z góry dziękuję za odpowiedź i przepraszam za błędy (jestem po formacie i nie mam słownika w operze winksmiley.jpg )
oscar17
Te wyszukiwanie losowe może działać dobrze, tylko jeśli masz w tabeli `sms_exp` wartości id od 1 do x, bez żadnych przerw, lepiej użyj któregoś z rozwiązań opisanych tutaj: http://www.greggdev.com/web/articles.php?id=6
Co do wyświetlania dwóch losowych rekordów, to możesz po prostu dwa razy wykonać wyszukiwanie jednego rekordu, co prawda dwa zapytania, ale chyba najprościej.

--edit--
w przypadku pierwszego sposobu (zakładając że baza nie jest zbyt duża - ale o tym możesz tam poczytać) wyglądałoby to tak:
  1. <?php
  2. $linia = mysql_fetch_array(mysql_query("SELECT * FROM sms_exp ORDER BY rand() limit 1"));
  3. echo "<a href='http://www.b-site.info/infusions/sms_exp/sms_exp.php?id=".$linia['id']."'><img src='".$linia['miniobrazek']."' style='border:1px solid;border-color:#ffffff;' id='foto'></a>";
  4. ?>


--edit--
choć w sumie dla dwóch elementów powinno zadziałać tak:
  1. <?php
  2. $results = mysql_query("SELECT * FROM sms_exp ORDER BY rand() limit 2");
  3. while($linia = mysql_fetch_array($results)
  4. {
  5. echo "<a href='http://www.b-site.info/infusions/sms_exp/sms_exp.php?id=".$linia['id']."'><img src='".$linia['miniobrazek']."' style='border:1px solid;border-color:#ffffff;' id='foto'></a>";
  6. }
  7. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.