Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] mala rada porzadana
Qspy
post 5.06.2007, 16:54:02
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 11.10.2004

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


Witam,
Pisze skrypt php do crona/phpbb. Niemusicie znac tabel standardowej bazy phpbb, mam tu male zapytanie ktore nietyra. Jezeli wykonam samo zapytanie ze zmiennej $sql3 w bazie danych uzyskam 93500 okolo. Jednak niemoge tego przetworzyc tym skryptem aby ta uzyskana liczbe z $sql3 zapisac do byle jakiej zmiennej zeby potem ja sobie poprzez dzialajace $sql1 zapisac do bazy..

Co wiem ze jest dobrze? Zapytanie w $sql3, zapytanie w $sql1. Jedyna rzecz jaka jest zle to przetworzenie zapytania z $sql3 aby zostalo wykonane i zwrocilo do zwyklej zmiennej liczbe. Wtedy juz dzialajacym zapytaniem $sql1 ja sobie zapisze do bazy.

Dzieki z gory za pomoc.

  1. <?php
  2. $sql3 = "SELECT COUNT( user_id ) AS total
  3.  FROM phpbb_users
  4.  WHERE user_id <> -1";
  5. $result = $db->sql_query($sql3);
  6. $row = $db->sql_fetchrow($result);
  7.  
  8.  
  9. $sql1 = "UPDATE phpbb_config SET config_value = $row WHERE config_name = 'ilosc_userow'";
  10. $db->sql_query($sql1);
  11. ?>


Ten post edytował Qspy 5.06.2007, 16:55:03
Go to the top of the page
+Quote Post
SongoQ
post 5.06.2007, 17:26:18
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


$row = $db->sql_fetchrow($result); to jest przyczyna


--------------------
Go to the top of the page
+Quote Post
Qspy
post 5.06.2007, 17:42:14
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 11.10.2004

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


Jakas podpowiedz? winksmiley.jpg mogles dodac zdanie w ktorym bys mnie bardziej nakierowal.
Go to the top of the page
+Quote Post
NoiseMc
post 5.06.2007, 17:50:05
Post #4





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

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


  1. <?php
  2. $row = $db->sql_fetchrow($result);
  3. ?>

zwraca caly wiersz a Ty potrzebujesz pojedyncza wartosc czyli zamiast:
  1. <?php
  2. $sql1 = "UPDATE phpbb_config SET config_value = $row WHERE config_name = 'ilosc_userow'";
  3. ?>

powinienes miec:
  1. <?php
  2. $sql1 = "UPDATE phpbb_config SET config_value = $row['total'] WHERE config_name = 'ilosc_userow'";
  3. ?>


--------------------
Go to the top of the page
+Quote Post
Qspy
post 5.06.2007, 17:58:01
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 11.10.2004

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


W ten sposob byl syntax ale zrobilem:

$row = $db->sql_fetchrow($result);
$row1 = $row['total'];

a potem updatowalem $row1
smile.gif i tyra. Dzieki wielkie, sporo przedemna winksmiley.jpg
Go to the top of the page
+Quote Post
NoiseMc
post 5.06.2007, 19:03:29
Post #6





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

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


Popraw sobie jeszcze nazwy zmiennych na bardziej czytelne smile.gif

  1. <?php
  2. $sql = "SELECT COUNT( user_id ) AS total FROM phpbb_users WHERE user_id <> -1";
  3. $result = $db->sql_query($sql);
  4. $row = $db->sql_fetchrow($result);
  5.  
  6. // To mowi wiecej niz $row1
  7. $userCount = $row['ilosc'];
  8.  
  9. // Tu mozesz nadpisac $sql bo starej wartosci nie potrzebujesz
  10. $sql = "UPDATE phpbb_config SET config_value = $userCount WHERE config_name = 'ilosc_userow'";
  11. $db->sql_query($sql);
  12. ?>


Dobre nazewnictwo i formatowanie kodu to podstawa zeby sie potem nie zgubic.


--------------------
Go to the top of the page
+Quote Post
Qspy
post 5.06.2007, 19:10:11
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 11.10.2004

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


Racja, skrypt bedzie maly jednak dobrze prawisz lepiej sie tak uczyc pisac.

Zazwyczaj najpierw pisze tak aby dzialalo, a potem optymalizuje pod wzgledem szybkosci/czytelnosci.
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 Wersja Lo-Fi Aktualny czas: 29.06.2025 - 00:23