Autor Zpráva
Adrifinel
Profil
if ($leveln > 7 || $level == "hybrid-A"):
            echo "<form><fieldset><legend>Články zaslané návštěvníky čekající na potvrzení</legend>";

            @$vysledekrep = MySQL_Query("SELECT * FROM clanky WHERE zobrazit LIKE '0' ORDER BY ID DESC");
			
	

           		if (MySQL_Num_Rows($vysledekrep) != 0):
                	echo "<table class=nohover style='width: 98%'>
                    	   <thead><tr><th>#ID</th><th>Nadpis</th><th>Zaslal</th><th>Datum</th><th>Volby</th></tr></thead>";
                     while ($zaznam = MySQL_Fetch_Array($vysledekrep)) {
                          echo "<tr><td>".$zaznam['ID']."</td><td><a href=viewclanky.php?ID=".$zaznam['ID'].">".$zaznam['nadpis']."</a></td><td><a href='userprofile.php?info=".$zaznam['pridal']."'></a></td><td>".$zaznam['datum']."</td><td><a href=php/commitclanky.php?ID=".$zaznam['ID']."&commit=ano>Potvrdit</a><br><a href=php/commitclanky.php?ID=".$zaznam['ID']."&commit=ne>Zamítnout</a></td></tr>";
						  	

                     }
                     echo "</table>";
                else:
             		echo "Nejsou žádné články čekající na potvrzení.";
                endif;

             echo "</table></fieldset></form><br>";
          endif;
    //konec admin commitingu
	
	
	@$vysledekrep = MySQL_Query("SELECT * FROM clanky WHERE zobrazit LIKE 'ano' ORDER BY datum DESC, cas DESC LIMIT $limit");
	if (!$vysledekrep):
		echo "Došlo k chybě při zpracování dotazu v databázi.<BR>\n";
		break;
	endif;

   while ($zaznam1 = MySQL_Fetch_Array($vysledekrep)) {

    	echo  " <h3>".$zaznam1["nadpis"]."</h3>
      <div><b><font class=highlight>".$zaznam1["datum"]." &raquo; ".$zaznam1["cas"]." </font> &raquo; napsal(a) ".$zaznam1["pridal"]." &raquo; <a href=viewclanky.php?ID=".$zaznam1["ID"].">diskuze (".$zaznam1["prispevky"].")</a> ";

         if ($leveln > 7 || $level == "hybrid-A"):
            echo" &raquo; <a href='php/ua/editclanky.php?ID=".$zaznam1["ID"]."' title='Upravit novinku'><img src=img/edit.png width=14 height=14></a> &raquo; <a href='php/ua/deleteclanky.php?ID=".$zaznam1["ID"]."' title='Smazat novinku' onclick='javascript:return confirmDelete()'><img src=img/delete.png width=14 height=14></a>";
         endif;

      echo"</b><hr> <img src=php/clanky/img/".$zaznam1["img"]." style='float:right; margin: 7px;'><p>".$zaznam1["text"]."</p><p>&raquo; <a href='".$zaznam1["link"]."'>Link</a></p><p>&raquo; Čtenost: ".$zaznam1["ctenost"]."<hr><br></p></div>"; }
	  
 $vysledekrep1 = MySQL_Query("SELECT * FROM clanky WHERE zobrazit LIKE 'ano'");
           $pocet =  MySQL_Num_Rows($vysledekrep1);
$pocetstran = $pocet / 15;
$pocetstran = Ceil($pocetstran);

echo "<br><form><fieldset><legend>Zobrazuji ".$page.". stránku z ".$pocetstran."</legend>Přejít na stránku č.: | " ;

$gotopage = 1;
 while ($gotopage < ($pocetstran + 1)) {
     if ($gotopage == $page):
     echo "<b>".$page."</b> | ";
     else:
     echo "<a href='./clanky.php?page=".$gotopage."'>".$gotopage."</a> | ";
     endif;
     $gotopage++;
 }
 echo  "</fieldset></form>";
 


Potřebovala bych vědět, kam byste zhruba dali či jestli je to jedno, kde je:
$zaznam1 = MySQL_Fetch_Array($vysledek)){ 
 $text =substr $zaznam1["text"], 0, 200) . '<a href=viewclanky.php?ID=$ID>...</a>'}

teda pokud je to správně.

No podstatě chci, aby mi to na hlavní stránce ukázalo dejme tomu jenom část textu, třeba první odstavec a zbytek by byl po rozkliknutí na tom viewu...
Str4wberry
Profil
Já bych si ten text zkrátil už přímo v SQL.
Ben
Profil *
Ještě si ale ošetři aby jsi nezkracoval třeba uprostřed slova nebo html tagu, atd...
Viz tento návod od Jakuba Vrány
Adrifinel
Profil
Str4wberry:
Ehm jak to myslíš?

Ben:
Ty jsem zkoušela ani nic mi to tam nedělá.
crook
Profil *
Str4wbery to asi myslel tak, ze by si primo v MySql vytvoril dalsi sloupec..zkracetext dejme tomu a tahal primo zkraceny text. Ono zkracovat treba 100 vysledku, by ti aplikaci dost spomalovalo. Takze ulozenim do MySql by to zkratil a tahl uz jen zkraceny text.
Ja mam treba seznam mnoha interpretu kteri se radi a vyhledavaji podle prvnich dvou pismen abecedy. Tak aby to trvalo mensi cas, mam sloupec, kde uz jsou tyy dve pismena vytazene predem.
Alphard
Profil
crook:
Str4wbery to asi myslel tak, ze by si primo v MySql vytvoril dalsi sloupec
Spíš bych řekl, že myslel na funci substring(). Pokud myslel na zváštní sloupec, tak např. perex - tj. logický kratší úvod k článku.

Ono zkracovat treba 100 vysledku, by ti aplikaci dost spomalovalo
Testoval jste to? Hádám, že oříznout text nebude zas tak náročná aplikace.

[#3] Ben
Viz Nejčastější potíže s PHP (FAQ) » Zkrácení článku pro výpis perexu, pořád se řeší to samé.

Adrifinel:
Snad to není tak těžké. mysql_fetch_array() už máte a logicky to musí být před výpisem (echo). Takže kamkoliv mezi tyto části. Mimochodem, stačilo by vám mysql_fetch_assoc().
Adrifinel
Profil
Tak jsem to vyzkoušela a nedělá to nic. Čímž myslím, nezkracuje, nepíše chybové hlášky atd.
panther
Profil
Adrifinel:
Tak jsem to vyzkoušela
jak přesně jsi to zkoušela? Pravděpodobně máš někde nějakou chybu.
crook
Profil *
Alpharad:

Nejde ani tak o to, jestli zrovna jeho aplikace by prilis nespomalovala, podle me jde i o programatorske navyky a programatorske uvazovani.
Adrifinel
Profil
Už to funguje, akorát by mě zajímalo, jak to počítá znaky, pač měla jsem to na 500 a text (i s html tagy) se zkrátil po nějakých 418, no prostě mi to nedávalo těch 500 znaků...
Alphard
Profil
Adrifinel:
Nenapsale jste, jaké řešení je použito. Hádal bych to na substr() + kódování utf-8. Pak by pomohlo mb_substr().

crook:
Špatný návyk je především tahat z db celý článek, když je potřeba pár slov, to s vámi určitě souhlasím. Ale výsledné zkrácení často záleží na situaci a dělá až šabloně. Já bych přidal sloupec perex (kam autor psal rozumně dlouhý úvod k článku) a ten bych dle potřeby dále zkracoval na místě, ale záleží to na názoru.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0