Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MSSQL] wyniki
Forum PHP.pl > Forum > Przedszkole
unnament
Witam,
Zalozmy, ze pobieram z bazy 5 wynikow,
chcialbym zrobic tak, aby kazdy z tych wynikow byl wpakowany do osobnej zmiennej, abym mogl pozniej je wykorzystac w roznych miejscach kodu.
Jak to zrobic?
wNogachSpisz
  1.  
  2. extract(mssql_fetch_assoc());
  3.  
unnament
a mozesz wyjasnic, jak tej funkcji uzyc?
wNogachSpisz
której funkcji?
unnament
chodzi mi o to, co dalej zrobic z tym extractem ;P
wNogachSpisz
http://pl2.php.net/manual/en/function.extract.php


  1. <?php
  2.  
  3. $var_array = array("color" => "blue",
  4. "size" => "medium",
  5. "shape" => "sphere");
  6. extract($var_array);
  7.  
  8. echo "$color, $size, $shape\n";
  9.  
  10. ?>
unnament
Z twoimi podpowiedziami doszedlem do tego:

  1. $d = mssql_query("SELECT TOP 3 img FROM photos ORDER BY NEWID()");
  2.  
  3. extract(mssql_fetch_assoc($d), EXTR_PREFIX_ALL, 'fab');
  4.  
  5. echo $fab_img;


ale nie wiem jak wyswietlic pozostale dwie zmienne?
wNogachSpisz
Musisz zrobić fetch_all().
Nie rozumiem dalczego tak bardzo chcesz ładować to do zmiennych,
akurat w tym konkretnym przypadku takie rozwiązanie nie spowoduje że Twój kod będzie ładniej wyglądał (co wg mnie jest jednynym powodem dla którego warto używać extract)

Zamiast:

$fab_img1
$fab_img2
$fab_img3

zrób tablicę....
unnament
Moze byc tablica, tylko prosze o podpowiedz jak ja utworzyc wink.gif
Chce po prostu te 3 wyniki, ktore wybieram z bazy, moc wyswietlic kazde z osobna w dowolnej czesci kodu.
wNogachSpisz
Nie wiem czy wklejanie manuala niesie czynnik edukujący...
No ale trudno tongue.gif

  1. <?php
  2. // Send a select query to MSSQL
  3. $query = mssql_query('SELECT [username], [name] FROM [php].[dbo].[userlist]');
  4.  
  5. // Check if there were any records
  6. if (!mssql_num_rows($query)) {
  7. echo 'No records found';
  8. } else {
  9. // Print a nice list of users in the format of:
  10. // * name (username)
  11.  
  12. echo '<ul>';
  13.  
  14. while ($row = mssql_fetch_object($query)) {
  15. echo '<li>' . $row->name . ' (' . $row->username . ')</li>';
  16. }
  17.  
  18. echo '</ul>';
  19. }
  20.  
  21. // Free the query result
  22. mssql_free_result($query);
  23. ?>


Dziwne, nie widze nigdzie funkcji fetch_all...
dla Sqlite i MySQL takie funkcje są..
unnament
o takim rozwiazaniu mam pojecia, w przykladzie wklejonym przez Ciebie wszystkie wyniki wyswietlane sa odrazu w jednym miejscu przez petle while.
A ja chce, abym poszczegolne wyniki mogl wyswietlac w dowolnym miejscu.

//////////////

Ok, poradzilem sobie, dla innych szukajacych podobnego rozwiazania z mssql:

  1. $d = mssql_query("SELECT TOP 3 img FROM photos ORDER BY NEWID()");
  2.  
  3. for($i=0;$i<mssql_num_rows($d);++$i)
  4. {
  5. $wynik=mssql_fetch_array($d);
  6.  
  7. $r["$i"] = $wynik['img'];
  8. }


a wyswietlanie poprzez $r['0'], $r['1'] itd...
wNogachSpisz
No pięknie

Tylko zamiast $r daj jakąś nazwe która cokolwiek oznacza, np. $result
i zamiast $r['1'] pisz $r[1], tak jest szybciej.
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.