![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
Heja!
Zalozmy, ze mam skrypt, ktory wyrzuca mi wyniki z bazy sortowane wedlug danego pola (tutaj np owoce, ktore moze przyjac wartosci: jablko, gruszka, truskawka, malina). Z jakiego zapytania skorzystac, aby nie sortowal mi wynikow alfabetycznie, lecz w kolejnosci, np gruszka, malina, truskawka, jablko? EDIT: Pytanie z tytulu threada znajduje sie pod postem itsme. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 1 512 Pomógł: 2 Dołączył: 22.04.2002 Skąd: Koszalin ![]() |
dodaj jeszcze jedna kolumne gdzie bedziesz wstawiac cyferke z zakresu od 1-100 lub innego gdzie okreslisz "wagę" owoca i wg tego pola wykonaj sortowanie
-------------------- brak sygnaturki rowniez jest sygnaturką
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
Ok... dzieki... to juz wykorzystam ten thread do zadania jeszcze jednego pytania.
Mam taki skrypcik, ktory pobiera mi z bazy marke i model samochodu i wypisuje to bez zbednych bajerow w petli. [php:1:cf5331cc27]<?php $query = "SELECT marka, model FROM baza WHERE accept='done' ORDER BY marka"; $do = mysql_query($query); while ($row = mysql_fetch_array($do)) { $marka = $row['marka']; $model = $row['model']; print ("$marka <b>$model</b><br><br>"); } ?>[/php:1:cf5331cc27] Jednak mam problem tego typu, ze jezeli gdyby w bazie istnialy dwa wpisy o tej samej marce i modelu printowal wyniki tej postaci, np: Audi RS4 x 3 - gdzie trojka jest iloscia wpisow Audi RS4. Probowalem to zrobic dodajac do zapytania COUNT(marka,model) AS count, jednak powodowalo to wysypanie sie parsera. Please help. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
robisz to tablicą
[php:1:7dbf77bff4]<?php $query = "SELECT marka, model FROM baza WHERE accept='done' ORDER BY marka"; $do = mysql_query($query); while ($row = mysql_fetch_array($do)) { if(!isset($tablica[$row['marka']][$row['model']])){ $tablica[$row['marka']][$row['model']]=1; } else{ $tablica[$row['marka']][$row['model']]++; } } foreach($tablica as $marka){ foreach($marka as $model){ print ("{$marka['key']} <b>{$model['key']}</b> x {$model['value']}<br><br>"); } } ?>[/php:1:7dbf77bff4] I takim oto kodem możesz se to zrobić |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarząd Postów: 1 512 Pomógł: 2 Dołączył: 22.04.2002 Skąd: Koszalin ![]() |
moze tak
[php:1:88b0a4db13]<?php $query = "SELECT DISTINCT (marka, model) FROM baza WHERE accept='done' ORDER BY marka"; $query = "SELECT DISTINCT marka, DISTINCT model FROM baza WHERE accept='done' ORDER BY marka"; /*to sa dwa probne pytania zobacz ktore bedzie dzialac jezeli wogole nie bedzie dzialac to rozwiazanie masz ponizej*/ $do = mysql_query($query); while ($pojazd= mysql_fetch_object($do)) { print ("$pojazd->marka<b>$pojazd->model</b><br><br>"); } ?>[/php:1:88b0a4db13] inne rozwiazanie [php:1:88b0a4db13]<?php $query = "SELECT DISTINCT marka FROM baza WHERE accept='done' ORDER BY marka"; $do = mysql_query($query); while ($marka= mysql_fetch_object($do)) { $query2 = "SELECT DISTINCT model FROM baza WHERE accept='done' and marka='$marka->marka' ORDER BY model"; $do2 = mysql_query($query2); while ($model= mysql_fetch_object($do2)) { print ("$marka->marka<b>$model->model</b><br><br>"); } } ?>[/php:1:88b0a4db13] pozniej pokaz jak to rozwiazales -------------------- brak sygnaturki rowniez jest sygnaturką
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
Zaskoczyl pierwszy skrypt itsme - dzieki
![]() [php:1:9ea902b028] $query = "SELECT DISTINCT marka, model FROM baza WHERE accept='done' ORDER BY marka"; $do = mysql_query($query); while ($row = mysql_fetch_array($do)) { $marka = $row['marka']; $model = $row['model']; $query2 = "SELECT marka, model FROM baza WHERE accept='done' AND marka='$marka' AND model='$model'"; $do2 = mysql_query($query2); print ("$marka <b>$model</b><br><br>"); } [/php:1:9ea902b028] Jednak po zdefiniowaniu wynikow $do2 jako mysql_affected_rows w celu policzenia ilosci jednakowych wpisow skrypt znowu sie wysypuje. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarząd Postów: 1 512 Pomógł: 2 Dołączył: 22.04.2002 Skąd: Koszalin ![]() |
ok
uwaga 1 jezli mowisz blad napisz jaki !! uwaga 2 jezeli w bledzie podany nr linii w ktorej ten blad wyskakuje to pokaz te linie lacznie z 3-4 wyzej -------------------- brak sygnaturki rowniez jest sygnaturką
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
Blad jest taki:
Cytat Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in /home/users/sss/public_html/samochody.php on line 13
Pojawia sie on pod kazdym wypisanym samochodem, czyli query jest wykonywane zgodnie z petla (?) Natomiast linijka 13 i wczesniejsze wygladaja tak (13 to ostatnia) [php:1:1e896de949] $marka = $row['marka']; $model = $row['model']; $query2 = "SELECT marka, model FROM baza WHERE accept='done' AND marka='$marka' AND model='$model'"; $do2 = mysql_query($query2); $num = mysql_affected_rows($do2); [/php:1:1e896de949] Reszta jest tak jak w moim poscie wyzej. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
Sorki za repost, ale sprawa mozna by powiedziec pali mi sie pod nogami, a ja utknalem w tym martwym punkcie
![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
mysql_query() zwraca identyfikator wyniku, a nie połączenia...
Więc nie... [php:1:cfa613ac0d]<?php $num = mysql_affected_rows($do2); [/php:1:cfa613ac0d] TYLKO ID_POŁACZENIA... [php:1:cfa613ac0d]<?php $num = mysql_affected_rows($conn); [/php:1:cfa613ac0d] BTW. $conn jest zwracane przez mysql_connect(); -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem 8O Przeciez jak w affected rows dam wynik mysql_connect to wyjda bzdury. Poza tym twoj post nie dal mi odpowiedzi na moj problem
![]() |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To ty zanim napiszesz bzdury zaglądnij do manuala...
Cytat int mysql_affected_rows ( [resource identyfikator_połączenia] )
mysql_affected_rows() zwraca ilość wierszy przetworzonych w ostatniej operacji INSERT, UPDATE lub DELETE na serwerze skojarzonym z podanym identyfikatorem połączenia. Jeżeli identyfikator połączenia nie został podany, domyślnie wykorzystywane jest ostatnie połączenie otwarte przez mysql_connect(). A poza tym kolego... Cytat mysql_affected_rows() nie ma zastosowania do operacji SELECT, lecz tylko do operacji, które modyfikują rekordy. Aby uzyskać liczbę wierszy zwróconych przez SELECT, użyj funkcji mysql_num_rows().
Więc zanim napiszesz, że nie mam racji lub pisze bzdury doczytaj i zastanów się... ![]() -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 23.03.2003 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
Spokojnie, nie napisalem nigdzie, ze piszesz bzdury, przeczytaj mojego posta jeszcze raz. Dzieki za pomoc!
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Miałem nerwowy dzień...
-------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Za dużo żartów przeżyłeś?
![]() -------------------- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
No wiecie co...
SELECT marka, model, count(model) as ilosc FROM baza WHERE accept='done' GROUP BY marka,model ORDER BY marka Ale kody zeby to zrobic w phpie sa ladne ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 13:20 |