Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php+mysql]uproszczenie zapytań sql
miver
post
Post #1





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

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


mam taki kod:

  1. <?php
  2.  
  3. $result1 = mysql_fetch_row(mysql_query("SELECT * FROM config WHERE name=language"));
  4. $result2 = mysql_fetch_row(mysql_query("SELECT * FROM config WHERE name=title"));
  5. $result3 = mysql_fetch_row(mysql_query("SELECT * FROM config WHERE name=date"));
  6. $result4 = mysql_fetch_row(mysql_query("SELECT * FROM config WHERE name=something"));
  7.  
  8.  
  9. ?>


struktura tabeli to dwie kolumny name i value. jak można zrobić pętle tak żeby pobrano całą zawartość tabeli i tak, żeby dane z value były dostępne z tablicy pod indeksem name? np. $result[language]?

dzięki za pomoc
miv.

Ten post edytował miver 20.04.2008, 11:29:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat
jak można zrobić pętle tak żeby pobrano całą zawartość tabeli

Jesli cie dobrze zrozumialem musisz uzyc petli while czyli
  1. <?php
  2. $query = ('SELECT * FROM config WHERE name=language'): 
  3. $result = mysql_query($query, $db);
  4.  
  5. while($dane = mysql_fetch_assoc($result)) {
  6. //tu wyswietlasz czy co tam chcesz 
  7. //odwolujesz sie tak
  8. $dane['language']
  9. $dane['title']
  10. }
  11. ?>

Etc ale nie wiem czy cie dobrze zrozumialem smile.gif


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
miver
post
Post #3





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

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


ale teraz będę się mógł tylko odwołać do $dane[name] $dane[value] a nie $dane[title] czy $dane[language]
Go to the top of the page
+Quote Post
marcio
post
Post #4





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Tzn w jakim sensie??Teraz mozesz sie odwolywac do wszystkich kolumn z tabeli config

EDIT:WHERE name=language
Sorki nie zauwazylem ale language to nie kolumna tylko wartosc kolumna to name

Ten post edytował marcio 20.04.2008, 11:20:16


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
phpion
post
Post #5





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Może tak:
  1. SELECT * FROM config WHERE name IN ("language", "title", "date", "something");

aczkolwiek nie do końca wiem co chcesz osiągnąć smile.gif
Go to the top of the page
+Quote Post
Piniek
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 463
Pomógł: 49
Dołączył: 27.12.2007
Skąd: Warszawa

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


Proszę o dodanie odpowiedniego tag-u do tematu.

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
miver
post
Post #7





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

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


chodzi mi o to aby z tabeli config wyciągnąć wszystkie pola i mieć do nich (do wartości value w każdym wierszu) dostęp z poziomu indeksu name w tablicy w tym wierszu.
Go to the top of the page
+Quote Post
Crozin
post
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


  1. <?php
  2. //połączenie z bazą
  3.  
  4. $config = array();
  5.  
  6. $result = mysql_query('SELECT * FROM config');
  7. while($r = mysql_fetch_array($result, MYSQL_ASSOC))
  8. $config[$r['name']] = $r['value'];
  9.  
  10.  
  11. //oto co masz w $config
  12. echo '<pre>' . print_r($config, 1) . '</pre>';
  13. ?>
Go to the top of the page
+Quote Post
miver
post
Post #9





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

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


dzięki Crozin - zadziałało ;]
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 10:21