Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie i mssql_fetch_array
Forum PHP.pl > Forum > PHP
NeRoK
Witam,

Otóż napisałem taki skrypt:

  1. <?php
  2. $query = ("SELECT TOP 100 Name, cLevel, Class, Reset, (SELECT G_Name FROM GuildMember WHERE GuildMember.Name = Character.Name), (SELECT G_Level FROM GuildMember WHERE GuildMember.Name = Character.Name), (SELECT ConnectStat FROM MEMB_STAT WHERE memb___id = Character.AccountId), (SELECT seconds FROM online_time WHERE Character.Name = online_time.Name) FROM Character WHERE isAdmin != 1 AND CtlCode != 1 ORDER BY Reset DESC, cL
    evel DESC"
    );
  3. $result = mssql_query($query);
  4. // (...)  
  5.  
  6.  while ($row = mssql_fetch_array($result))
  7.  {
  8. fwrite($uchwyt, $row['Name'].'|');
  9. fwrite($uchwyt, $row['cLevel'].'|');
  10. fwrite($uchwyt, $row['Class'].'|');
  11. fwrite($uchwyt, $row['Reset'].'|');
  12. fwrite($uchwyt, $row['G_Name'].'|');
  13. fwrite($uchwyt, $row['G_Level'].'|');
  14. fwrite($uchwyt, $row['ConnectStat'].'|');
  15. fwrite($uchwyt, $row['Onl_time'].'|'."n");
  16.  }
  17.  
  18.  fclose($uchwyt);
  19. ?>


Skrypt powinien utworzyć plik o następujących wartościach (wartości wklepane ;-)):
TestUSR|12|2|1|Guild|132|1|2000

Niestety, tworzy tylko:
TestUSR|353|17|0|||||


Na pewno w polach: "G_Name" i innych są jakieś dane.
Dalczego nie mogę zapisać innych pól?

Pozdrawiam,
nerok
cadavre
Wpisz sobie choćby print_r" title="Zobacz w manualu php" target="_manual i do niego $row - zobaczysz co dostajesz w zmiennej row.
Andrew_wojownik
Zamiast
  1. <?php
  2. fwrite($uchwyt, $row['Name'].'|');
  3. fwrite($uchwyt, $row['cLevel'].'|');
  4. fwrite($uchwyt, $row['Class'].'|');
  5. fwrite($uchwyt, $row['Reset'].'|');
  6. fwrite($uchwyt, $row['G_Name'].'|');
  7. fwrite($uchwyt, $row['G_Level'].'|');
  8. fwrite($uchwyt, $row['ConnectStat'].'|');
  9. fwrite($uchwyt, $row['Onl_time'].'|'."n");
  10. ?>

wpisz
  1. <?php
  2. fwrite($uchwyt, $row[0]."|");
  3.  fwrite($uchwyt, $row[1]."|");
  4.  fwrite($uchwyt, $row[2]."|");
  5.  fwrite($uchwyt, $row[3]."|");
  6.  fwrite($uchwyt, $row[4]."|");
  7.  fwrite($uchwyt, $row[5]."|");
  8.  fwrite($uchwyt, $row[6]."|");
  9.  fwrite($uchwyt, $row[7]."|"."n");
  10. ?>


I powinno zadziałać.
cadavre
Teraz patrzę na Twoje query... MSSQL obsługuje zapytania w zapytaniach?
NeRoK
Tak, obsługuje.
@Andrew_wojownik: Działa, dzięki :-)
cadavre
Jeśli chcesz używać nazw pół z 'podquery' to przypuszczam, że powinieneś to robić tak:
  1. SELECT TOP 100 Name, cLevel, Class, Reset, (SELECT G_Name FROM GuildMember WHERE GuildMember.Name = Character.Name) AS G_Name, (SELECT G_Level FROM GuildMember WHERE GuildMember.Name = Character.Name) AS G_Level (...)

Czyli dzięki zastosowaniu słowa kluczowego as.
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.