Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]wyświetlić dane tylko gdy dany element jest w tablicy
Forum PHP.pl > Forum > Przedszkole
rewik
Witam,
nie mogę sobie poradzić, chciałbym aby skrypt poniżej wyświetlał dane tylko wtedy gdy jeden z elementów z bazy danych $danepublik znajduje się w tablicy $trafienia przechowującej dane z wyszukiwarki.




  1. <?
  2.  
  3. $start = $_GET['start'];
  4. $limit=$ile_poz_w_ksiedze;
  5. if (!$start){$start=0;}
  6.  
  7.  
  8. $pobieranie = mysql_query ("SELECT  *  FROM  $danepublik ORDER BY 1 DESC LIMIT $start,$limit");
  9. $licz_rek=mysql_num_rows($pobieranie);
  10.  
  11. while ($zapisz = mysql_fetch_array($pobieranie)) {
  12.  
  13. $kategor =$zapisz['kategor'];
  14. $tytul =$zapisz['tytul'];
  15. $opis =$zapisz['opis'];
  16. $adres =$zapisz['adres'];
  17. $autor =$zapisz['autor'];
  18. $wyslany =$zapisz['wyslany'];
  19. $idwp =$zapisz['id'];
  20.  
  21.  
  22.  
  23. $opis = word_wrap($opis, $szer_wpis_ksieg, '');//dzieli długie stringi
  24. $n = $numerowanie++;
  25. if ($n%2==0)   $class = "ksiega"; else $class = "ksiega_n";
  26.  
  27.  
  28.  
  29. echo "<TABLE BORDER=\"0\" WIDTH=\"100%\" CELLPADDING=\"0\" CELLSPACING=\"3\"><tr><td class = \"$class\">
  30.       <span class=\"ksiega_g\">
  31.       <a class=a18 href=prace-$idwp.htm><b>$tytul</b></a> <br>
  32.       $autor, $adres<br/>
  33.       $opis<br/></span>
  34.       </td></tr></table>
  35.       ";
  36.       }
  37.       ?>
  38.  
  39.      
  40.       </td>
  41.       <td class="ramka_p" width="1"></td>
  42.       </tr>
  43.       </table>
  44.      
  45.  
  46. <TABLE class="szer_kategor_gl" BORDER="0" WIDTH="280" CELLPADDING="0" CELLSPACING="0">
  47. <tr>
  48. <td class="pasek_dol"></td>
  49. </tr>
  50. </table>
  51.  
  52.  
  53. <?
  54.  
  55. //Podział na strony
  56.  
  57. echo "<TABLE width=\"$szer_kategor_gl\" BORDER=\"0\"  CELLPADDING=\"0\" CELLSPACING=\"0\"><tr><td class = \"porcjowanie_wynikow\">";
  58. echo "<div align=\"center\"><TABLE BORDER=\"0\"><tr>";
  59.  
  60. $wynik3 = mysql_query ("SELECT  id  FROM  $danepublik ");
  61. $wynik2 = mysql_query ("SELECT  id  FROM  $danepublik  LIMIT $start,10000");
  62.  
  63. $rekordy=mysql_num_rows($wynik3);
  64.  
  65. if ($start!=0) { // ominięcie POPRZEDNI jeżeli offset=0
  66. $prevoffset=$start-$limit;
  67. print "<td valign=\"top\"><a class=\"a02\" href=\"wszypublik.php?start=$prevoffset&limit=$limit\"><img src=\"motywy/$motyw/grafika/lewo.gif\" width=\"17\" height=\"20\" border=\"0\" align=\"middle\" alt=\"Cofnij\"/></a></td>";
  68. }
  69.  
  70. $pages=intval($rekordy/$limit);
  71.  
  72. if ($rekordy>$limit) {
  73. $pages++;
  74. }
  75. $f = 1 + $start / $limit;//ustala bież&plusmn;c&plusmn; stronę
  76. $l = $rekordy/$limit;//oblicza ilo&para;ć pozostałych stron
  77. $l = ceil($l);
  78.  
  79. if ($l>1) {//g8
  80. <td width=\"80\" align=\"center\"><FORM>
  81. <SELECT class=\"form15\" NAME=\"urljump\" OnChange=\"selecturl(this)\">
  82. <OPTION VALUE=\"\">$f z $l</OPTION>
  83. ";
  84.  
  85. for ($i=1;$i<=($pages-1);$i++) { // wyswietlenie 1 2 3 4 ...
  86. $newoffset=$limit*($i-1);
  87. echo "<OPTION VALUE=\"$PHP_SELF?start=$newoffset&limit=$limit\">$i</option>";
  88. }
  89.  
  90. </select>
  91. </td></form>
  92. ";
  93. }//g8
  94. $licz2=mysql_num_rows($wynik2);
  95.  
  96. // sprawdzenie czy bież&plusmn;ca strona nie jest ostatni&plusmn;
  97. if ($licz2>$limit) {
  98. // niejest ostatni&plusmn; stron&plusmn; więc wy&para;wietl NASTĘPNY
  99. $newoffset=$start+$limit;
  100. print "<td valign=\"top\"><a class=a02 href=\"wszypublik.php?mod=23456&start=$newoffset&limit=$limit\"><img src=\"motywy/$motyw/grafika/prawo.gif\" width=\"17\" height=\"20\" border=\"0\" align=\"middle\" alt=\"Do przodu\"/></a></td>";
  101. }
  102.  
  103. echo "</tr></table></div></td></tr></table>";
  104.  
  105. // koniec podziału na strony
  106.  
  107. ?>
bogdan89
manual php,
pętla foreach,
funkcja in_array();
rewik
Próbowałem wykorzystać funkcje ale nie wychodzi mi za bardzo, jestem trochę zielony
erix
Cytat
$danepublik znajduje się w tablicy $trafienia

Nie widzę w Twoim kodzie żadnej z tych zmiennych.

No, a co Ci nie wychodzi? Może jakieś konkrety?

PS. bbCode nie gryzie.
webdice
Dodałem bbcode, następnym razem takie tematy będę zamykał.
rewik
zmieniłem początek na :
  1. <?
  2.  
  3. $start = $_GET['start'];
  4. $limit=$ile_poz_w_ksiedze;
  5. if (!$start){$start=0;}
  6.  
  7.  
  8. for( $x = 0, $cnt = count($trafienia); $x < $cnt; $x++ ){      
  9.  
  10. $pobieranie = mysql_query ("SELECT  *  FROM  $danepublik where wyslany like '$trafienia[$x]' ORDER BY 1 DESC LIMIT $start,$limit");
  11. $licz_rek=mysql_num_rows($pobieranie);
  12.  
  13. while ($zapisz = mysql_fetch_array($pobieranie))  {
  14.  
  15. $kategor =$zapisz['kategor'];
  16. $tytul =$zapisz['tytul'];
  17. $opis =$zapisz['opis'];
  18. $adres =$zapisz['adres'];
  19. $autor =$zapisz['autor'];
  20. $wyslany =$zapisz['wyslany'];
  21. $idwp =$zapisz['id'];
  22.  
  23.  
  24. $opis = word_wrap($opis, $szer_wpis_ksieg, '');//dzieli długie stringi
  25. $n = $numerowanie++;
  26. if ($n%2==0)   $class = "ksiega"; else $class = "ksiega_n";
  27.  
  28. echo "<TABLE BORDER=\"0\" WIDTH=\"100%\" CELLPADDING=\"0\" CELLSPACING=\"3\"><tr><td class = \"$class\">
  29.       <span class=\"ksiega_g\">
  30.       <a class=a18 href=prace-$idwp.htm><b>$tytul</b></a> <br>
  31.       $autor, $adres<br/>
  32.       $opis<br/></span>
  33.       </td></tr></table>
  34.       ";
  35.       }}
  36.       ?>


$danepublik jest w bazie danych, a $trafienia to tablica zawierająca dane z wyszukiwarki

jest prawie ok ale nie potrafię zrobić podziału na strony , na pierwszej stronie wyświetla tyle elementów ile jest pól w $trafienia
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.