NIEUWS systeem met PHP en mysql.

Status
Niet open voor verdere reacties.

Kproz

Gebruiker
Lid geworden
11 jul 2007
Berichten
138
oke ik heb een basis scriptje en probeer daarin hetvolgende te realiseren, als er "ouder nieuws" in de DB staat moet de optie "ouder nieuws lezen" beschikbaar zijn, als je op ouder nieuws zit en er is nog ouder nieuws dan moet er "ouder nieuws lezen EN nieuwer nieuws lezen" beschikbaar zijn, maar dat tweede krijg ik niet gerealiseerd, dit is wat ik heb:

PHP:
<?php
	Connect ('root',"");
	mysql_select_db('awmoney');
	$from = 0;
	if( isset($_GET['from']) && ctype_digit($_GET['from']) ) {			$from = $_GET['from'];			}
	$perpage = 10;
		
		
	if ( $perpage > $from ) {
		$older_from = 0;
	}
	else {
		$older_from = $from - $perpage;
	}
	$newer_from = $from + $perpage;
	
	

	
	
	$cab = "SELECT * FROM news ORDER by id DESC LIMIT " . $from . ", " . $perpage;
	$result = mysql_query($cab) or die (mysql_error());
		echo '<div id=news_pre>
			<div id="news_logo"></div>
			<div id="news_inf">
			<h4> here you can check site news!</h4>
			you can read about recent updates on this page, and digg up older news<br>might you  be interested!
			
			</div>
			<div id="news_bar">';
			if (mysql_num_rows($result) > ($from+1)) {
				echo'<a href="index.php?p=news&from=' .$newer_from. '&amp;perpage=' .$perpage. '">older news</a>';	
			}
			else if (!(mysql_num_rows($result) >= ($from+1)))  {
				
				echo'<a href="index.php?p=news&from=' .$older_from. '&amp;perpage=' .$perpage. '">newer news</a><br />';
			}

			
			else {
				echo 'no older news available<br>';
			}
		
		echo '</div>
			 </div>';
	if (mysql_num_rows($result) >= 1) {
		while ($datacab = mysql_fetch_array ($result)) {
			echo '<div class="news_container">
				  <div class="news_date" align="center"><b>' . $datacab['date'] . '</b></div>';
			echo '<div class="news_title" align="center"><b>'. $datacab['title'] .'</b></div>';
			echo '<div class="news_item">'. $datacab['news'] . '</div>
				  </div>';
			
			
		}
	}
	else {
		echo 'There is no news.';
	}
?>

het draait om dit stuk :
PHP:
if (mysql_num_rows($result) > ($from+1)) {
				echo'<a href="index.php?p=news&from=' .$newer_from. '&amp;perpage=' .$perpage. '">older news</a>';	
			}
			else if (!(mysql_num_rows($result) >= ($from+1)))  {
				
				echo'<a href="index.php?p=news&from=' .$older_from. '&amp;perpage=' .$perpage. '">newer news</a><br />';
			}

			
			else {
				echo 'no older news available<br>';
			}

daar zou nog een else if bij moetten voor de optie als er zowel ouder als nieuwer nieuws is, ik heb al vanalles geprobeerd maar kom er niet uit.. als je nog meer info of vragen hebt om mij te helpen zal ik die met plezier geven
 
Laatst bewerkt:
misschien zeg ik nou iets (heel) doms maar wat is dat $from ?? je haalt die wel uit de url maar ik snap niet zo goed wat die nou voorstelt, en:

je zecht hier wel:
PHP:
if (mysql_num_rows($result) > ($from+1)) {
                echo'<a href="index.php?p=news&from=' .$newer_from. '&amp;perpage=' .$perpage. '">older news</a>';    
            }
            else if (!(mysql_num_rows($result) >= ($from+1)))  {
                
                echo'<a href="index.php?p=news&from=' .$older_from. '&amp;perpage=' .$perpage. '">newer news</a><br />';
            }

            
            else {
                echo 'no older news available<br>';
            }

maar moet je miss niet nog zegge wat hij met:
PHP:
else if (!(mysql_num_rows($result) < ($from+1)))  {
                
            }

moet doen ??

ik zal nu wel iets heel stoms zeggen. mijn excuses hier dan voor :o

SMC - FM
 
$from heeft de waarde vanaf welke ID hij moet beginnen uitlezen uit de databse . bijvoorbeeld vanaf nieuwsitem 10 ( $from = 10)
en $perpage is het aantal nieuwsitems per pagina (10 dus)

stel nu je zit met $from = 10 , dan kan je nieuwsberichten 10 tot en met 20 lezen ( dat zou toch de bedoeling moetten zijn. maar als je dan klikt op de link om die items ( 10 tot 20 ) te lezen, zou je dan daarna ook moetten kunnen kiezen om TERUG van 0 tot 10 te lezen....


dat is wat ik wil in pseudocode ... maar ik krijg em niet omgezet naar php :(
 
Ik heb je code niet verder doorgekeken, maar iets als het volgende moet toch lukken?

PHP:
if($from > $perpage){  // Als het aantal dat moet worden laten zien hoger is dan het aantal per pagina... 

  // Code voor URL naar eerste pagina.
 // Code voor URL naar vorige pagina ($from - $perpage)

}

Of bedoel je iets anders?
 
nouja ik heb er ondertussen al iets anders van gemaakt namelijk :

PHP:
<?php
	Connect ('root',"");
	mysql_select_db('awmoney');
	$from = 0;
	if( isset($_GET['from']) && ctype_digit($_GET['from']) ) {			$from = $_GET['from'];			}
	$perpage = 10;
		
		
	if ( $perpage > $from ) {
		$older_from = 0;
	}
	else {
		$older_from = $from - $perpage;
	}
	$newer_from = $from + $perpage;
	
	

	
	
	$cab = "SELECT * FROM news ORDER by id DESC LIMIT " . $from . ", " . $perpage;
	$resultt = mysql_query($cab) or die (mysql_error());
	$result = mysql_query("SELECT * FROM news");
		echo '<div id=news_pre>
			<div id="news_logo"></div>
			<div id="news_inf">
			<h4> here you can check site news!</h4>
			you can read about recent updates on this page, and digg up older news<br>might you  be interested!
			
			</div>
			<div id="news_bar">';
		
			if (mysql_num_rows($result) > ($from)) {
				echo'<a class="peni" href="index.php?p=news&from=' .$newer_from. '&amp;perpage=' .$perpage. '">older news</a>';	
			}

			else {
				echo 'no older news available - <a class="peni" href="index.php?p=news&from=0">return</a>';
			}
		
		echo '</div>
			 </div>';
	if (mysql_num_rows($resultt) >= 1) {
		while ($datacab = mysql_fetch_array ($resultt)) {
			echo '<div class="news_container">
				  <div class="news_date" align="center"><b>' . $datacab['date'] . '</b></div>';
			echo '<div class="news_title" align="center"><b>'. $datacab['title'] .'</b></div>';
			echo '<div class="news_item">'. $datacab['news'] . '</div>
				  </div>';
			
			
		}
	}
	else {
		echo 'There is no news.';
	}
?>

en dat werkt oke voor mij :) wel niet hoei k het eerst in gedachte had maar ik kan altijd later nog eens proberen, k ben namelijk nog niet zo goed in php
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan