Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyświetlanie wyników
ememem
post 13.04.2012, 16:04:25
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 11.04.2012

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


  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ć?
Go to the top of the page
+Quote Post
alegorn
post 13.04.2012, 16:19:33
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


to musi być żart... musi..
Go to the top of the page
+Quote Post
ememem
post 13.04.2012, 17:01:03
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 11.04.2012

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


Nie, to nie jest żart. Mógłby ktoś odpowiedzieć?
Go to the top of the page
+Quote Post
Van Pytel
post 13.04.2012, 17:07:36
Post #4





Grupa: Zarejestrowani
Postów: 150
Pomógł: 6
Dołączył: 3.03.2010

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


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');

Ten post edytował Van Pytel 13.04.2012, 17:09:01
Go to the top of the page
+Quote Post
sliwa007
post 13.04.2012, 17:09:17
Post #5





Grupa: Zarejestrowani
Postów: 69
Pomógł: 7
Dołączył: 18.08.2010
Skąd: Rzeszów

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


albo ci się działy pomyliły albo jesteś głupi
Powód edycji: [webdice]: +10 za brak kultury.
Go to the top of the page
+Quote Post
ememem
post 13.04.2012, 18:01:22
Post #6





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 11.04.2012

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


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))


Ten post edytował ememem 13.04.2012, 18:01:49
Go to the top of the page
+Quote Post
wujek2009
post 13.04.2012, 18:08:01
Post #7





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


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
Go to the top of the page
+Quote Post
ememem
post 13.04.2012, 21:23:39
Post #8





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 11.04.2012

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


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ł?

Ten post edytował ememem 13.04.2012, 20:21:24
Go to the top of the page
+Quote Post
d3ut3r
post 14.04.2012, 02:24:14
Post #9





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


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.


--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
ememem
post 14.04.2012, 12:11:44
Post #10





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 11.04.2012

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


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 )
Go to the top of the page
+Quote Post
d3ut3r
post 14.04.2012, 12:54:16
Post #11





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


zakładając że twoja tablica to $test to zrób:
  1.  
  2. echo $test['source']['x'];
  3. echo $test['source']['y'];
  4.  



--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
ememem
post 14.04.2012, 16:25:59
Post #12





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 11.04.2012

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


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'])) ?>


Ten post edytował ememem 14.04.2012, 16:26:11
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: 15.08.2025 - 03:09