muzete mi nekdo prosim rici kde mam chybu ?
<?
define ("ROWS", 10);
// zde je include souboru s konstantami
mysql_connect("mysql.webzdarma.cz", "dynamonohejba", "heslo");
mysql_select_db("news");
if (!isset($_GET["celkem"])) //pokud nevíme, kolik bude záznamů tak to zjistíme...
{
$vysledek=mysql_query("select new from news order by id desc");
$zaznam=mysql_fetch_array($vysledek);
$celkem=$zaznam["pocet"];
}
else
{
$celkem=$_GET["celkem"];
}
if ($celkem>ROWS)
{
if (!isset($_GET["od"])) $od=1; else $od=$_GET["od"];
$vysledek=mysql_query("select new from news"." limit ".($od-1).", ".ROWS);
echo "Záznamů: ".$od."-";
echo (($od+ROWS-1)<=$celkem)?($od+ROWS-1):$celkem;
echo " z celkem $celkem ";
//začátek - vytvoř odkaz pouze pokud nejsme na začátku
if ($od==1) echo "Začátek | ";
else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=1\">Začátek</a> | ";
//zpět - vytvoř odkaz pouze pokud nejsme v prvních ROWS
if ($od<ROWS) echo "Předchozí | ";
else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od-ROWS)."\">Předchozí</a> | ";
//další - vytvoř, pouze pokud nejsme v posledních ROWS
if ($od+ROWS>$celkem) echo "Následující | ";
else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od+ROWS)."\">Následující</a> | ";
//poslední - to je posledních (zbytek po dělení ROWS) záznamů
if ($od>$celkem-ROWS) echo "Konec <BR>";
else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($celkem-$celkem%ROWS+1)."\">Konec</a><BR>";
}
while ($zaznam=MySQL_Fetch_Array($vysledek)) echo $zaznam["obec"]."<BR>\n";
?>
chci zobrazit data z databze aby se strankovali po 10.... ale haze mi to tuto chybu:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /3w/wz.cz/d/dynamonohejbal/index.php on line 82
To máš z toho, že nepoužíváš mysql_error(). Konkrétní chyba by vyběhla mnohem dříve než dojde na fetch.
Co konkrétně očekáváš od toho řádku?
$vysledek=mysql_query("select new from news"." limit ".($od-1).", ".ROWS);
abych pravdu rekl tak nevim to jsem zkopiroval z netu pac sem potreboval strankovani....
a to mysql_error tam dopisu... ;-)
Zkus to takto:
$vysledek=mysql_query("select new from news"." limit ".($od-1).", ".ROWS); or die mysql_error();
A měl bys vidět konkrétní chybu.
Obecně, toto přidávej za všechny příkazy mysql_xxxxxxx
or die mysql_error()
tak ted mi to pro zmenu pise chybu:
Parse error: parse error in /3w/wz.cz/d/dynamonohejbal/index.php on line 77
ale nikde zadnou chybu nevidim....
77 echo " z celkem $celkem ";
$vysledek=mysql_query("select new from news"." limit ".($od-1).", ".ROWS); or die mysql_error();
Ten první středník na ROWS) tam nemá být.
56 <?
57 define ("ROWS", 10);
58 // zde je include souboru s konstantami
59 mysql_connect("mysql.webzdarma.cz", "dynamonohejba", "heslo") or die mysql_error();
60 mysql_select_db("news") or die mysql_error();
61 if (!isset($_GET["celkem"])) //pokud nevíme, kolik bude záznamů tak to zjistíme...
62 {
63 $vysledek=mysql_query("select new from news order by id desc") or die mysql_error();
64 $zaznam=mysql_fetch_array($vysledek) or die mysql_error();
65 $celkem=$zaznam["pocet"];
66 }
67 else
68 {
69 $celkem=$_GET["celkem"];
70 }
71 if ($celkem>ROWS)
72 {
73 if (!isset($_GET["od"])) $od=1; else $od=$_GET["od"];
74 $vysledek=mysql_query("select new from news"." limit ".($od-1).", ".ROWS) or die mysql_error();
75 echo "Záznamů: ".$od."-";
76 echo (($od+ROWS-1)<=$celkem)?($od+ROWS-1):$celkem;
77 echo " z celkem $celkem ";
78 //začátek - vytvoř odkaz pouze pokud nejsme na začátku
79 if ($od==1) echo "Začátek | ";
80 else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=1\">Začátek</a> | ";
81 //zpět - vytvoř odkaz pouze pokud nejsme v prvních ROWS
82 if ($od<ROWS) echo "Předchozí | ";
83 else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od-ROWS)."\">Předchozí</a> | ";
84 //další - vytvoř, pouze pokud nejsme v posledních ROWS
85 if ($od+ROWS>$celkem) echo "Následující | ";
86 else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od+ROWS)."\">Následující</a> | ";
87 //poslední - to je posledních (zbytek po dělení ROWS) záznamů
88 if ($od>$celkem-ROWS) echo "Konec <BR>";
89 else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($celkem-$celkem%ROWS+1)."\">Konec</a><BR>";
90 }
91 while ($zaznam=MySQL_Fetch_Array($vysledek)) echo $zaznam["obec"]."<BR>\n";
92 ?>
zkusil sem ti to nejak oradkovat.... takhle to ted vypada a hazi to chybu:
Parse error: parse error in /3w/wz.cz/d/dynamonohejbal/index.php on line 77
Priste bych doporucil nevystavovat svoje heslo na databazi
<HTML>Heslo je pryč, ale každopádně si ho změň.
>>mysql_select_db("news")
Tvoje db se opravdu jmenuje news?</HTML>
nebojte heslo sem napsal jiny nez mam... ;-) a jo to je pravda s tou db....
porad mi to hazi chyby... uz si s tim nevim rady... www.dynamonohejbal.wz.cz zkuste prosim nekdo mrknout na ty chyby a poradit mi co delam spatne predem dekuji....
tak ted muj kod vypada takhle, ale hazi mi to chybu na radku 77 ale ja ji nikde nevidim....
<?
define ("ROWS", 10);
// zde je include souboru s konstantami
mysql_connect("mysql.webzdarma.cz", "uz_jmeno", "heslo") or die mysql_error();
mysql_select_db("dynamonohejba") or die mysql_error();
if (!isset($_GET["celkem"])) //pokud nevíme, kolik bude záznamů tak to zjistíme...
{
$vysledek=mysql_query("select new from news order by id desc") or die mysql_error();
$zaznam=mysql_fetch_array($vysledek) or die mysql_error();
$celkem=$zaznam["pocet"];
}
else
{
$celkem=$_GET["celkem"];
}
if ($celkem>ROWS)
{
if (!isset($_GET["od"])) $od=1; else $od=$_GET["od"];
$vysledek=mysql_query("select new from news"." limit ".($od-1).", ".ROWS) or die mysql_error();
echo "Záznamů: ".$od."-";
echo (($od+ROWS-1)<=$celkem)?($od+ROWS-1):$celkem;
echo " z celkem $celkem ";
//začátek - vytvoř odkaz pouze pokud nejsme na začátku
if ($od==1) echo "Začátek | ";
else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=1\">Začátek</a> | ";
//zpět - vytvoř odkaz pouze pokud nejsme v prvních ROWS
if ($od<ROWS) echo "Předchozí | ";
else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od-ROWS)."\">Předchozí</a> | ";
//další - vytvoř, pouze pokud nejsme v posledních ROWS
if ($od+ROWS>$celkem) echo "Následující | ";
else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($od+ROWS)."\">Následující</a> | ";
//poslední - to je posledních (zbytek po dělení ROWS) záznamů
if ($od>$celkem-ROWS) echo "Konec <BR>";
else echo "<a href=\"".$_SERVER["PHP_SELF"]."?celkem=$celkem&od=".($celkem-$celkem%ROWS+1)."\">Konec</a><BR>";
}
while ($zaznam=MySQL_Fetch_Array($vysledek)) echo $zaznam["obec"]." ".$zaznam["psc"]."<BR>\n";
?>
Ja tenhle skript zkoušel a funguje bez problému, ale je třeba trochu upravit. Tady říkáš že chceš vypsat jen pole z new z tabulky news. $vysledek=mysql_query("select new from news order by id desc") or die mysql_error();
Tak to může těžko vypsat z pole pocet pokud takové pole v tabulce vůbec máš, vi i další pole obec,psc,atd.
$zaznam=mysql_fetch_array($vysledek) or die mysql_error();
$celkem=$zaznam["pocet"];
tak místo new tam dej *
$vysledek=mysql_query("select * from news order by id desc") or die mysql_error();
no ja at delam co delam, tak se mi to nechce rozjet... a dole to vypada takhle....
while ($zaznam=MySQL_Fetch_Array($vysledek)) echo $zaznam["new"];
jinak vsechno zustava... a pise mi to:
Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /3w/wz.cz/d/dynamonohejbal/index.php on line 76 (kdyz dam jako server localhost)
a nebo:
Warning: mysql_connect(): Access denied for user 'dynamonohejba'@'aya-sh2-6.customer.vol.cz' (using password: YES) in /3w/wz.cz/d/dynamonohejbal/index.php on line 76 (kdyz dam jako server mysql.webzdarma.cz)
uz si nevim rady pac fakt nemuzu najit chybu a navic kdyz si me napsal ze tobe to funguje, tak se ptam moderatoru, jestli neni mozny ze muj ucet je nejakej porouchanej...
Blbě se připojuješ k databázi. Jako hosta musíš dát mysql.webzdarma.cz, login a heslo najdeš v administraci.
Pořád pokud omezuješ jen na "select new from news order by id desc", tak to nevypíše $zaznam[pocet]
to bys musel tam dát místo new hvězdičku a nebo to napsat
"select new,pocet from news order by id desc"
a taky nevim jestli to není jen překlap jmeno databaze by mělo být
dynamonohejbal, chybí ti tam L na konci.
porad mi to nejede.... zkusil sem vsechno co ste mi tady psali aporad se mi to nechce pripojit... Warning mysql_connect ()..... zkousel jsem to i na jinem hostingu a tam to taky nejede... neni mozne ze je neco spatne u me v pocitaci ?
Tak si to zhrneme. Má na wz.cz založený web http://dynamonohejbal.wz.cz/index.php. Aktivovanou databázi:
(potřebné údaje najdeš v administraci, nastanení,nastaveni mysql)
hostitel: mysql.wz.cz
uživatel:dynamonohejbal
heslo: tvoje heslo
jméno databaze:dynamonohejbal
mysql_connect("mysql.wz.cz", "dynamonohejbal", "tvoje heslo") or die mysql_error();
mysql_select_db("dynamonohejbal") or die mysql_error();
V databázi máš vytvořenou tabulku news, která obsahuje řádky(pole)
id,new,pocet a možná obec a psc a v nich nějaká data.
Pokud je všechno je takhle tak by to mělo fungovat . S tvým počítačem to nemá nic společného.
no je to opravdu bez toho L asi by to bylo moc dlouhy (zkousel sem to i snim) ale bez toho L to mam v tom nastaveni sql...
mam udelanou tabulku news, kde mam dva sloubce id a new a chci aby se mi zobrazovalo new, ktere bude serazeno sestupne podle id (čili SLECT new FROM news ORDER BY id DESC) a aby na strance bylo max. 10 zaznamu a strankovalo se to... jak uz sem tu psal tak sem to nejak castecne stahnul z netu a castecne upravil.. a ten predposledni radek:
while ($zaznam=MySQL_Fetch_Array($vysledek)) echo $zaznam["obec"]." ".$zaznam["psc"]."<BR>\n";
ted vypada takhle:
while ($zaznam=MySQL_Fetch_Array($vysledek)) echo $zaznam["new"];
<HTML>Zkus spíš
SELECT id,new FROM news ORDER BY id DESC
Stránkování viz <a href="http://www.webzdarma.cz/forum/read.php?f=2&i=36976&t=36976">nedávná diskuze</a> (poslední dva příspěvky).</HTML>
ale ja chci aby se mi zobrazilo jenom sloupec new
<HTML>No a co ti v tom brání? Vždyť už to tam máš:
while ($zaznam=MySQL_Fetch_Array($vysledek)) echo $zaznam["new"];</HTML>
No to je ono a z čeho pak čerpá záznam pocet neboli celkem?
Tak tam dej misto
$celkem=$zaznam["pocet"];
$celkem=mysql_num_rows($vysledek);
vsem dekuji, ale problem je v tom, ze kdyz odstranim strankovani a necham tam jen aby se to pripojilo a zobrazilo sloupec new serazenej podle id dsec, tak mi to hazi chybu:
Nelze vykonat definiční dotaz: Access denied for user 'dynamonohejba'@'%' to database 'dynamonohejbal'
aby ste byly v obraze, tak jeste vam sem hodim ten kod bez strankovani:
<?
mysql_connect("mysql.webzdarma.cz", "dynamonohejba", "heslo") or die("Nelze vykonat definiční dotaz: " . mysql_error());
mysql_select_db("dynamonohejbal") or die("Nelze vykonat definiční dotaz: " . mysql_error());
$vysledek=mysql_query("select id,new from news order by id desc") or die("Nelze vykonat definiční dotaz: " . mysql_error());
$zaznam=mysql_fetch_array($vysledek) or die("Nelze vykonat definiční dotaz: " . mysql_error());
while ($zaznam=MySQL_Fetch_Array($vysledek)) echo $zaznam["new"];
?>