![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
<?
$db = mysql_connect("localhost", "kosmetyki", ""); mysql_select_db("pani"); $sql = "select * from pani"; $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) { printf ($row["nazwa"]); printf ($row["id"]); } ?> Chce pobrac dane z bazy by sie wyswiatklaly na stronie. baza - "kosmetyki tabela - "pani" pola - "id", "nazwa" (1. dezodorant) Chce zeby "1" oraz "dezodorant" bylo widoczne na stronce. Wydaje mi sie ze wszystko jest ok. Wyskakuje jednak blad: Warning: Supplied argument is not a valid MySQL result resource in c:inetpubstrona_sphptest1.php on line 6 czyli w okolicy "while". Co jest nie tak? Zaznaczam ze jestem poczatkujacy w te klocki. Dziekuje za kazda pomoc. pozdrawiam -------------------- tomek
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 407 Pomógł: 0 Dołączył: 24.10.2002 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
gdy wyskakuje blad na linii while result= to oznacza ze podane zapytanie do bazy (choc jest zdefiniowane wyzej) nie zgadaza sie.. czyli albo nazwa tabeli jest zla albo skladnia, albo tabela pusta, itp..
o wlasnie cos upatrzylem >> mysql_select_db("pani"); <<< >>> baza - "kosmetyki <<< skoro baza to kosmetyki to czemu slectujesz baze pani ? ![]() -------------------- Zalew :: http://jakubzalewski.info
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki!
Tak czulem, ze to jakis "czeski" blad. Juz dziala. pozdrowka -------------------- tomek
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Brne dalej w walce z php i mysql.
Wyswietlam na stronie dane. Tyle ze chce by odwiedzajacy mial do wyboru sortowanie wedlug kilku pol. Jednego nie kumam. Co ma byc w linku? baza="kosmetyki" tabela="kosmetyki" sortowanie wedlug: nazwa, marka, cena. Poza tym gdy sortuje wedlug ceny 112 jest mniejsze od 20. Jak zrobic by dobrze rozroznial liczby - trzycyfrowa by zawsze byla wieksza od dwucyfrowej. Probuje cos takiego: Uporządkuj wiadomości według: <a href="data_out.kosmetyki?orderby=nazwa">nazwa</a> //ten link to "zgadywuje" ;-)) <table bgcolor="blue" border="1"> <? if ($orderby == 'nazwa'): //tu pokazuje blad $sql = "select * from kosmetyki order by 'nazwa'"; else: $sql = "select * from kosmetyki"; endif; $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) { print("<tr><td>"); printf("<b><font color="white">  %s</font></b></td>n", $row["id"]); printf("<td><center><b><font color="yellow">%s</b></td>n", $row["nazwa"]); printf("<td><center><b><font color="yellow">cena: %s</b></td></tr>n", $row["cena"]); } ?> </table> Na poczatek probuje sortowac wedlug nazw. Jesli to "pojdzie" to z reszta sobie poradze. To jest wersja robocza wiec brakuje chocby "kategorii". Wyskakuje blad: Warning: Undefined variable: orderby in c:inetpubstrona_steksty3.txt on line 5 Dziekuje za wszelka pomoc -------------------- tomek
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 407 Pomógł: 0 Dołączył: 24.10.2002 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
>>Poza tym gdy sortuje wedlug ceny 112 jest mniejsze od 20. Jak zrobic by dobrze rozroznial liczby - trzycyfrowa by zawsze byla wieksza od dwucyfrowej. <<
a pole w bazie masz typu integer ? >>sql = "select * from kosmetyki order by 'nazwa'"; << order by nazwa nie 'nazwa' -------------------- Zalew :: http://jakubzalewski.info
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
mimo poprawienia 'nazwa' na nazwa
nadal nie dziala. i nadal nie mam pojecia jak podlinkowac sortowanie gdy uzywam funcji z if. Zrobic calkiem nowy pliki dac do niego hiperlacze? Czy jak wstawie cos w stylu: <a href="data_out.kosmetyki?orderby=nazwa">nazwa</a> to wyswietli mi pola odpowiednio juz posortowane?? ceny teraz sortuje dobrze tyle, ze ucina ulamki. Jaki typ pola ustawic by wyswietlac liczbe np. 122,22 Moze ktos pomoze?? Dzieki za juz i prosze o jeszcze. i pozdrawiam -------------------- tomek
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 398 Pomógł: 0 Dołączył: -- Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Kwoty najlepiej przechowywać w polach typu FLOAT(10,2) - masz do dyspozycji osiem cyfr przed i dwie po przecinku (zaokrągla sam).
-------------------- cease this long, long rest / wake and risk a foul weakness to live / when it all comes down / watch the smoke and bury the past again / sit and think what will come / raise your fears and cast them all away
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki za pomoc.
Jednak nadal prosze o pomoc w sprawie sortowania i dodania do tego hiperlacza. Jakis schemacik? Jak sie to robi? pliz pliz pliz ![]() pozdrowka -------------------- tomek
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Link:
Kod <a href="index.php?where=costam&orderby=costam2&order_dir=<?php $tmp = ($_GET['order_dir']=='DESC') ? 'ASC' : 'DESC'; echo $tmp; ?>">
Zapytanie: Kod $query = sprintf("SELECT * FROM tabela WHERE pole = %s ORDER BY %s %s", $_GET['where'] ,$_GET['orderby'],$_GET['order_dir']) U mnie taka konstrukcja dziala na stronie http://www.alpn.prv.pl - mozliwosc sortowania tabel wzgledem dowolnego pola i dowolnej kolejnosci.
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 12:04 |