Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Funkcja w foreach pobierająca wyniki
Forum PHP.pl > Forum > Przedszkole
o2w5n778
Witam!
Mam taki oto kod:
  1. function have_pages(){
  2. $query = mysql_query("SELECT * FROM " . DBPREFIX . "pages");
  3. $values = array();
  4. while($show = mysql_fetch_array($query)){
  5. $values[] = $show;
  6. }
  7. return($values);
  8. }
  9.  
  10. function the_title($values = $page['page_title']){
  11. print_r($values);
  12. }

I chcę za pomocą funkcji the title z wartością domyślną wyświetlać w pętli foreach wyniki:
  1. <?php foreach(have_pages() as $page): ?>
  2. <?php the_title(); ?>
  3. <?php endforeach; ?>

Niestety nie działa, jak to zrobić poprawnie?
prz3kus
Nie prościej tak:
  1. <?php the_title(have_pages()); ?>
  2.  
  3.  
  4. <?php
  5. function the_title($values = $page['page_title']){
  6. foreach ($values as &$value) {
  7. echo $value;
  8. }
  9. }
  10. ?>
o2w5n778
Niestety Parse error: syntax error, unexpected T_VARIABLE in D:\xampp\htdocs\web\project1\includes\pages-functions.php on line 18
Funkcja nie działa. Ale czy to niebędzie zbyt mało optymalnie nie dość że w have_pages jest pętla while to jeszcze w każdej innej funkcji tworzyć foreach?
Nie wiesz może jak zrobić coś podobnego do systemu szablonów w wordpressie?
  1. <?php if (have_posts()) : ?>
  2. <?php while (have_posts()) : the_post(); ?>
  3. <h3><?php the_title(); ?></h3>
  4. <div id="add_to"></div>
  5. <?php the_content('Czytaj całość &raquo;'); ?>
  6. <div id="info_i">Dodał <?php the_author(); ?> dnia <?php the_date(); ?> | <?php comments_popup_link('Komentarzy: 0', 'Komentarzy: 1', 'Komentarzy: %'); ?></div>
  7. <?php comments_template( '', true ); ?>
  8. <?php endwhile; ?>
  9.  
  10. <?php else : ?>
  11.  
  12. <?php endif; ?>

Chodzi mi o to jakim cudem funkcje umieszczone w pętli while pobierają wartości z have_posts() lub the_post()?
prz3kus
Możesz odrazy wyświetlać z pętli while, ale zapewne chodzi tutaj o zachowanie praktyki MVC czyli nie mieszania kodu z widokiem smile.gif, a jak wiadomo optymalnie pisanie to nie zawsze optymalnie wykonujący się kod.
Dawno nie bawiłem się systemem wordpress więc raczej po takiej ilości kodu nie rozwikłam twojego problemu.
o2w5n778
No dokładnie chodzi mi o optymalne oddzielenie szablonu od kodu. OK, dzięki za pomoc
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.