Terve.
Rakentelen sivustoa, jossa uutiset tulevat MySQL-tietokannasta. Saan nyt hyvin näkymään yhden uutisotsikon ja sen alle sitä koskevan uutisen. Navigointi uusien ja vanhojen uutisten välillä onnistuu nyt "Seuraava >>" ja "<< Edellinen" linkeistä. Haluasisin kuitenkin, että tämän uutisen alle tulisi 5 edellistä uutisotsikkoa, joita painamalla näkisi uutisen.
Otsikko on "title" ja itse uutinen on "post".
Koodi tällä hetkellä:
<div id = "divnewsitem"><p> <?php if($_GET['extra'] < $count-1){ ?> <a href="" onclick = "menuOpen('etusivu',<?php echo $_GET['extra']+1; ?>); return false;">SEURAAVA >></a><br /> <?php } if($_GET['extra'] > 0){ ?> <a href="" onclick = "menuOpen('etusivu',<?php echo $_GET['extra']-1; ?>); return false;"><< EDELLINEN</a> <?php } ?> </p> </div> <div class = "divnewsitem"> <div> <p> <?php echo $list; ?> <?php echo $news['title']; ?> </p> </div> <p class = "newscontent"> <?php echo returnField($news['post']); ?> </p> </div>
Mod. lisäsi kooditagit
Mikä siinä on ongelmana?
Tuossa koodissa ei ollut mitään niistä olennaisista asioista, joita tarvittaisiin auttamiseen. Asian kannalta tärkeitä kohtia ovat datan haku ja linkkien toiminta (ilmeisesti menuOpen-funktio) sekä tietenkin, mitä olet yrittänyt tehdä ja miksei onnistu.
Ongelma on, että en tiedä miten lähteä rakentamaan uutisen alle div-palikkaa, mikä näyttäisi ne viisi vanhempaa uutisotsikkoa.
Kun tämä rivi
<?php echo $news['title']; ?>
tuo sen uusimman uutisen otsikon, millä saan 5 edellistä näkymään ja niihin linkit uutiseen.
Onko tässä tarvittava pätkä:
<?php <div id = "divmain"> <div id = "divinsert"> </div> <?php if($_POST['loginName'] == "xxxxxx" AND $_POST['loginPass'] == "xxxxxx") { $_SESSION['logged'] = "on"; ?> <script>login('login','logged');</script> <?php } elseif(isset($_GET['sivu'])) { ?> <script type = "text/javascript">menuOpen('<?php print($_GET['sivu']); ?>',0);</script> <?php } else { ?> <script type = "text/javascript">menuOpen('etusivu',0);</script> <?php } ?> </div>
Miten haet sen uutis datan sieltä MySQL databasesta? Ja tuossa sun ekassa koodin pätkässä et tulosta kun yhden kerran uutisen niin eihän siihen voi viittä tyhjästä tulla.
Tässä esimerkki, joka hakee kannasta viisi viimeisintä uutista ja tulostaa ne. Tulostuksen muotoilun voi sitten jokainen muokata mieleisekseen.
<?php $yhteys = mysql_connect('localhost', 'test', 'test') or die(mysql_error()); mysql_select_db('test') or die(mysql_error()); $kysely = "SELECT title, post FROM news LIMIT 5"; $tulos = mysql_query($kysely) or die(mysql_error()); echo '<h1>Uutiset</h1><br/>'; while ($row = mysql_fetch_assoc($tulos)) { echo '<h2>'. $row['title'] .'</h2>'; echo '<p>'. $row['post'] .'</p>'; } ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.