Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> co tu jest nie tak??
tomeg
post 13.02.2003, 21:40:53
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
Go to the top of the page
+Quote Post
zalew
post 13.02.2003, 22:53:20
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 ? smile.gif


--------------------
Go to the top of the page
+Quote Post
tomeg
post 13.02.2003, 23:02:23
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
Go to the top of the page
+Quote Post
tomeg
post 17.02.2003, 23:04:12
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">&nbsp&nbsp%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:&nbsp%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
Go to the top of the page
+Quote Post
zalew
post 18.02.2003, 17:05:21
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'


--------------------
Go to the top of the page
+Quote Post
tomeg
post 19.02.2003, 19:30:44
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
Go to the top of the page
+Quote Post
dragossani
post 20.02.2003, 13:45:08
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
Go to the top of the page
+Quote Post
tomeg
post 20.02.2003, 20:55:46
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 smile.gif

pozdrowka


--------------------
tomek
Go to the top of the page
+Quote Post
scanner
post 20.02.2003, 22:38:26
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.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
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: 18.07.2025 - 12:04