Nieuws Archief

Status
Niet open voor verdere reacties.

BoukeWeening

Gebruiker
Lid geworden
3 apr 2007
Berichten
232
Ik wil graag een nieuwsarchief maken... ik heb dit:

PHP:
<?php
// Connecting, selecting database
$link = mysql_connect('localhost', 'database', 'wachtwoord') or die(mysql_error());
mysql_select_db('database') or die('Could not select database');

// Performing SQL query
$query = "SELECT * FROM nieuws ORDER BY datum DESC LIMIT 0, 30";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

while ($line = mysql_fetch_array($result))
{
 echo '<a href="?page=edit&id='. $line['id'] .'">'. $line['titel'] .'</a><br/>';
}
?> 



<?

// Free resultset
mysql_free_result($result);

// Closing connection
mysql_close($link);
?>

Hij selecteert nu de gegevens uit de database met de titel van het nieuwsbericht... maar nu moet hij dat nieuws bericht nog openen... hoe doe ik dat?? kan iemand mij helpen!!

Alvast: Bedankt!!!

Greetz
 
In je database hebben de rijen in je tabel een naam. Bijvoorbeeld
Id, titel etc.

Als je in je database even kijkt hoe de rij heet waar de berichten in staan, pak je die naam. Stel de naam is berichten, dan is de variabele voor het bericht: $line['berichten'] en wordt het zo.

PHP:
<?php
// Connecting, selecting database
$link = mysql_connect('localhost', 'database', 'wachtwoord') or die(mysql_error());
mysql_select_db('database') or die('Could not select database');

// Performing SQL query
$query = "SELECT * FROM nieuws ORDER BY datum DESC LIMIT 0, 30";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

while ($line = mysql_fetch_array($result))
{
 echo '<a href="?page=edit&id='. $line['id'] .'">'. $line['titel'] .'</a><br/>';
 echo $line['berichten'] . "<br /><br />";

}
?> 



<?

// Free resultset
mysql_free_result($result);

// Closing connection
mysql_close($link);
?>
 
dit bedoel ik niet helemaal... als ik op een titel klik, die verschijnen namelijk met mij script, dan moet ik het des betreffende bericht te zien krijgen...
 
PHP:
<?php
// Connecting, selecting database
$link = mysql_connect('localhost', 'database', 'wachtwoord') or die(mysql_error());
mysql_select_db('database') or die('Could not select database');


if($_GET['id'])
{
  // Bericht query
  $berichtQuery = "SELECT * FROM nieuws WHERE id=". $_GET['id'] ."";
  $berichtResult = mysql_query($berichtQuery) or die('Query failed: ' . mysql_error());
  $berichtRow = mysql_fetch_array($berichtResult);
  echo $berichtRow['bericht'];
}
else
{
  // Performing SQL query
  $query = "SELECT * FROM nieuws ORDER BY datum DESC LIMIT 0, 30";
  $result = mysql_query($query) or die('Query failed: ' . mysql_error());

  while ($line = mysql_fetch_array($result))
  {
    echo '<a href="?page=edit&id='. $line['id'] .'">'. $line['titel'] .'</a>';
  }
}

// Free resultset
mysql_free_result($result);

// Closing connection
mysql_close($link);
?>
Zoiets?
 
Voor elkaar...

Jep, ik heb het voor elkaar... dank zij jullie hulp!!! het is het volgende geworden... controleer het nog maar even op fouten ;) :

PHP:
<?php

				if($_GET['id'])
				{
				  // Bericht query
				  $berichtQuery = "SELECT * FROM nieuws WHERE id=". $_GET['id'] ."";
				  $berichtResult = mysql_query($berichtQuery) or die('Query failed: ' . mysql_error());
				  $berichtRow = mysql_fetch_array($berichtResult);?>
				 <h1 class="nieuws"><?	echo $berichtRow['titel'];?></h1>
				 <p><?  echo $berichtRow['text'];?><br />
				<?
				}
				else
				{
				  // Performing SQL query
				  $query = "SELECT * FROM nieuws ORDER BY datum DESC LIMIT 0, 1";
				  $result = mysql_query($query) or die('Query failed: ' . mysql_error());

				  while ($line = mysql_fetch_array($result))
				  { ?>
				   <h1 class="nieuws"><? echo $line['titel']; ?></h1>
				   <p><? echo $line['text'];
				  }
				}
				?></p></div>
<div class="content">

       <h1 class="kop">Headlines</h1>
	
				<p><?php
			
				
				  // Performing SQL query
				  $query = "SELECT * FROM nieuws ORDER BY datum DESC LIMIT 1, 2";
				  $result = mysql_query($query) or die('Query failed: ' . mysql_error());

				  while ($line = mysql_fetch_array($result))
				  { ?>
				   <h1 class="nieuws"><? echo $line['titel']; ?></h1>
				   <p><? echo $line['headline'];?><p>
				
				  <?  echo '<a href="?page=edit&id='. $line['id'] .'">Lees verder...<br /><hr></a>';
				  }
				?></p></div>


<div class="content">
	<h1 class="kop">Archief</h1>

				<p><?php

				  // Performing SQL query
				  $query = "SELECT * FROM nieuws ORDER BY datum DESC LIMIT 0, 15";
				  $result = mysql_query($query) or die('Query failed: ' . mysql_error());

				  while ($line2 = mysql_fetch_array($result))
				  {
				
				    echo '<a href="?page=edit&id='. $line2['id'] .'">'. $line2['titel'] .'<br /></a>';
				  }
				?></p>
 
If it works, it works :)

Je zou if($_GET['id']) nog kunnen veranderen in if(isset($_GET['id'])) dat is wat veiliger.
 
Waarom is dat veilliger?? wat doet Isset?? kwil graag weten wat dingen doen, anders heb ik zo het gevoel dat ik het gewoon kopieer...
 
isset controleer of een variabele is gedefineerd...

Wanneer je in PHP alle errors laat reporten dan krijg je zonder isset een melding in de trend van Undefined variable on line xx. Op deze manier voorkom je die melding.
 
Ja voor de rest is het wel goed.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan