Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]pobieranie wartosci z zapytania SQL
Forum PHP.pl > Forum > Przedszkole
swiru_
wiatm,

mam petle ktora docelowo wyswietlac powinna linki do artykulow w postaci 28 znakow z tytulow

  1.  
  2. $query = 'SELECT title, id FROM tabela_news ORDER by date DESC LIMIT 15';
  3. $result = mysql_query($query);
  4. $N = mysql_num_rows($result); //zapisz ilosc rekordow do zmiennej
  5. $N2 = ceil($N/5); //zaokraglaj w gore dzielenie przez 5, 1 - 5 = 1; 6 - 10 = 2; 11 - 15 = 3
  6. $titles = array();
  7. $k = 0;
  8. while ($row = mysql_fetch_assoc($result))
  9. {
  10. $titles[] = $row['title'];
  11. }
  12.  
  13.  
  14. // wyswietlanie divow i linkow
  15.  
  16.  
  17. for ($i=0; $i<$N2; $i++)
  18. {
  19. echo ('<div id="'.$i.'" class="t_div">');
  20. echo ('<ul class="link_t">');
  21.  
  22. for ($j=0; $j<5; $j++)
  23. {
  24.  
  25. if (($j + $i*5)<$N)
  26. {
  27. echo ('<li>'.view_article(tu powinien byc id artykulu ,substr(strip_tags($titles[$k]),0,28)).'...</li>');
  28. $k++;
  29.  
  30. }
  31. }
  32.  
  33. echo ('</ul></div>');
  34. }
  35. ?>
  36.  


stworzylem prosciutka funkcje, ktora zwraca tag ahref z numerem id artykulu jako czesc adresu linku i tytulem jaka nazwa linku

moje pytanie jest takie, jak pobrac id artykulu z zapytania ktore jest przed petla??
griwes
Chcesz zachować id przy wyświetlaniu, tak? Jeśli tak, to najprościej zamiast $titles[] = dać $titles[$row['id']] =.
swiru_
nie nie, titles ma zostac bo to bedzie nazwa linku przyklad

  1. <a href="numer id">$row['titles']</a>


czyli id musi byc druga zmienna i musi byc takie samo jak id w tabeli bazy danych dla rekordu title o nazawie takiej jak wyswietli sie w $row['titles']

w zasadzie mogl bym to zrobic w funkcji jako drugie zapytanie do bazy danych ale chcial bym uniknac niepotrzebnych zapytan do bazy jesli jest to mozliwe

dobra... juz niewazne, zrobilem tak samo jak dla titles:

  1. while ($row = mysql_fetch_assoc($result))
  2. {
  3. $titles[] = $row['title'];
  4. $id_num[] = $row['id'];
  5. }


na poczatku myslalem ze jesli tak zrobie to wartoscia ID bedzie numer rekordu z tabeli array dla $id_num ale przeciez to nie mozoliwe ... heh .. ok sorki za zamieszanie, dzieki za odpowiedz i pozdro
griwes
  1. $query = 'SELECT title, id FROM tabela_news ORDER by date DESC LIMIT 15';
  2. $result = mysql_query($query);
  3. $N = mysql_num_rows($result); //zapisz ilosc rekordow do zmiennej
  4. $N2 = ceil($N/5); //zaokraglaj w gore dzielenie przez 5, 1 - 5 = 1; 6 - 10 = 2; 11 - 15 = 3
  5. $titles = array();
  6. $k = 0;
  7. while ($row = mysql_fetch_assoc($result))
  8. {
  9. $titles[]['title'] = $row['title'];
  10. $titles[]['id'] = $row['id'];
  11. }
  12.  
  13.  
  14. // wyswietlanie divow i linkow
  15.  
  16.  
  17. for ($i=0; $i<$N2; $i++)
  18. {
  19. echo ('<div id="'.$i.'" class="t_div">');
  20. echo ('<ul class="link_t">');
  21.  
  22. for ($j=0; $j<5; $j++)
  23. {
  24.  
  25. if (($j + $i*5)<$N)
  26. {
  27. echo ('<li>'.view_article($titles[$k]['id'] ,substr(strip_tags($titles[$k]['title']),0,28)).'...</li>');
  28. $k++;
  29.  
  30. }
  31. }
  32.  
  33. echo ('</ul></div>');
  34. }
  35. ?>
Ok, sory, nie załapałem wcześniej tego $N. Ale to już zadziała tak jak chcesz ;p
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.