Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie wyników
Forum PHP.pl > Forum > PHP
ememem
  1. $result = mysql_query('SELECT * FROM X ORDER BY Y');


Aktualnie wyświetla mi wyniki z tabeli X. Chciałbym, aby wyświetlało mi wyniki z tejże tabeli, ale tylko i wyłącznie wyniki, których zawartość kolumny "Z" posiada wartości "1".
Jak to zrobić?
alegorn
to musi być żart... musi..
ememem
Nie, to nie jest żart. Mógłby ktoś odpowiedzieć?
Van Pytel
Jeśli dobrze rozumie (w sumie piątek 13 tongue.gif) to zainteresuj się w języku sql takim czymśc jak: "WHERE"
$result = mysql_query('SELECT * FROM X WHERE Z='1' ORDER BY Y');
sliwa007
albo ci się działy pomyliły albo jesteś głupi
ememem
Tak właśnie robiłem. Problem w tym, że używając tej funkcji wyskakuje mi błąd o treści

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource

wskazuje na błąd w linii tuż za
  1. $result = mysql_query('SELECT * FROM X WHERE A = B ORDER BY Y');

a mianowicie:
  1. while ($row = mysql_fetch_assoc($result))
wujek2009
ememem musisz sprawdzać czy zapytania się wykonały.
Zobacz na funkcje mysql_error() => http://php.net/manual/en/function.mysql-error.php / http://webmade.org/kursy-online/analiza-bl...-kurs-mysql.php
ememem
Ok, super. Pomogło. Znalazłem błąd.
Mam jeszcze jedno pytanie. Mam plik graficzny o adresie "www.adres.pl/adres.png" ma on wymiary "100x100" w jaki sposób mógłbym wyświetlić kawałek tego obrazka o rozmiarach "20x20" jeśli w bazie id=1 ma on przypisaną pozycję x=1 i y=2? Ma ktoś jakiś pomysł? Biorąc pod uwagę tą pozycję powinien on wyświetlać kawałek obrazka między 20px-40px, a 40px-60px. Biorąc pod uwagę, że pozycja x=0 to 0px-20px
(X= długość)
(Y= szerokość)
  1. <?php
  2. header("Content-type: image/png");
  3. $image = imagecreatefrompng("http://adres.pl/adres.png");
  4. list($width, $height) = getimagesize("http://adres.pl/adres.png");
  5. $new_width = 24;
  6. $new_height = 24;
  7. $a = 14*24;
  8. $b = 4*24;
  9. $image_new = imagecreatetruecolor($new_width, $new_height);
  10. imagecopyresampled($image_new, $image, 0, 0, $a, $b, $new_width, $new_height, 24,24);
  11. imagepng($image_new);
  12. ?>

Ta funkcja działa poprawnie. Tylko chciałbym teraz, aby pozycje:
"14" i "2" były pobierane z bazy danych i aktualny adres "http://adres.pl/adres.png" również.
W komórce X są zawarte parametry, o których wspomniałem wyżej. Fragment wygląda tak:
  1. "icons";s:2:"id";i:1;s:1:"x";i:15;s:1:"y";i:2;}s:7:"

jak z tego kodu mogę pobrać 15 (do zamiast aktualnego "14") i 2 (zamiasta aktualnego "4")

EDIT. Próbowałem już chyba wszystkiego.
Opiszę raz jeszcze. Chodzi oto, aby w miejsce zmiennej $a wyświetlało liczbę pobraną z bazy (kolumna "X")
Liczbę ma pobierać z ciągu znaków:
  1. a:2:{s:6:"source";a:4:{s:4:"type";s:5:"icons";s:2:"id";i:1;s:1:"x";i:0;s:1:"y";i:0;}s:7:"graphic";a:3:{s:3:"src";s:25:"icons/Armors.png?4d91e94f";s:4:"size";a:2:{s:1:"x";i:24;s:1:"y";i:24;}s:6:"frames";a:1:{i:0;a:2:{i:0;i:0;i:1;i:0;}}}}

Jest to zawsze pierwsza liczba po "x" po nazwie "icons"
  1. "icons";s:2:"id";i:1;s:1:"x";i:0;s:1:"y";i:0;

chodzi o liczbę zero
i tak samo dla zmiennej $b tylko pierwszą liczbę po "y"
ma ktoś jakiś pomysł?
d3ut3r
ten ciąg znaków wygląda jak tablica poddana funkcji serialize, zakładając że masz to w zmiennej $test spróbuj zrobić tak:

  1. $test=unserialize($test);
  2.  
  3. print_r($test);


powinieneś dostać tablicę z wartościami.
ememem
Już wczoraj doszedłem do tego, aby to zdeserializować, ale niestety nie wiem co dalej. Wyświetlają mi się takie wartości:
  1. Array ( [source] => Array ( [type] => icons [id] => 1 [x] => 0 [y] => 0 ) [graphic] => Array ( [src] => icons/Armors.png?4d91e94f [size] => Array ( [x] => 24 [y] => 24 ) [frames] => Array ( [0] => Array ( [0] => 0 [1] => 0 ) ) ) )

A potrzebuję wstawić tylko z tego kodu liczbę "1" i "2"
  1. icons [id] => 1 [x] => 0 [y] => 0 )
d3ut3r
zakładając że twoja tablica to $test to zrób:
  1.  
  2. echo $test['source']['x'];
  3. echo $test['source']['y'];
  4.  

ememem
X
Dobra, już sobie poradziłem. Dziękuję wszystkim za pomoc.

Jeszcze jedno małe pytanko. Po zdeserializowaniu chciałbym pominąć rekordy, które mają w nazwie "test1" i "test2",a wyświetlić całą resztę.
Całość wyświetlam tak:
  1. <?php echo show_test(unserialize($row['test'])) ?>
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.