| | |
Autor | Správa |
---|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 |
zdravim...viem ze tem o strankovani je tu plno, ale neviem ho vhodne doplnit do mojej knihy navstev...prikladam skript, chcem dosiahnut to ze po 10 pridaniach prispevkov mi ostatne bude davat do novych(1,2,3) teda odkazov...,uplne najjednoduchsie... prosim poradte neviem si rady
Kód: <?php // -- Připojení k databázi a správné nastavení češtiny --
// Připojení k databázi. $db_spojenie = mysqli_connect ('server', 'username', 'pass', 'databaza'); // Otestování, zda se připojení podařilo. if (!$db_spojenie) { echo 'Připojení se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_connect_error(); exit(); }
// Správné nastavení češtiny. $objekt_vysledku = mysqli_query($db_spojenie, "SET NAMES 'cp1250'"); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_error($db_spojenie); exit(); }
// -- Vlož nový zápis, pokud byl odeslán formulářem --
// Test, jestli přišla data z formuláře. if (isset($_POST['sprava'])) { // Vytvoření SQL příkazu typu INSERT. $sql_prikaz = "INSERT INTO kniha_navstev(datum,meno,email,zapis) " ."VALUES(NOW(),'" .mysqli_real_escape_string($db_spojenie,$_POST['meno']) ."','" .mysqli_real_escape_string($db_spojenie,$_POST['email']) ."','" .mysqli_real_escape_string($db_spojenie,$_POST['sprava']) ."')" ;
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysqli_query($db_spojenie, $sql_prikaz); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_error($db_spojenie); exit(); } echo 'Nový zápis do knihy návštev pridaný.<br />'; }
// -- Vypiš všechny zápisy v knize návštěv --
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysqli_query($db_spojenie, 'SELECT * FROM kniha_navstev order by datum DESC'); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_error($db_spojenie); exit(); }
// Zobrazení všech vrácených dat. while ($riadok = mysqli_fetch_array($objekt_vysledku)) { echo '<hr />'; echo 'Dátum a čas: ',$riadok['datum'],'<br />'; echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />'; echo 'Zápis: ',$riadok['zapis'],'<br />'; echo '<br />'; } echo '<hr />';
// -- Odpojení od databáze --
// Zavření objektu výsledku, protože už ho nebudeme používat. mysqli_free_result($objekt_vysledku); // Odpojení od databáze. if ($db_spojenie) mysqli_close($db_spojenie); ?>
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 21.02.2009 9:56 | |
|
cez toto strankovanie som to skusil implementovat ale neslo to
Kód: //samotné stránkovanie $query="SELECT * FROM kniha_navstev ORDER BY id"; $result=mysql_query($query, $link) or die ("Spojenie s databázou bolo neúspešné"); $num=mysql_num_rows($result); //$ctrl je pomocná premenná if ($ctrl1<>1) { $strana=1; }//endif $limit=20; $celkovy_pocet=$num; $pocet_stran=ceil($celkovy_pocet/$limit); $pociatok=($strana*$limit)-$limit; for ($i=1; $i<=$pocet_stran; $i++) { if ($i<>$strana) { echo "<a href=\"index.php?ctrl=1&strana=",$i,"\">",$i,"</a> | "; } else { echo "<font color=\"#FF0000\">",$i,"</font> | "; }//endif }//endfor if ($strana<>$pocet_stran) { echo "<a href=\"index.php?ctrl=1&strana=",$strana+1,"\">nasledujúca strana</a>"; }//endif echo "</p>"; //výpis danej množiny prvkov $query="SELECT * FROM kniha_navstev ORDER BY id DESC LIMIT $pociatok, $limit"; $result=mysql_query($query, $link) or die ("Spojenie s databázou bolo neúspešné"); $num=mysql_num_rows($result); while ($row=mysql_fetch_array($result)) { echo "<p><i>",$row["text"],"</i></p> "; }//end while mysql_free_result($result); ?> </body> </html>
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 21.02.2009 10:12 | |
|
dobre, a staci ked to zaradim do mojho skriptu na koniec...ci musim vnorovat funkcie priamo donho...nejako takto
Kód: // Připojení k databázi. $db_spojenie = mysqli_connect ('server', 'user', 'pass', 'tabulka'); // Otestování, zda se připojení podařilo. if (!$db_spojenie) { echo 'Připojení se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_connect_error(); exit(); }
// Správné nastavení češtiny. $objekt_vysledku = mysqli_query($db_spojenie, "SET NAMES 'cp1250'"); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_error($db_spojenie); exit(); }
// -- Vlož nový zápis, pokud byl odeslán formulářem --
// Test, jestli přišla data z formuláře. if (isset($_POST['sprava'])) { // Vytvoření SQL příkazu typu INSERT. $sql_prikaz = "INSERT INTO kniha_navstev(datum,meno,email,zapis) " ."VALUES(NOW(),'" .mysqli_real_escape_string($db_spojenie,$_POST['meno']) ."','" .mysqli_real_escape_string($db_spojenie,$_POST['email']) ."','" .mysqli_real_escape_string($db_spojenie,$_POST['sprava']) ."')" ;
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysqli_query($db_spojenie, $sql_prikaz); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_error($db_spojenie); exit(); } echo 'Nový zápis do knihy návštev pridaný.<br />'; }
// -- Vypiš všechny zápisy v knize návštěv --
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysqli_query($db_spojenie, 'SELECT * FROM kniha_navstev order by datum DESC'); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_error($db_spojenie); exit(); }
// Zobrazení všech vrácených dat. while ($riadok = mysqli_fetch_array($objekt_vysledku)) { echo '<hr />'; echo 'Dátum a čas: ',$riadok['datum'],'<br />'; echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />'; echo 'Zápis: ',$riadok['zapis'],'<br />'; echo '<br />'; }
function pagination($numRows, $rowsPerPage, $maxPages=15) { global $page, $numPages;
$ret = "";
if($numPages>0) { if(!isset($page)) { $page = 1; //cislo aktivnej stranky (default=1) } $from = 1; //cislo stranky, od ktoreho sa zacina strankovanie $to = $numPages; //cislo stranky, kde strankovanie konci $padd_a = ceil($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani $padd_b = floor($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani //vypocitanie prveho a posledneho cisla stranky v strankovani (pre potreby for cyklu) if($page >= $maxPages) { $from = $page - $maxPages + $padd_a; $to = $from + $maxPages - 1; if($page == $numPages || $page + $padd_b >= $numPages) { $to = $numPages; $from = $to - $maxPages + 1; } } //odkaz na prvu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,1).'"><<</a>' : '<<').' '; //odkaz na predoslu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,$page-1).'"><</a>' : '<').' '; //strankovanie for($i = $from; $i <= $to; $i++) { if(--$maxPages >= 0) { if($page == $i) { $ret .= $i; //aktivna stranka } else { $ret .= '<a href="'.generateURL(PAGEVAR,$i).'">'.$i.'</a>'; //ostatne stranky } $ret .= DELIMITER; } else { break; } } //odstranenie oddelovaca za poslednou strankou $ret = substr($ret,0,-strlen(DELIMITER)).' '; //odkaz na nasledujucu stranku $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$page+1).'">></a>' : '>').' '; //odkaz na poslednu stranku $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$numPages).'">>></a>' : '>>'); return $ret; } return false; } ?>
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 21.02.2009 15:33 | |
|
databaza ide aj pridavanie prispevkov a ked pridam 5 prispevkov na stranku dalej sa vytvori odkaz na dalsiu ale prispevky stale pridava na prvu a po kliknuti mi ukaze len Error 404 - Not Found
The requested URL /index.php was not found on this server.
Požadovaná stránka /index.php nebyla nalezena.
stranku si mozete pozriet http://www.infinity.yw.sk/kniha_navstev.php
Kód: <? $dbServer = " "; $dbUser = " "; $dbPassword = " "; $dbName = " "; $link=mysql_pconnect ($dbServer,$dbUser,$dbPassword) or die ("Spojenie neúspešné."); $db = mysql_select_db($dbName, $link) or die ("Nepodarilo sa otvoriť databázu.");
$query="SELECT * FROM kniha_navstev ORDER BY datum"; $result=mysql_query($query, $link) or die ("Spojenie s databázou bolo neúspešné"); $num=mysql_num_rows($result); //$ctrl je pomocná premenná
if ($ctrl1<>1) { $strana=1; }//endif $limit=5; $celkovy_pocet=$num; $pocet_stran=ceil($celkovy_pocet/$limit); $pociatok=($strana*$limit)-$limit; for ($i=1; $i<=$pocet_stran; $i++) { if ($i<>$strana) { echo "<a href=\"index.php?ctrl=1&strana=",$i,"\">",$i,"</a> | "; } else { echo "<font color=\"#FF0000\">",$i,"</font> | "; }//endif }//endfor if ($strana<>$pocet_stran) { echo "<a href=\"index.php?ctrl=1&strana=",$strana+1,"\">nasledujúca strana</a>"; }//endif echo "</p>"; // -- Připojení k databázi a správné nastavení češtiny --
// Připojení k databázi. $db_spojenie = mysqli_connect ('server', 'user', 'heslo', 'tabulka'); // Otestování, zda se připojení podařilo. if (!$db_spojenie) { echo 'Připojení se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_connect_error(); exit(); }
// Správné nastavení češtiny. $objekt_vysledku = mysqli_query($db_spojenie, "SET NAMES 'cp1250'"); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_error($db_spojenie); exit(); }
// -- Vlož nový zápis, pokud byl odeslán formulářem --
// Test, jestli přišla data z formuláře. if (isset($_POST['sprava'])) { // Vytvoření SQL příkazu typu INSERT. $sql_prikaz = "INSERT INTO kniha_navstev(datum,meno,email,zapis) " ."VALUES(NOW(),'" .mysqli_real_escape_string($db_spojenie,$_POST['meno']) ."','" .mysqli_real_escape_string($db_spojenie,$_POST['email']) ."','" .mysqli_real_escape_string($db_spojenie,$_POST['sprava']) ."')" ;
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysqli_query($db_spojenie, $sql_prikaz); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_error($db_spojenie); exit(); } echo 'Nový zápis do knihy návštev pridaný.<br />'; }
// -- Vypiš všechny zápisy v knize návštěv --
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysqli_query($db_spojenie, 'SELECT * FROM kniha_navstev order by datum DESC'); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_error($db_spojenie); exit(); }
// Zobrazení všech vrácených dat. while ($riadok = mysqli_fetch_array($objekt_vysledku)) { echo '<hr />'; echo 'Dátum a čas: ',$riadok['datum'],'<br />'; echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />'; echo 'Zápis: ',$riadok['zapis'],'<br />'; echo '<br />'; } ?> </body> </html>
<form name="kniha" action="" method="post"> <b>Meno:</b><br /> <input name="meno" size="40"><br /> <br /> <b>Mail:</b><br /> <input name="email" size="40"><br /> <br /> <b>Správa:</b><br /> <textarea name="sprava" rows="5" cols="30"></textarea><br /> <br /> <input type="submit" value="Odoslať správu"> </form> </body> </html>
</body> </html>
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
namiesto index.php si daj kniha_navstev.php a pozri si poriadne, ako sa funkcia pagination pouziva...
do buducna ta este poprosim nezverejnovat skripty z temy Uzitocne a casto pouzivane skripty na inych forach bez uvedenia zdroja pripadne autora...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 21.02.2009 22:01 | |
|
prepac to som si ani neuvedomil...v tomto druhom skripte co sa pokusam vnorit do mojej knihy navstev pagination nie je, doplnil som limit ale Kód: $query="SELECT * FROM kniha_navstev order by datum DESC limit $pociatok, $limit"; $result=mysql_query($query, $link) or die ("Spojenie s databázou bolo neúspešné"); $num=mysql_num_rows($result); //$ctrl je pomocná premenná skusil som to takto ale pise ze spojenie bolo neuspesne [/code]
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
Vyskusaj tento skript (cisto len vypis prispevkov a strankovanie), dopln si tam potrebne funkcie a pripojenie k db... skusal som to u seba a ide to v pohode...
Kód: <?php //funkcia generateURL() //funkcia pagination() //pripojenie k db
define("PAGEVAR", "page"); //nazov parametra v GET, kde sa uchovava cislo stranky define("DELIMITER", " | "); //oddelovac cisiel stranok $page = 1; //cislo aktivnej stranky (default=1)
$rowsPerPage = 10; $maxPages = 9;
$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev")); $numRows = $res['pocet'];
$numPages = ceil($numRows/$rowsPerPage); //pocet stranok v strankovani
if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) { $page = $_GET[PAGEVAR]; }
$offset = ($page - 1) * $rowsPerPage;
$sql = "SELECT * FROM kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage"; $res = mysql_query($sql); if($res!==false) { while($riadok = mysql_fetch_row($res)) { echo $riadok['zapis']."<br>"; } }
echo pagination($numRows, $rowsPerPage, $maxPages); ?>
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 21.02.2009 23:02 | |
|
skontrolujes pls ci som aspon tie funkcie dobre skopcil:
Kód: <?php string generateURL(){ $GET = $_GET; $QUERY_STRING = ''; $SCRIPT_NAME = substr(strrchr($_SERVER["SCRIPT_NAME"],"/"),1); $num_args = func_num_args(); if($num_args>0 && $num_args%2==0) { $args = func_get_args(); foreach($args as $index => $paramName) { $paramName = trim($paramName); if($index%2==0 && !empty($paramName)) { $paramValue = trim($args[$index+1]); if(array_key_exists($paramName, $GET) && empty($paramValue)) { unset($GET[$paramName]); } elseif(!empty($paramValue)) { $GET[$paramName] = $paramValue; } } } } foreach($GET as $param => $value) { $QUERY_STRING .= $param."=".$value."&"; } return $SCRIPT_NAME.((empty($QUERY_STRING)) ? '' : "?".substr($QUERY_STRING,0,-5)); } string pagination($numRows, $rowsPerPage, $maxPages=15) { global $page, $numPages;
$ret = "";
if($numPages>0) { $page = 1; //cislo aktivnej stranky (default=1) $from = 1; //cislo stranky, od ktoreho sa zacina strankovanie $to = $numPages; //cislo stranky, kde strankovanie konci $padd_a = ceil($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani $padd_b = floor($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani //vypocitanie prveho a posledneho cisla stranky v strankovani (pre potreby for cyklu) if($page >= $maxPages) { $from = $page - $maxPages + $padd_a; $to = $from + $maxPages - 1; if($page == $numPages || $page + $padd_b >= $numPages) { $to = $numPages; $from = $to - $maxPages + 1; } } //odkaz na prvu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,1).'"><<</a>' : '<<').' '; //odkaz na predoslu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,$page-1).'"><</a>' : '<').' '; //strankovanie for($i = $from; $i <= $to; $i++) { if(--$maxPages >= 0) { if($page == $i) { $ret .= $i; //aktivna stranka } else { $ret .= '<a href="'.generateURL(PAGEVAR,$i).'">'.$i.'</a>'; //ostatne stranky } $ret .= DELIMITER; } else { break; } } //odstranenie oddelovaca za poslednou strankou $ret = substr($ret,0,-strlen(DELIMITER)).' '; //odkaz na nasledujucu stranku $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$page+1).'">></a>' : '>').' '; //odkaz na poslednu stranku $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$numPages).'">>></a>' : '>>'); return $ret; } return false; } $db_spojenie = mysqli_connect ('server', 'user', 'pass', 'table');
define("PAGEVAR", "page"); //nazov parametra v GET, kde sa uchovava cislo stranky define("DELIMITER", " | "); //oddelovac cisiel stranok $page = 1; //cislo aktivnej stranky (default=1)
$rowsPerPage = 10; $maxPages = 9;
$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev")); $numRows = $res['pocet'];
$numPages = ceil($numRows/$rowsPerPage); //pocet stranok v strankovani
if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) { $page = $_GET[PAGEVAR]; }
$offset = ($page - 1) * $rowsPerPage;
$sql = "SELECT * FROM kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage"; $res = mysql_query($sql); if($res!==false) { while($riadok = mysql_fetch_row($res)) { echo $riadok['zapis']."<br>"; } }
echo pagination($numRows, $rowsPerPage, $maxPages); ?>
[/code]
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
preco si dal namiesto "function" string? pripajas sa cez mysqli a potom pouzivas mysql
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 21.02.2009 23:14 | |
|
stenley píše: preco si dal namiesto "function" string? pripajas sa cez mysqli a potom pouzivas mysql aha no ja som z tych uzitocnych skriptov skusal ze ked mi neslo s function tak som skusil string...mysqli som uz zmenil, Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/free/yw.sk/i/infinity/root/www/kniha_navstev.php on line 102 to je tento riadok
Kód: $res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev"));
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
sql je v pohode, takze nie si pripojeny k db...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 21.02.2009 23:32 | |
|
stenley píše: sql je v pohode, takze nie si pripojeny k db... myslim ze hej aj udaje mam dobre zadane(samozrejme neuvadzam)
Kód: $db_spojenie = mysql_connect ('server', 'user', 'pass', 'table'); if (!$db_spojenie) { echo 'Připojení se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysqli_connect_error(); exit(); }
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
to "table" je akoze co? a vyber aktivnej db mas kde?
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 22.02.2009 9:06 | |
|
Ach, nemozes miesat jedno z druhym... pouzivaj vsade len mysqli_* alebo len mysql_* funkcie. Nie jedno aj druhe dokopy. Trosku sa lisi aj zapis tychto funkcii, napriklad ak pouzivas mysql, databazu vyberas pomocou mysql_select_db() a nie pomocou 4. parametra ako v pripade mysqli.
|
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 22.02.2009 10:06 | |
|
stenley píše: to "table" je akoze co? a vyber aktivnej db mas kde? na miesto table uvadzam nazov databazy len tu som sa pomylil a naznacil ze je to tabulka Ďuri píše: Ach, nemozes miesat jedno z druhym... pouzivaj vsade len mysqli_* alebo len mysql_* funkcie. Nie jedno aj druhe dokopy. Trosku sa lisi aj zapis tychto funkcii, napriklad ak pouzivas mysql, databazu vyberas pomocou mysql_select_db() a nie pomocou 4. parametra ako v pripade mysqli. ano viem uz ma na to stenley upozornoval a ja som to zas zle napisal, kazdopadne dole uvedene varovanie ci chybu mi stale vypisuje
tak takto som sa to pokusil spojit,
funkcia generate url
funkcia pagination
pripojenie k db
a samotny vypis
Kód: <?php function generateURL(){ $GET = $_GET; $QUERY_STRING = ''; $SCRIPT_NAME = substr(strrchr($_SERVER["SCRIPT_NAME"],"/"),1); $num_args = func_num_args(); if($num_args>0 && $num_args%2==0) { $args = func_get_args(); foreach($args as $index => $paramName) { $paramName = trim($paramName); if($index%2==0 && !empty($paramName)) { $paramValue = trim($args[$index+1]); if(array_key_exists($paramName, $GET) && empty($paramValue)) { unset($GET[$paramName]); } elseif(!empty($paramValue)) { $GET[$paramName] = $paramValue; } } } } foreach($GET as $param => $value) { $QUERY_STRING .= $param."=".$value."&"; } return $SCRIPT_NAME.((empty($QUERY_STRING)) ? '' : "?".substr($QUERY_STRING,0,-5)); } function pagination($numRows, $rowsPerPage, $maxPages=15) { global $page, $numPages;
$ret = "";
if($numPages>0) { $page = 1; //cislo aktivnej stranky (default=1) $from = 1; //cislo stranky, od ktoreho sa zacina strankovanie $to = $numPages; //cislo stranky, kde strankovanie konci $padd_a = ceil($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani $padd_b = floor($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani //vypocitanie prveho a posledneho cisla stranky v strankovani (pre potreby for cyklu) if($page >= $maxPages) { $from = $page - $maxPages + $padd_a; $to = $from + $maxPages - 1; if($page == $numPages || $page + $padd_b >= $numPages) { $to = $numPages; $from = $to - $maxPages + 1; } } //odkaz na prvu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,1).'"><<</a>' : '<<').' '; //odkaz na predoslu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,$page-1).'"><</a>' : '<').' '; //strankovanie for($i = $from; $i <= $to; $i++) { if(--$maxPages >= 0) { if($page == $i) { $ret .= $i; //aktivna stranka } else { $ret .= '<a href="'.generateURL(PAGEVAR,$i).'">'.$i.'</a>'; //ostatne stranky } $ret .= DELIMITER; } else { break; } } //odstranenie oddelovaca za poslednou strankou $ret = substr($ret,0,-strlen(DELIMITER)).' '; //odkaz na nasledujucu stranku $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$page+1).'">></a>' : '>').' '; //odkaz na poslednu stranku $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$numPages).'">>></a>' : '>>'); return $ret; } return false; } $db_spojenie = mysql_connect ('mysql.ic.cz', 'user', 'heslo', 'databaza'); if (!$db_spojenie) { echo 'Připojení se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_connect_error(); exit(); }
define("PAGEVAR", "page"); //nazov parametra v GET, kde sa uchovava cislo stranky define("DELIMITER", " | "); //oddelovac cisiel stranok $page = 1; //cislo aktivnej stranky (default=1)
$rowsPerPage = 10; $maxPages = 9;
$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev")); $numRows = $res['pocet'];
$numPages = ceil($numRows/$rowsPerPage); //pocet stranok v strankovani
if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) { $page = $_GET[PAGEVAR]; }
$offset = ($page - 1) * $rowsPerPage;
$sql = "SELECT * FROM kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage"; $res = mysql_query($sql); if($res!==false) { while($riadok = mysql_fetch_row($res)) { echo $riadok['zapis']."<br>"; } }
echo pagination($numRows, $rowsPerPage, $maxPages);
// Správné nastavení češtiny. $objekt_vysledku = mysql_query($db_spojenie, "SET NAMES 'cp1250'"); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); }
// -- Vlož nový zápis, pokud byl odeslán formulářem --
// Test, jestli přišla data z formuláře. if (isset($_POST['sprava'])) { // Vytvoření SQL příkazu typu INSERT. $sql_prikaz = "INSERT INTO kniha_navstev(datum,meno,email,zapis) " ."VALUES(NOW(),'" .mysql_real_escape_string($db_spojenie,$_POST['meno']) ."','" .mysql_real_escape_string($db_spojenie,$_POST['email']) ."','" .mysql_real_escape_string($db_spojenie,$_POST['sprava']) ."')" ;
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysql_query($db_spojenie, $sql_prikaz); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); } echo 'Nový zápis do knihy návštev pridaný.<br />'; }
// -- Vypiš všechny zápisy v knize návštěv --
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysql_query($db_spojenie, 'SELECT * FROM kniha_navstev order by datum DESC'); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); }
// Zobrazení všech vrácených dat. while ($riadok = mysql_fetch_array($objekt_vysledku)) { echo '<hr />'; echo 'Dátum a čas: ',$riadok['datum'],'<br />'; echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />'; echo 'Zápis: ',$riadok['zapis'],'<br />'; echo '<br />'; } ?>
<form name="kniha" action="" method="post"> <b>Meno:</b><br /> <input name="meno" size="40"><br /> <br /> <b>Mail:</b><br /> <input name="email" size="40"><br /> <br /> <b>Správa:</b><br /> <textarea name="sprava" rows="5" cols="30"></textarea><br /> <br /> <input type="submit" value="Odoslať správu"> </form>
tu su chybicky
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/free/yw.sk/i/infinity/root/www/kniha_navstev.php on line 109
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/free/yw.sk/i/infinity/root/www/kniha_navstev.php on line 131 PoslĂĄnĂSQL pĹĂkazu se nepodaĹilo, sorry Popis chyby: No database selected
//edituj si prispevky, lebo to bude povazovane za posthunting! (stenley)
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
uz som ti to pisal aj ja a aj Duri, bud pouzivas syntax mysql_* alebo mysqli_*. Pozri si poriadne, ako sa pracuje s mysql_connect, 4. parameter nie je nazov databazy! ta sa voli cez mysql_select_db()
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 22.02.2009 12:18 | |
|
stenley píše: uz som ti to pisal aj ja a aj Duri, bud pouzivas syntax mysql_* alebo mysqli_*. Pozri si poriadne, ako sa pracuje s mysql_connect, 4. parameter nie je nazov databazy! ta sa voli cez mysql_select_db() tak som zmenil to pripojenie k db...len teraz neviem ako mam nahradit premennu $db_spojenie v skripte kedze ju uz nemam zadanu Kód: <?php function generateURL(){ $GET = $_GET; $QUERY_STRING = ''; $SCRIPT_NAME = substr(strrchr($_SERVER["SCRIPT_NAME"],"/"),1); $num_args = func_num_args(); if($num_args>0 && $num_args%2==0) { $args = func_get_args(); foreach($args as $index => $paramName) { $paramName = trim($paramName); if($index%2==0 && !empty($paramName)) { $paramValue = trim($args[$index+1]); if(array_key_exists($paramName, $GET) && empty($paramValue)) { unset($GET[$paramName]); } elseif(!empty($paramValue)) { $GET[$paramName] = $paramValue; } } } } foreach($GET as $param => $value) { $QUERY_STRING .= $param."=".$value."&"; } return $SCRIPT_NAME.((empty($QUERY_STRING)) ? '' : "?".substr($QUERY_STRING,0,-5)); } function pagination($numRows, $rowsPerPage, $maxPages=15) { global $page, $numPages;
$ret = "";
if($numPages>0) { $page = 1; //cislo aktivnej stranky (default=1) $from = 1; //cislo stranky, od ktoreho sa zacina strankovanie $to = $numPages; //cislo stranky, kde strankovanie konci $padd_a = ceil($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani $padd_b = floor($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani //vypocitanie prveho a posledneho cisla stranky v strankovani (pre potreby for cyklu) if($page >= $maxPages) { $from = $page - $maxPages + $padd_a; $to = $from + $maxPages - 1; if($page == $numPages || $page + $padd_b >= $numPages) { $to = $numPages; $from = $to - $maxPages + 1; } } //odkaz na prvu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,1).'"><<</a>' : '<<').' '; //odkaz na predoslu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,$page-1).'"><</a>' : '<').' '; //strankovanie for($i = $from; $i <= $to; $i++) { if(--$maxPages >= 0) { if($page == $i) { $ret .= $i; //aktivna stranka } else { $ret .= '<a href="'.generateURL(PAGEVAR,$i).'">'.$i.'</a>'; //ostatne stranky } $ret .= DELIMITER; } else { break; } } //odstranenie oddelovaca za poslednou strankou $ret = substr($ret,0,-strlen(DELIMITER)).' '; //odkaz na nasledujucu stranku $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$page+1).'">></a>' : '>').' '; //odkaz na poslednu stranku $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$numPages).'">>></a>' : '>>'); return $ret; } return false; }
mysql_connect("mysql.ic.cz", "uzivatel", "heslo"); mysql_select_db("databaza");
define("PAGEVAR", "page"); //nazov parametra v GET, kde sa uchovava cislo stranky define("DELIMITER", " | "); //oddelovac cisiel stranok $page = 1; //cislo aktivnej stranky (default=1)
$rowsPerPage = 10; $maxPages = 9;
$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev")); $numRows = $res['pocet'];
$numPages = ceil($numRows/$rowsPerPage); //pocet stranok v strankovani
if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) { $page = $_GET[PAGEVAR]; }
$offset = ($page - 1) * $rowsPerPage;
$sql = "SELECT * FROM kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage"; $res = mysql_query($sql); if($res!==false) { while($riadok = mysql_fetch_row($res)) { echo $riadok['zapis']."<br>"; } }
echo pagination($numRows, $rowsPerPage, $maxPages);
// Správné nastavení češtiny. $objekt_vysledku = mysql_query($db_spojenie, "SET NAMES 'cp1250'"); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); }
// -- Vlož nový zápis, pokud byl odeslán formulářem --
// Test, jestli přišla data z formuláře. if (isset($_POST['sprava'])) { // Vytvoření SQL příkazu typu INSERT. $sql_prikaz = "INSERT INTO kniha_navstev(datum,meno,email,zapis) " ."VALUES(NOW(),'" .mysql_real_escape_string($db_spojenie,$_POST['meno']) ."','" .mysql_real_escape_string($db_spojenie,$_POST['email']) ."','" .mysql_real_escape_string($db_spojenie,$_POST['sprava']) ."')" ;
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysql_query($db_spojenie, $sql_prikaz); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); } echo 'Nový zápis do knihy návštev pridaný.<br />'; }
// -- Vypiš všechny zápisy v knize návštěv --
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysql_query($db_spojenie, 'SELECT * FROM kniha_navstev order by datum DESC'); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); }
// Zobrazení všech vrácených dat. while ($riadok = mysql_fetch_array($objekt_vysledku)) { echo '<hr />'; echo 'Dátum a čas: ',$riadok['datum'],'<br />'; echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />'; echo 'Zápis: ',$riadok['zapis'],'<br />'; echo '<br />'; } ?>
<form name="kniha" action="" method="post"> <b>Meno:</b><br /> <input name="meno" size="40"><br /> <br /> <b>Mail:</b><br /> <input name="email" size="40"><br /> <br /> <b>Správa:</b><br /> <textarea name="sprava" rows="5" cols="30"></textarea><br /> <br /> <input type="submit" value="Odoslať správu"> </form>
http://www.infinity.yw.sk/kniha_navstev.php
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 22.02.2009 12:24 | |
|
Pokial by si pouzival mysqli_query, je syntax takato:
Kód: mysqli_query($objekt_pripojenia, $sql_dotaz) Ty ale pouzivas mysql_query, tam su parametre naopak: Kód: mysql_query($sql_dotaz, $objekt_pripojenia) Tak si to musis vsade prehodit. A taktiez aj Kód: mysql_connect("mysql.ic.cz", "uzivatel", "heslo"); nahrad s Kód: $db_spojenie = mysql_connect("mysql.ic.cz", "uzivatel", "heslo");
Lebo vidim, ze objekt $db_spojenie sa snazis pouzivat, ale nikde si ho nedefinoval.
|
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 22.02.2009 12:41 | |
|
dotazy som prehodil, db spojenie doplnil..dik uz aj volaco vykreslilo len stale je problem ze nevypise dany limit na jednu a potom nedoplna http://www.infinity.yw.sk/kniha_navstev.php
//cast skriptu bez pagination a generate url
Kód: $db_spojenie = mysql_connect("mysql.ic.cz", "user", "heslo"); mysql_select_db("databaza");
define("PAGEVAR", "page"); //nazov parametra v GET, kde sa uchovava cislo stranky define("DELIMITER", " | "); //oddelovac cisiel stranok $page = 1; //cislo aktivnej stranky (default=1)
$rowsPerPage = 10; $maxPages = 9;
$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev")); $numRows = $res['pocet'];
$numPages = ceil($numRows/$rowsPerPage); //pocet stranok v strankovani
if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) { $page = $_GET[PAGEVAR]; }
$offset = ($page - 1) * $rowsPerPage;
$sql = "SELECT * FROM kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage"; $res = mysql_query($sql); if($res!==false) { while($riadok = mysql_fetch_row($res)) { echo $riadok['zapis']."<br>"; } }
echo pagination($numRows, $rowsPerPage, $maxPages);
// Správné nastavení češtiny. $objekt_vysledku = mysql_query("SET NAMES 'cp1250'", $db_spojenie); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); }
// -- Vlož nový zápis, pokud byl odeslán formulářem --
// Test, jestli přišla data z formuláře. if (isset($_POST['sprava'])) { // Vytvoření SQL příkazu typu INSERT. $sql_prikaz = "INSERT INTO kniha_navstev(datum,meno,email,zapis) " ."VALUES(NOW(),'" .mysql_real_escape_string($_POST['meno'],$db_spojenie) ."','" .mysql_real_escape_string($_POST['email'],$db_spojenie) ."','" .mysql_real_escape_string($_POST['sprava'],$db_spojenie) ."')" ;
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysql_query( $sql_prikaz,$db_spojenie); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); } echo 'Nový zápis do knihy návštev pridaný.<br />'; }
// -- Vypiš všechny zápisy v knize návštěv --
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysql_query('SELECT * FROM kniha_navstev order by datum DESC',$db_spojenie); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); }
// Zobrazení všech vrácených dat. while ($riadok = mysql_fetch_array($objekt_vysledku)) { echo '<hr />'; echo 'Dátum a čas: ',$riadok['datum'],'<br />'; echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />'; echo 'Zápis: ',$riadok['zapis'],'<br />'; echo '<br />'; } ?>
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
prave som si vsimol, ze pouzivas mesiac staru verziu funkcie pagination(), aktualizuj si ju a malo by to ist...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 22.02.2009 13:34 | |
|
aha no dik prepinanie medzi strankami ide uplne dobre, akurat ked vytvori novy odkaz na dalsiu tak sa tam nepridavaju stale je vsetko v jednej, a to iste vypisuje aj v dalsich http://www.infinity.yw.sk/kniha_navstev.php
Kód: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html> <?php function generateURL(){ $GET = $_GET; $QUERY_STRING = ''; $SCRIPT_NAME = substr(strrchr($_SERVER["SCRIPT_NAME"],"/"),1); $num_args = func_num_args(); if($num_args>0 && $num_args%2==0) { $args = func_get_args(); foreach($args as $index => $paramName) { $paramName = trim($paramName); if($index%2==0 && !empty($paramName)) { $paramValue = trim($args[$index+1]); if(array_key_exists($paramName, $GET) && empty($paramValue)) { unset($GET[$paramName]); } elseif(!empty($paramValue)) { $GET[$paramName] = $paramValue; } } } } foreach($GET as $param => $value) { $QUERY_STRING .= $param."=".$value."&"; } return $SCRIPT_NAME.((empty($QUERY_STRING)) ? '' : "?".substr($QUERY_STRING,0,-5)); } function pagination($numRows, $rowsPerPage, $maxPages=15) { global $page, $numPages;
$ret = "";
if($numPages>0) { if(!isset($page)) { $page = 1; //cislo aktivnej stranky (default=1) } $from = 1; //cislo stranky, od ktoreho sa zacina strankovanie $to = $numPages; //cislo stranky, kde strankovanie konci $padd_a = ceil($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani $padd_b = floor($maxPages/2); //pre pozicovanie cisla aktivnej stranky v strankovani //vypocitanie prveho a posledneho cisla stranky v strankovani (pre potreby for cyklu) if($page >= $maxPages) { $from = $page - $maxPages + $padd_a; $to = $from + $maxPages - 1; if($page == $numPages || $page + $padd_b >= $numPages) { $to = $numPages; $from = $to - $maxPages + 1; } } //odkaz na prvu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,1).'"><<</a>' : '<<').' '; //odkaz na predoslu stranku $ret .= (($page > 1) ? '<a href="'.generateURL(PAGEVAR,$page-1).'"><</a>' : '<').' '; //strankovanie for($i = $from; $i <= $to; $i++) { if(--$maxPages >= 0) { if($page == $i) { $ret .= $i; //aktivna stranka } else { $ret .= '<a href="'.generateURL(PAGEVAR,$i).'">'.$i.'</a>'; //ostatne stranky } $ret .= DELIMITER; } else { break; } } //odstranenie oddelovaca za poslednou strankou $ret = substr($ret,0,-strlen(DELIMITER)).' '; //odkaz na nasledujucu stranku $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$page+1).'">></a>' : '>').' '; //odkaz na poslednu stranku $ret .= (($page < $numPages) ? '<a href="'.generateURL(PAGEVAR,$numPages).'">>></a>' : '>>'); return $ret; } return false; }
$db_spojenie = mysql_connect("mysql.ic.cz", "user", "heslo"); mysql_select_db("databaza");
define("PAGEVAR", "page"); //nazov parametra v GET, kde sa uchovava cislo stranky define("DELIMITER", " | "); //oddelovac cisiel stranok $page = 1; //cislo aktivnej stranky (default=1)
$rowsPerPage = 5; $maxPages = 9;
$res = mysql_fetch_assoc(mysql_query("SELECT count(*) as pocet FROM kniha_navstev")); $numRows = $res['pocet'];
$numPages = ceil($numRows/$rowsPerPage); //pocet stranok v strankovani
if(!empty($_GET[PAGEVAR]) && $_GET[PAGEVAR]>0 && intval($_GET[PAGEVAR])<=$numPages) { $page = $_GET[PAGEVAR]; }
$offset = ($page - 1) * $rowsPerPage;
$sql = "SELECT * FROM kniha_navstev ORDER BY datum DESC LIMIT $offset,$rowsPerPage"; $res = mysql_query($sql); if($res!==false) { while($riadok = mysql_fetch_row($res)) { echo $riadok['zapis']."<br>"; } }
echo pagination($numRows, $rowsPerPage, $maxPages);
// Správné nastavení češtiny. $objekt_vysledku = mysql_query("SET NAMES 'cp1250'", $db_spojenie); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); }
// -- Vlož nový zápis, pokud byl odeslán formulářem --
// Test, jestli přišla data z formuláře. if (isset($_POST['sprava'])) { // Vytvoření SQL příkazu typu INSERT. $sql_prikaz = "INSERT INTO kniha_navstev(datum,meno,email,zapis) " ."VALUES(NOW(),'" .mysql_real_escape_string($_POST['meno'],$db_spojenie) ."','" .mysql_real_escape_string($_POST['email'],$db_spojenie) ."','" .mysql_real_escape_string($_POST['sprava'],$db_spojenie) ."')" ;
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysql_query( $sql_prikaz,$db_spojenie); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); } echo 'Nový zápis do knihy návštev pridaný.<br />'; }
// -- Vypiš všechny zápisy v knize návštěv --
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysql_query('SELECT * FROM kniha_navstev order by datum DESC',$db_spojenie); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); }
// Zobrazení všech vrácených dat. while ($riadok = mysql_fetch_array($objekt_vysledku)) { echo '<hr />'; echo 'Dátum a čas: ',$riadok['datum'],'<br />'; echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />'; echo 'Zápis: ',$riadok['zapis'],'<br />'; echo '<br />'; } ?>
<form name="kniha" action="" method="post"> <b>Meno:</b><br /> <input name="meno" size="40"><br /> <br /> <b>Mail:</b><br /> <input name="email" size="40"><br /> <br /> <b>Správa:</b><br /> <textarea name="sprava" rows="5" cols="30"></textarea><br /> <br /> <input type="submit" value="Odoslať správu"> </form> </html>
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
namiesto
Kód: while($riadok = mysql_fetch_row($res)) { echo $riadok['zapis']."<br>"; } si daj Kód: while ($riadok = mysql_fetch_assoc($res)) { echo '<hr />'; echo 'Dátum a čas: ',$riadok['datum'],'<br />'; echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />'; echo 'Zápis: ',$riadok['zapis'],'<br />'; echo '<br />'; } a v druhej casti skriptu si vymaz nasledujuce riadky, lebo sa ti bude kniha vypisovat 2krat za sebou: Kód: // -- Vypiš všechny zápisy v knize návštěv --
// Zaslání SQL příkazu do databáze. $objekt_vysledku = mysql_query('SELECT * FROM kniha_navstev order by datum DESC',$db_spojenie); if (!$objekt_vysledku) { echo 'Poslání SQL příkazu se nepodařilo, sorry'; echo '<br />'; echo 'Popis chyby: ', mysql_error($db_spojenie); exit(); }
// Zobrazení všech vrácených dat. while ($riadok = mysql_fetch_array($objekt_vysledku)) { echo '<hr />'; echo 'Dátum a čas: ',$riadok['datum'],'<br />'; echo 'Napísal: ',$riadok['meno'],' (',$riadok['email'],')<br />'; echo 'Zápis: ',$riadok['zapis'],'<br />'; echo '<br />'; }
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 11.03.08 Prihlásený: 02.04.09 Príspevky: 43 Témy: 8 | Napísal autor témy tominokk: 24.02.2009 15:32 | |
|
diky moc chalani, pomohli ste mi...a neviete nahodou kde by bola ta funkcia pagination a generate URL popisana obsirnejsie, chcel by som tomu pochopit
_________________ V programovani som novacik tak prosim o strpenie |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ak sa ti zda popis danych funkcii nedostatocny, napis do temy pre casto pouzivane skripty, comu presne nerozumies, pripadne mi posli ss... inde by si vysvetlenie k tymto funkciam asi nenasiel, kedze nie su "verejne" zname, nakolko ich autorom je moja malickost...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.07.09 Prihlásený: 19.08.13 Príspevky: 23 Témy: 7 |
stenley píše: ak sa ti zda popis danych funkcii nedostatocny, napis do temy pre casto pouzivane skripty, comu presne nerozumies, pripadne mi posli ss... inde by si vysvetlenie k tymto funkciam asi nenasiel, kedze nie su "verejne" zname, nakolko ich autorom je moja malickost...
mam problem, potrebujem predat dalej pole parametrov z formulara:
Kód: echo " <select name="cas[]" id="cas" multiple="multiple" size="10" >";
while ($data = mysql_fetch_assoc($select)) { echo "<option value="".$data['Aktualizovane']."">".$data['Aktualizovane']."</option>\n"; }
echo " </select>\n"; a Kód: echo " <select name="kategorie[]" id="kategorie" multiple="multiple" size="10" >";
while ($data = mysql_fetch_assoc($select)) { echo "<option value="".$data['Kategoria']."">".$data['Kategoria']."</option>\n"; }
echo " </select>\n";
pocitam s tym, ze kod nie je treba moc upravit, ale zatial sa v nom neorientujem.
namiesto pola sa predava len obycajny parameter.
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
co to ma spolocne so strankovanim?
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.07.09 Prihlásený: 19.08.13 Príspevky: 23 Témy: 7 |
stenley píše: co to ma spolocne so strankovanim?
prave pri strankovani mam tento problem, obycajne parametre dostanem dalej cez link ale pole parametrov nie
myslim si, ze bude treba upravit tuto cast:
Kód: foreach($GET as $param => $value) { $QUERY_STRING .= $param."=".$value."&"; }
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
posielas to cez GET alebo POST? aky format url potrebujes spracovat, nieco ako: param[]=value1¶m[]=value2 ?
posledny prispevok sa necituje!
Naposledy upravil stenley dňa 24.08.2009 14:00, celkovo upravené 1
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.07.09 Prihlásený: 19.08.13 Príspevky: 23 Témy: 7 | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| PHP programátor - PHP, MySQL, jQuery,X)Html/CSS v Ponuka práce | 0 | 1304 | 02.05.2011 12:08 magicmedia | | php ->mysql ->php Help.zoradit v PHP, ASP | 4 | 589 | 20.06.2009 12:44 KViki | | PHP a MySQL v PHP, ASP | 4 | 384 | 23.09.2013 23:50 shaggy | | PHP+MySQL, počítadlo v PHP, ASP | 3 | 814 | 09.07.2007 18:19 Tominator | | mysql + php problem v PHP, ASP | 3 | 681 | 21.04.2007 14:08 lukasmakac | | PHP - MySQL - vyhladavanie? v PHP, ASP | 5 | 881 | 20.03.2010 6:24 rooobertek | | mysql, php - pripojenie v PHP, ASP | 2 | 429 | 28.06.2012 18:06 Ďuri | | php+apache+mysql v Ostatné | 13 | 1294 | 06.07.2009 11:37 Ďuri | | Programátor PHP/MySQL v Ponuka práce | 0 | 838 | 23.10.2010 17:06 brownsro1 | | PHP a MYSQL v PHP, ASP | 4 | 600 | 10.06.2011 23:12 Sunnynko | | PHP - MySQL - JSON v PHP, ASP | 17 | 416 | 05.05.2020 19:05 jumper | | PHP + MYSQL inzercia v PHP, ASP | 21 | 1857 | 02.09.2007 18:51 neopagan | | MySQL a PHP v Databázy | 9 | 865 | 27.12.2015 0:33 Werus | | PHP, MySQL koder v Ponuka práce | 1 | 901 | 12.07.2010 19:50 Murtagh | | PHP a MySQL [ Choď na stránku: 1, 2 ] v PHP, ASP | 30 | 2133 | 12.01.2009 13:09 jtomcik | | PHP a MYSQL v PHP, ASP | 16 | 865 | 02.05.2010 10:26 zdeniatqo |
| 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
|
|