Autor | Zpráva | ||
---|---|---|---|
FEIL Profil |
#1 · Zasláno: 18. 7. 2010, 18:04:37 · Upravil/a: FEIL
Ja už važne neviem v čom je problem už som vyskúšal 3 možnosti stránkovania a furt my to ukazuje tu istú chybu na tom istom riadku.
Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in /srv3/www/7u.cz/subdomains/nika/liga/klany.php on line 16 Zdrojový a taktiež posledný pokus o stránkovanie <?php if ($stranka=="") { $stranka=1; $vynechat=0; } else { $vynechat=$stranka*7-7; } $liga_result = mysql_query("SELECT id, vlajka, body, nazev, zapasu, vyhranych , prohranych , remizovanych , hleda FROM liga_klany ORDER BY body DESC LIMIT $vynechat,7;"); if (mysql_num_rows($liga_result)) { echo " <table border="0" align="center" width="100%"><tr> <td style="font-weight: bold;">Rank</td> <td style="font-weight: bold;">Vlajka</td> <td style="font-weight: bold;">Body</td> <td style="font-weight: bold;">Názov</td> <td style="font-weight: bold;">Odohraných</td> <td style="font-weight: bold;">Výhry</td> <td style="font-weight: bold;">Prehry</td> <td style="font-weight: bold;">Remízy</td> <td style="font-weight: bold;">Uspešnost%</td> <td style="font-weight: bold;">Hladá súpera</td> </tr>"; $rank = 0; while($liga = mysql_fetch_array($liga_result)) { $rank++; if ($liga['zapasu'] > 0) { $percent = ($liga['vyhranych'] / $liga['zapasu'] * 100); } else { $percent = 0; } echo " <tr> <td>- ".$rank." -</td> <td><img src='".BASEDIR."liga/vlajka/".$liga["vlajka"]."'></td> <td>".$liga["body"]."</td> <td>".$liga["nazev"]."</td> <td>".$liga["zapasu"]."</td> <td>".$liga["vyhranych"]."</td> <td>".$liga["prohranych"]."</td> <td>".$liga["remizovanych"]."</td> <td>".$percent."%</td> <td>"; if ($liga["hleda"] == "0") { echo "Nehladá"; } else { echo "Hladá"; } echo "</td></tr>"; } echo "</table>"; } else { echo "<br /><center>Pro tuto ligu neexistujú žiadne klany.</center><br />"; } ?> <div align="center"> <?php $pocet_radku=mysql_query("SELECT COUNT(*) AS id FROM liga_klany"); $pocet_radku=mysql_fetch_array($pocet_radku); $pocet_stran=ceil($pocet_stran=$pocet_radku["id"]/7); $i=0; while ($i<$pocet_stran) { $i++; echo "<a href=\"index.php?stranka=$i\">$i</a>"; } ?> </div> |
||
denCo Profil |
#2 · Zasláno: 18. 7. 2010, 18:18:28
vo funkcií echo máš zle spravené úvodzovky, buď ich musíš escapovať alebo použiť apostrofy
... echo " <table border=\"0\" align=\"center\" width=\"100%\"><tr> ... alebo ... echo " <table border=’0’ align=’center’ width=’100%’><tr> ... |
||
AM_ Profil |
#3 · Zasláno: 18. 7. 2010, 18:21:25
nemáš oescapované uvozovky uvnitř echo (tedy \")
Osobně bych pro výpis úseků HTML používa apostrofy: echo '<a href=""></a>' jelikož to ušetří spoustu práce s escapováním. |
||
Davex Profil |
#4 · Zasláno: 18. 7. 2010, 18:21:36 · Upravil/a: Davex
Nebo změnit úvodní a ukončovací uvozovky na apostrof
echo ' <table border="0" align="center" width="100%"><tr> ... </tr>'; Zase pozdě... |
||
FEIL Profil |
#5 · Zasláno: 18. 7. 2010, 20:53:29 · Upravil/a: FEIL
OK ale ešte by ste my mohli poradiť ako mám spraviť stránkovanie nejaké jednoduché lebo zatial všetko čo som skúsil my hlásilo chyby.
Čistý zdroják <?php $liga_result = mysql_query("SELECT id, vlajka, body, nazev, zapasu, vyhranych , prohranych , remizovanych , hleda FROM liga_klany ORDER BY body DESC LIMIT $vynechat,7;"); if (mysql_num_rows($liga_result)) { echo ' <table border="0" align="center" width="100%"><tr> <td style="font-weight: bold;">Rank</td> <td style="font-weight: bold;">Vlajka</td> <td style="font-weight: bold;">Body</td> <td style="font-weight: bold;">Názov</td> <td style="font-weight: bold;">Odohraných</td> <td style="font-weight: bold;">Výhry</td> <td style="font-weight: bold;">Prehry</td> <td style="font-weight: bold;">Remízy</td> <td style="font-weight: bold;">Uspešnost%</td> <td style="font-weight: bold;">Hladá súpera</td> </tr>'; $rank = 0; while($liga = mysql_fetch_array($liga_result)) { $rank++; if ($liga['zapasu'] > 0) { $percent = ($liga['vyhranych'] / $liga['zapasu'] * 100); } else { $percent = 0; } echo " <tr> <td>- ".$rank." -</td> <td><img src='".BASEDIR."liga/vlajka/".$liga["vlajka"]."'></td> <td>".$liga["body"]."</td> <td>".$liga["nazev"]."</td> <td>".$liga["zapasu"]."</td> <td>".$liga["vyhranych"]."</td> <td>".$liga["prohranych"]."</td> <td>".$liga["remizovanych"]."</td> <td>".$percent."%</td> <td>"; if ($liga["hleda"] == "0") { echo "Nehladá"; } else { echo "Hladá"; } echo "</td></tr>"; } echo "</table>"; } else { echo "<br /><center>Pro tuto ligu neexistujú žiadne klany.</center><br />"; } ?> Odkaz na stránku je mojweb/index.php?page=klany&id=1 |
||
AM_ Profil |
#6 · Zasláno: 18. 7. 2010, 21:15:40
FEIL:
„Odkaz na stránku je mojweb/index.php?page=klany&id=1“ ne, není. „OK ale ešte by ste my mohli poradiť ako mám spraviť stránkovanie“ ano, mohli. „všetko čo som skúsil my hlásilo chyby.“ jaké chyby? |
||
FEIL Profil |
#7 · Zasláno: 18. 7. 2010, 21:43:25
Dobre dám čo som skúšal pred chvílou
<?php $radku = mysql_num_rows(mysql_query("SELECT id FROM liga_klany;")); $po = 5; /* pocet rádku na stránku */ $max_stranek = ceil($radku / $po); /* pocet stránek */ $url_stranka = ($_GET["stranka"] / $po) + 1; /* Aktuální stránka */ for($i=0; $i < $max_stranek; $i++) { $cislo = ($i + 1); $url_cislo = ($cislo * $po) - $po; if($url_stranka != $cislo) { echo "<a href=\"?page=klany&id=".$_GET["id"]."&stranka=".$url_cislo."".$url_cislo."\">".($i + 1)."</a>\n"; } else { echo "<strong>".($i + 1)."</strong>\n"; } } if(empty($_GET["stranka"])) {$stranka = 0;} else {$stranka = $_GET["stranka"];} $liga_result = mysql_query("SELECT id, vlajka, body, nazev, zapasu, vyhranych , prohranych , remizovanych , hleda FROM liga_klany ORDER BY body DESC LIMIT ".intval($stranka).",$po;"); if (mysql_fetch_assoc($liga_result)) { echo ' <table border="0" align="center" width="100%"><tr> <td style="font-weight: bold;">Rank</td> <td style="font-weight: bold;">Vlajka</td> <td style="font-weight: bold;">Body</td> <td style="font-weight: bold;">Názov</td> <td style="font-weight: bold;">Odohraných</td> <td style="font-weight: bold;">Výhry</td> <td style="font-weight: bold;">Prehry</td> <td style="font-weight: bold;">Remízy</td> <td style="font-weight: bold;">Uspešnost%</td> <td style="font-weight: bold;">Hladá súpera</td> </tr>'; $rank = 0; while($liga = mysql_fetch_array($liga_result)) { $rank++; if ($liga['zapasu'] > 0) { $percent = ($liga['vyhranych'] / $liga['zapasu'] * 100); } else { $percent = 0; } echo " <tr> <td>- ".$rank." -</td> <td><img src='".BASEDIR."liga/vlajka/".$liga["vlajka"]."'></td> <td>".$liga["body"]."</td> <td>".$liga["nazev"]."</td> <td>".$liga["zapasu"]."</td> <td>".$liga["vyhranych"]."</td> <td>".$liga["prohranych"]."</td> <td>".$liga["remizovanych"]."</td> <td>".$percent."%</td> <td>"; if ($liga["hleda"] == "0") { echo "Nehladá"; } else { echo "Hladá"; } echo "</td></tr>"; } echo "</table>"; } else { echo "<br /><center>Pro tuto ligu neexistujú žiadne klany.</center><br />"; } ?> Chyba: Notice: Undefined index: stranka in /srv3/www/7u.cz/subdomains/nika/liga/klany.php on line 5 a dalšej stránke vypíše Pro tuto ligu neexistujú žiadne klany. |
||
AM_ Profil |
#8 · Zasláno: 18. 7. 2010, 23:38:56
Na řádce 5 není definován index "stranka" - parametr "stranka" nebyl předán. Toto lze ošetřit pomocí isset() a pokud parametr není nastaven, dát mu nějakou výchozí hodnotu.
Na řádce 18 vždy přijdeš o první výsledek - zda se vrátil prázdný výsledek se ověřuje přes mysql_num_rows (rovno nebo nerovno nule), nikoli přes mysql_fetch_assoc. |
||
FEIL Profil |
#9 · Zasláno: 19. 7. 2010, 15:23:57
Všetko som to zmazal. Prečítal som už veľa o stránkovaní a aj tak to ani za nič neviem dať do kopi aby to fungovalo :(
|
||
AM_ Profil |
#10 · Zasláno: 19. 7. 2010, 20:21:20
Tos to opravdu zmazal. já neřekl, že máš všecko mazat, já řekl, jaké chyby máš opravit. Vzhledem k tomu, že ani nevím, do jakého stavu jsi ten kód teď dostal a co jsi z něj přesně odstranil, opravdu nevím, co ti může kdo dál poradit...
|
||
Časová prodleva: 14 let
|
0