![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
Witam,
następujący problem: mam w sumie w skrypcie 3 zapytania do bazy danych: [php:1:1e44b70c36]<?php $sql = "SELECT * FROM filmy WHERE gatunek = '".$gatunek."'"; $result = mysql_query($sql) or die(mysql_error()); ?>[/php:1:1e44b70c36] [php:1:1e44b70c36]<?php $query = "SELECT * FROM filmy WHERE ID <= ".$from." AND ID > ".($from-$ile)." ORDER BY ID DESC"; $result = mysql_query($query); if(!$result){ print("Problem z bazÄ… danych."); exit; ?>[/php:1:1e44b70c36] [php:1:1e44b70c36]<?php $query = "SELECT MAX(ID) FROM filmy"; $result = mysql_query($query); if (!$result){ print("Problem z baz± danych. Odrzucone zapytanie."); exit; ?>[/php:1:1e44b70c36] pierwsze zapytanie wyszukuje tylko filmy o gatunku komedia, drugie i trzecie zapytanie mają za zadanie ułożenia tych wyników z zapytania pierwszego, aby wpis o max id był na górze i stronnicować po 3 zapytania... jak coś to zamieszczę pełny kod jest ktoś w stanie to rozgryźć ? -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Co mamy rozgryźć? Nie działa coś?
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
właśnie o to chodzi że chodzi, ale nie sortuje wg tej kategorii gatunek, po prostu wyrzuca wszystkie rekordy z bazy
tak sobie myślę, że może dałoby radę połączyć 2 zapytania w jedno ![]() [php:1:a77b33ccbc]<?php "SELECT * FROM filmy WHERE gatunek = '".$gatunek."'" and WHERE ID <= ".$from." AND ID > ".($from-$ile)." ORDER BY ID DESC"; ?>[/php:1:a77b33ccbc] istnieje jakaś taka możliwość połączenia tego ![]() -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
No ale w drugim zapytaniu nie ma mowy o gatunku - nie powinno być tak:
[php:1:67bff4b057]<?php $query = "SELECT * FROM filmy WHERE gatunek='".$gatunek."' AND ID <= ".$from." AND ID > ".($from-$ile)." ORDER BY ID DESC"; ?>[/php:1:67bff4b057] ? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 30.01.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Niewiem czy dobrze kombinuje ale sprawdz cos takiego to 2 zapytanie zmien na takie :
[php:1:15f7f487bc]<?php $query = "SELECT * FROM filmy WHERE ID <= ".$from." AND ID > ".($from-$ile)." AND gatunek='".$gatunek."' ORDER BY ID DESC"; $result = mysql_query($query); if(!$result){ print("Problem z bazÄ… danych."); exit; ?>[/php:1:15f7f487bc] [edit] ups spoźniełem się... -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
Something is wrong in your syntax obok 'AND ID > -14 ORDER BY ID DESC' w linii 1
-------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Już Ci kiedyś pisałem -> [manual:6c64fa6059]mysql_error[/manual:6c64fa6059] - naucz się tego stosować !!
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
[php:1:c9cec84b41]<?php
$query = "SELECT * FROM filmy WHERE gatunek='".$gatunek."' AND ID <= '".$from."' AND ID > '".($from-$ile)."' ORDER BY ID DESC"; ?>[/php:1:c9cec84b41] |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
to zmodyfikowane zapytanie mam umieścić jak zapytanie 2 a pierwsze usunac, czy w miejsce pierwszego a drugie usunac
aby nie było wątpliwości to jest cały kod, dodatkowa trudność że drugie zapytanie tworzy funkcję: [php:1:a2f3672a20]<?php $ile = 14; $gatunek = $_GET["gatunek"]; $link = mysql_connect("db.st.interia.pl", "cosik", "cosik"); $flag = mysql_select_db("cosik"); if(!$link || !$flag){ print(mysql_error()); print("Problem z poł±czeniem z baz± danych."); exit; } function readRecord($result) { $row = mysql_fetch_row($result); if(!$row){ $contents= ""; } else{ $contents = $row[1]."<BR>"; $contents .= $row[2]."<BR>"; $contents .= $row[3]."<BR>"; $contents .= $row[4]."<BR><BR>"; } return $contents; } function readId($from, $ile) { $query = "SELECT * FROM filmy WHERE gatunek='".$gatunek."' AND ID <= '".$from."' AND ID > '".($from-$ile)."' ORDER BY ID DESC"; $result = mysql_query($query) or die(mysql_error()); if(!$result){ print("Problem z bazÄ… danych."); exit; } do{ $record = readRecord($result); $contents .=$record; } while ($record <> ""); return $contents; } $query = "SELECT MAX(ID) FROM filmy"; $result = mysql_query($query); if (!$result){ print("Problem z baz± danych. Odrzucone zapytanie."); exit; } $row = mysql_fetch_row($result); if(!$row){ print("Problem z baz± danych. Odrzucone zapytanie."); exit; } $rek_no = $row[0]; $from = $_GET["from"]; if($from <= 0 || $from >= $rek_no){ $from = $rek_no; $prev = $rek_no; $next = $rek_no - $ile; } else{ $prev = $from + $ile; $next = $from - $ile; } if($imie == "" && $nazwisko == "" && $email == "" && $contents == ""){ $tempStr = readId($from, $ile); print($tempStr); } mysql_close($link); $code = "<A HREF="index.php?op=3&go=2&gatunek=komedia&from=$prev">Poprzednie</A> <A HREF="index.php?op=3&go=2&gatunek=komedia&from=$next">Następne</A>"; if($rek_no > $ile){ print("$code"); } ?>[/php:1:a2f3672a20] -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
No ja tam już nie widze tego pierwszego zapytania więc sobie zmieniłeś.
Żeby Ci odpowedzieć trzeba by znać ten pierwotny skrypt. Ale to nie jest takie trudne - jeżęli to pierwsze zapytanie nie jest Ci już do niczego potrzebne, to wywal je i wszystkie wywołania funkcji w której ono się pojawiało (o ile ta funkcja nie robi jeszcze czegoś) |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
kombinuję, zmieniam i nic... :x
pierwotny kod: [php:1:9e398d180d]<?php $ile = 14; $gatunek = $_GET["gatunek"]; $link = mysql_connect("db.st.interia.pl", "cosik", "cosik"); $flag = mysql_select_db("cosik"); if(!$link || !$flag){ print(mysql_error()); print("Problem z poł±czeniem z baz± danych."); exit; } $sql = "SELECT * FROM filmy WHERE gatunek = '".$gatunek."'"; $result = mysql_query($sql) or die(mysql_error()); function readRecord($result) { $row = mysql_fetch_row($result); if(!$row){ $contents= ""; } else{ $contents = $row[1]."<BR>"; $contents .= $row[2]."<BR>"; $contents .= $row[3]."<BR>"; $contents .= $row[4]."<BR><BR>"; } return $contents; } function readId($from, $ile) { $query = "SELECT * FROM filmy WHERE ID <= ".$from." AND ID > ".($from-$ile)." ORDER BY ID DESC"; $result = mysql_query($query); if(!$result){ print("Problem z bazÄ… danych."); exit; } do{ $record = readRecord($result); $contents .=$record; } while ($record <> ""); return $contents; } $query = "SELECT MAX(ID) FROM filmy"; $result = mysql_query($query); if (!$result){ print("Problem z baz± danych. Odrzucone zapytanie."); exit; } $row = mysql_fetch_row($result); if(!$row){ print("Problem z baz± danych. Odrzucone zapytanie."); exit; } $rek_no = $row[0]; $from = $_GET["from"]; if($from <= 0 || $from >= $rek_no){ $from = $rek_no; $prev = $rek_no; $next = $rek_no - $ile; } else{ $prev = $from + $ile; $next = $from - $ile; } if($imie == "" && $nazwisko == "" && $email == "" && $contents == ""){ $tempStr = readId($from, $ile); print($tempStr); } mysql_close($link); $code = "<A HREF="index.php?op=3&go=2&gatunek=komedia&from=$prev">Poprzednie</A> <A HREF="index.php?op=3&go=2&gatunek=komedia&from=$next">Następne</A>"; if($rek_no > $ile){ print("$code"); } ?>[/php:1:9e398d180d] -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nic nie mówię... ale zapytanie z linii 15 w ogóle nie gra żadnej roli w tym skrypcie
wynik tego zapytania przypisujesz zmiennej $result ale zanim cokolwiek z nią zrobisz , w linii 56 przypisujesz tej samej zmiennej nową wartość... Więc po co Ci w ogóle to zapytanie? Kod funkcji najlepiej zamieszczać na początku albo na końcu pliku (albo w ogóle w pliku z funkcjami) - tak jest czytelniej |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
powróciłem do starego kodu, który tak filtruje dane, że sortuje wyniki wg kategorii i zwraca filmy - o kategorii - komedia
[php:1:7d4ed4909e]<?php $gatunek = $_GET["gatunek"]; mysql_connect ("db.st.interia.pl", "cosik", "cosik") or die("Nie można połączyć się z bazą danych"); mysql_select_db ("cosik") or die("Nie można połączyć się z bazą danych"); $sql = "SELECT * FROM filmy WHERE gatunek = '".$gatunek."'"; $result = mysql_query($sql) or die(mysql_error()); print "<table border=0 cellpadding=0 cellspacing=5 class=outside1>"; print "<TR><td class=white1><div class=text><B>Tytuł</B></TD> <td class=white1><div class=text><B>Aktorzy</B></TD></TR>n"; while ($rekord = mysql_fetch_array ($result)) { $id = $rekord[0]; $tytul_pl = $rekord[1]; $tytul_ang = $rekord[2]; $dlugosc = $rekord[3]; $aktorzy = $rekord[5]; $recenzja = $rekord[7]; $gatunek = $rekord[10]; print "<TR><td class=white1><div class=text><a href="cos.php">".$tytul_pl."</a></TD><td class=white1><div class=text1>$aktorzy</TD></TR>n"; } print "</TABLE>"; ?>[/php:1:7d4ed4909e] teraz do niego chciałbym dołączyć kod o którem mowa była na początku, a więc aby było stronnicowanie + wyciąganie najnowszych wyników na samą górę dacie jakiś punkt zaczepienia ![]() -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Panie leniwiec, szukasz punktu zaczepienia?
:arrow: http://pl.php.net/manual/pl/ :arrow: http://www.mysql.com/doc/en Ale lepij być leniem i czekać az ktoś napisze. W tym czasie co siedzisz i produkujesz te posty byś 10 razy znalazł co chcesz. Nie znasz angielskiego? http://www.google.pl - poszukaj po polsku. Twoje tematy urastaja do gigantycznych rozmiarów, bo sie nie chce poszukać samemu - a tego nie cierpie. ![]() -------------------- |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
śmierdzi złośliwością ;(
-------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat śmierdzi złośliwością ;(
To nie śmierdzi złośliwościa. To JEST złośliwość. -------------------- |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 254 Pomógł: 0 Dołączył: 30.12.2003 Skąd: Strzegom Ostrzeżenie: (0%) ![]() ![]() |
wg mnie po to jest to forum, że jak już kompletnie nie mam pojęcia jak coś ugryżć to właśnie piszę tutaj, a jak ktoś nie chce to po prostu nie odpisuje; i niezdrowo jest oceniać ludzi swą miarą, iż im się nie chce nie stąd to płynie... a jeżeli post rozrasta się do niebotycznych rozmiarów to dobrze, znaczy że jest problem nad którym warto posiedzieć itd.
pozdrawiam zniechęcony thx wielkie -------------------- Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo gg1148730 |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
[b]Proszę się trzymać tematu wątku.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:20 |