php vprašanja
9 naročnikov
9 naročnikov
imam začetniško vprašanje glede izpisa besedila iz mysql baze z php-jem
preko phpmyadmina sem v celico baze shranil nekaj takšnega:
nekaj1
nekaj2
nekaj3
....
seveda mi tega ne izpiše tako kot sem vipsal, ker so podatki ločeni z enterom. Tudi če jih ločim z /br ne deluje... torej kako doseči da bo izpis takšen kot sem si zamislil? Najbrž obstaja kakšna funkcija??
21 odgovorov
evo nov problem =)
rad bi da se mi iz baze izpišejo naslovi člankov v posamezni kategoriji ampak ne vsi recimo da samo 20 ali 30 na eno stran pod tem pa se naredi kot na forumih 1,2,3,4,.... Naslovi pa so seveda povezave do člankov oz.druge strani na kateri podatke izpišem (primer: novice.php?naslov=afera-patria ). Kako se naj zdaj lotim tega?
pa še nekaj glede SEO... so urlji tipa novice.php?naslov=afera-patria dovolj dobri ali naj naredim tako kot imate na tem forumu, ker še mi ni glih čisto jasno kako to narediti.
Najprej ugotoviš kok je useh vnosov:
$query=mysqlquery("SELECT naslov FROM clanki");
$clankov=mysqlnum_rows($query)
al pa že prej daš v query-u count.
to deliš recimo z 20 če želiš tok člankov na stran
$x=$clankov/20;
$x=round($x, 0);// zaokrožiš na celo število pa prej še ($x=$x-0,5, da zaokroži navzdol)
in dobiš število strani
s forom izpišeš strani
for($i=1; $i<=$x; $i++)
{
echo "<a href=\"tvojastran.php?stran=$i>$i</a>";
}
$y=($_GET[stran]-1)*20; // pri kerem članku se začne
potem pa SELECT * FROM clanki LIMIT $y, 20
a prbližn veš kaj mislem :D drgač ti lahko točn napišem...
SEO Boljš je tko k na tem forumu
Če že tako raje SELECTaj samo id
, lahko pa SELECTaš vse kar rabiš za izpis za strani pa uporabiš .. SQLCALCFOUND_ROWS.
$query=mysqlquery("SELECT naslov FROM clanki");
$clankov=mysqlnum_rows($query);//7 vrstic je v bazi
$x=$clankov/5;// 7 delim z 5 =1.4
$x=round($x, 0);// zaokroži navzdol = 1
for($i=1; $i<=$x; $i++)//zanka se izvede samo 1x
{
echo $i;// i=1
}
//dalje mi ni najbolj jasno
$y=($_GET[stran]-1)*20; // pri kerem članku se začne
potem pa SELECT * FROM clanki LIMIT $y, 20
jaz bi rad recimo 5 člankov na stran(zdaj se napiše samo en članek) naj dam namesto $i<=$x to $i<=5? =S drugega dela še nisem uspel "naštudirati "
ok vidim da sem narobe razumel in je tam št strani in ne člankov
zaenkrat mi dela probleme tisti izpis echo "<a href=\"tvojastran.php?stran=$i>$i</a>";
in pa drugi del od y= dalje... kaj vstavti tam ko piše stran?
napako imaš tam, manjka ti en \", pred ><$i... nič vstaviti saj ti itak $_GET[] naredi.... To pomeni da pridobi vrednost spremenljivke iz naslova (urlja)...
sem ugotovil pa ni gumba uredi =)
zdaj mi piše kot da imam samo eno stran rabo pa bi dve strani ker je 7 člankov(na eno stran pa jih gre samo 5)
drugi problem pa je da mi ne izpiše podatkov :S
echo mysql_query("SELECT naslov FROM 'clanki' LIMIT $y, 5");
je mogoče problem v queryju?