| | |
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Autor | Správa |
---|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
Nazdarek. Skusam si spravit strankovanie pri spojovani 2 tabuliek. Vsetko funguje az do chvile, kym si do selectu nepridam podmienku. Potom mi to vyhodi len prvu stranku a dalsie uz nic... teda ak kliknem na dalsiu stranku, nic mi uz nezobrazi.
Tu je kod:
Kód: <?php $s=@mysql_connect("xxxxxxxxxxx");
if (!$s) { die("<b>ERR (".mysql_errno()."):</b> ".mysql_error()."<br>"); } $r=@mysql_select_db("xxxxx"); if (!$r) { die("<b>ERR (".mysql_errno()."):</b> ".mysql_error()."<br>"); }
// nastavenie riadkov pre zobrazenie $rowsPerPage = 4;
$pageNum = 1;
if(isset($_GET['page'])) { $pageNum = $_GET['page']; }
$offset = ($pageNum - 1) * $rowsPerPage;
$query = " select tabulka1.id, tabulka1.meno, tabulka1.mesto, tabulka2.id_uzivatela, tabulka2.nazov_albumu, tabulka2.id_albumu, tabulka2.datum from tabulka1 left join tabulka2 on tabulka1.id = tabulka2.id_uzivatela where (mesto='".$_POST["mesto"]."') LIMIT $offset, $rowsPerPage "; $result = mysql_query($query);
$riadkov = mysql_num_rows($result);
echo "Počet zobrazených uživateľov: $riadkov";
if ($result) {
echo "<table border=0 align=\"center\" CELLSPACING=\"5px\" CELLPADING=0 style='background-color: white'>"; echo "<tr>";
// Spracovanie a zobrazenie vysledku
while ($zaznam=MySQL_Fetch_Array($result)): if ($zaznam['nazov_albumu']!="") { $fotka=$zaznam['id_albumu']; $vyber="select ukazka from tabulka3 where id_albumu='$fotka' "; $vysledok=mysql_query($vyber); $ukaz=MySQL_Fetch_Array($vysledok);
if($i%4==0) echo "</tr><tr>"; echo " <td width=\"135\" style='FONT-SIZE: 10px; COLOR: white; FONT-FAMILY: Palatino, Verdana, Arial; align: left; border: black 2px solid; background-color: #333333'> <b>Užívateľ:</b> {$zaznam['meno']}</br></br> <img src=\"./picture/{$ukaz['ukazka']}\" width=\"135\" align=\"center\" style='border: black 1px solid'></br> <b>Pohlavie:</b> {$zaznam['mesto]}</br> <b>Album:</b> {$zaznam['nazov_albumu']}</br> <b>Pridané:</b> {$zaznam['datum']}</br></td>";
$i++;
}
else {
if($i%4==0) echo "</tr><tr>"; echo " <td width=\"135\" style='FONT-SIZE: 10px; COLOR: white; FONT-FAMILY: Palatino, Verdana, Arial; align: left; border: black 2px solid; background-color: #333333'> <b>Užívateľ:</b> {$zaznam['meno']}</br> <img src=\"./picture/fantom.jpg\" width=\"135\" align=\"center\" style='border: black 1px solid'></br></br> <b>Mesto:</b> {$zaznam['mesto']}</br></td>"; $i++; } // Ukoncene spracovanie a zobrazenie endwhile; echo "</tr>"; echo "</table>";
};
// nastavenie riadkov/strankovania po vybere z DB
$query = "SELECT COUNT(id_albumu) AS numrows FROM tabulka2"; $result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC); $numrows = $row['numrows'];
$maxPage = ceil($numrows/$rowsPerPage);
$nav = ''; for($page = 1; $page <= $maxPage; $page++) { if ($page == $pageNum) { $nav .= " $page "; } else { $nav .= " <a href=\"login.php?site=strankovanie&page=$page\">$page</a> "; } }
if ($pageNum > 1) { $page = $pageNum - 1; $prev = " <a href=\"login.php?site=strankovanie&page=$page\">[Prev]</a> "; $first = " <a href=\"login.php?site=strankovanie&page=1\">[First Page]</a> "; } else { $prev = ' '; $first = ' '; }
if ($pageNum < $maxPage) { $page = $pageNum + 1; $next = " <a href=\"login.php?site=strankovanie&page=$page\">[Next]</a> "; $last = " <a href=\"login.php?site=strankovanie&page=$maxPage\">[Last Page]</a> "; } else { $next = ' '; $last = ' '; }
// zobrazenie strankovania echo $first . $prev . $nav . $next . $last;
?>
Neviete mi s tym niekto pomoct ako to spravit aby mi to zobralo aj tu podmienku mesto='".$_POST["mesto"]."' ?? Lebo uz som fakt z toho na nervy..
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
pokiaľ ti ide len o to, tak si daj $mesto = $_POST['mesto']; a v sql daj už len : WHERE mesto='$mesto'
_________________ C#, PHP, ... |
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
no mne tu podmienku berie... na prvej strane mi zobrazi spravny vysledok..No na dalsich strankach mi uz nezobrazi nic... O to mi ide.. ze ak mam nastavene napr. $rowsPerPage = 4 a vysledkov je do kopy 16, tak nech mi na kazdej stranke zobrazi po 4 vysledky ..nie len na prvej..Ako mi to robi teraz...
|
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
No tak trocha sa mi podarilo specifikovat problem. Totiz, ak som si nadefinoval $mesto napr. na $mesto ="bratislava" tak to islo. Problem nastava ak chcem aby mi tu hodnotu bralo po odoslani z formulara..teda pri pouziti Kód: if ($_POST["vyhladat"]) { ...kod...} . A neviem ako to odstranit. Normalne mi zobrazi na prvej stranke vysledok podla $offset, $rowsPerPage , no ako nahle kliknem na na druhu stranku (alebo Next page, Last page a pod.) tak mi uz nezobrazi nic.. Len biele pozadie...
Please..poradte mi niekto ako to spravne zapisat, aby mi to bralo udaje z formulara...a vsetko fungovalo..
|
|
Registrovaný: 20.10.08 Prihlásený: 21.06.22 Príspevky: 2602 Témy: 31 Bydlisko: Bratislava |
$offset ma byt:
$offset = $pageNum;
_________________ Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB |
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
No aj ked som prepisal $offset = $pageNum; stale mi to na dalsej stranke nezobrazi ziadny vysledok... V com je problem...??? Naozaj mi nikto nevie pomôct??
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
Hľadal som problém všade a potom som si ho všimol - teda dúfam ... ty ten POST["mesto"] neposielaš ďalej .. aby si ma rozumel ... tebe z 1 stránky príde ty vyhodnotíš a vypíšeš 4 riadky ... keď uživateľ klikne ďalej (NEXT) .. tak ďalej posielaš iba údaje:
GET - site=strankovanie
GET - page=$page
ale nie POST mesto ...
Riešenie: musíš urobiť ešte jednu podmienku kde budeš vyhodnocovať či je POST["mesto"] prázde [ak] nie tak premenná xy sa rovná hodnote z POST A zapíš do napr. do session [INAK] zober premennú zo SESSION a jej hodnotu zapíš ho premennnej xy ... následne v podmienke dáš WHERE Mesto = '$xy'
|
|
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|