Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zapisywanie do tablicy
Forum PHP.pl > Forum > Przedszkole
dast
Witam, mam tabelę "pages_langs", w której trzymam tytuły podstron i inne wartości. Teraz chciałbym zrobić tak, żebym mógł przechowywać w tej tabeli tytuły podstron (meta titles) - dodałem pole page_title do tej tabeli.

Czy teraz jak zrobię sobie funkcje np.:
  1. function get_meta_title($page, $lang) {
  2. $meta_title = mysql_fetch_assoc(mysql_query("SELECT * FROM `pages_langs` WHERE `page_name` = '$page' AND `page_lang` = '$lang'"));
  3. return $meta_title['page_title'];
  4. }

+ w index.php:
  1. <title><?php echo get_meta_title($page, $lang); ?></title>

i chciałbym teraz dodać do tej funkcji, żeby pobierało mi wszystkie meta tagi, czyli słowa kluczowe, description no i title.

Jak mogę przerobić funkcje, żeby za każdym razem nie pobierała z osobna po jednej wartości, tylko naraz całość?
dast
nikt nie pomoże? blink.gif
Lorum3
Przecież to zapytanie pobiera Ci cały rekord.
Niktoś
Spróbuj zwrócić całą tablicę:
  1. [php]function get_meta_title($page, $lang) {
  2. $meta_title = mysql_fetch_assoc(mysql_query("SELECT * FROM `pages_langs` WHERE `page_name` = '$page' AND `page_lang` = '$lang'"));
  3. return $meta_title;
  4. }


  1. <title><?php foreach( get_meta_title($page, $lang) as $value ){
  2. echo $value.page_title;
  3. } ?></title>


Nie wiem czy tą pętlę dobrze skonstruowałem,jak coś to poprawcie closedeyes.gif
Lorum3
Ta pętla już zupełnie nie potrzebna, funkcja zwraca tablicę asocjacyjną.
Niktoś
Cytat
Ta pętla już zupełnie nie potrzebna, funkcja zwraca tablicę asocjacyjną.

A jak chcesz wydobyć wartości wszystkich kluczy z tej tablicy,i wyświetlić je nie używając pętli?
Gość
O czymś takim właśnie myślałem, ale taką pętle będę musiał dać w kilku miejscach, bo np. jest title, później keywords, później description itd...

Zrobiłem na razie tak bo lepszego rozwiązania nie znam biggrin.gif
  1. function get_meta($rewrite, $lang, $param) {
  2. $meta = mysql_fetch_assoc(mysql_query("SELECT * FROM `pages_langs` WHERE `page_rewrite` = '$rewrite' AND `page_lang` = '$lang'"));
  3. return $meta[$param];
  4. }

  1. <title><?php echo get_meta($page, $_SESSION['lang'], 'page_title'); ?></title>
Niktoś
Nie wiem już w ogóle ile wierszy z bazy danych będzie zwracanych z zapytania SQL w tej funkcji?Bo jeśli jeden wiersz(rekord) to można się bawić Twoim sposobem,jeśli więcej to i tak będziesz musiał użyć pętli.
Gość
Nie więcej jak 5, a tak wygląda cała tabela:

page_id | page_lang | page_name | page_content | page_title | page_rewrite

w meta title chcę mieć nazwę aktualnej podstrony czyli page_title.
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.