Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Funkcja php
gandziorz
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.12.2006

Ostrzeżenie: (0%)
-----


Witam,
Napisałem pewną funkcję do użycia w szablonie smarty.
Jeżeli w szablonie użyję $settings.costam to pokaże mi dane z "value" gdzie "name" to costam.

Baza sql:
  1. CREATE TABLE settings (
  2. `id` bigint(5) NOT NULL AUTO_INCREMENT,
  3. `name` text,
  4. `value` text,
  5. PRIMARY KEY (id)
  6. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;


Funkcja w php:
  1. <?php
  2. $settings = array();
  3. $query = "SELECT * FROM ".$DB['db_prefix']."settings";
  4. $result = @mysql_query($query);
  5. while ($row = mysql_fetch_assoc($result)) {
  6. $settings[$row['name']] = $row['value'];
  7. }
  8. $smarty->assign('settings', $settings);
  9. ?>


Chodzi o to że przy dużej ilości danych ta funkcja jest niezbyt przyjazna.
Ponieważ pobiera wszystkie dane a nie te które potrzebuję.

Jakiś pomysł ktoś ma?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Driver
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 26.08.2008

Ostrzeżenie: (0%)
-----


Po 1. nie rozumiem po co aż tyle pisać
while ($row = mysql_fetch_assoc($result)) {
$settings[$row['name']] = $row['value'];
}

wystarczy
$settings = mysl_fetch_array($result);
(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ładowanie nawet 10 tys rekordów to ułamki sekund, więc tym nie masz się co martwić. W samym szablonie smarty wystarczy użyć {$settings.nazwa_wartosci}

Co do wybierania tylko tych potrzebnych wartości, to pozostaje zbudowanie odpowiedniego zapytania SQL (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
gandziorz
post
Post #3





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 20.12.2006

Ostrzeżenie: (0%)
-----


Cytat(Driver @ 28.08.2008, 09:20:52 ) *
Po 1. nie rozumiem po co aż tyle pisać
while ($row = mysql_fetch_assoc($result)) {
$settings[$row['name']] = $row['value'];
}

wystarczy
$settings = mysl_fetch_array($result);
(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ładowanie nawet 10 tys rekordów to ułamki sekund, więc tym nie masz się co martwić. W samym szablonie smarty wystarczy użyć {$settings.nazwa_wartosci}

Co do wybierania tylko tych potrzebnych wartości, to pozostaje zbudowanie odpowiedniego zapytania SQL (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Niestety nie wystarczy. Sprawdziłem.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 08:58