Database

Status
Niet open voor verdere reacties.

A Search

Gebruiker
Lid geworden
14 mrt 2009
Berichten
299
Hallo
ik heb op mijn sitehttp://www.pinetum.eu/t/nieuws.html
een nieuws pagina
maar nu staan de artikelen in de html pagina ik wil graag dat deze uit een database worden opgehaald
dus:
site wordt geladen php haalde de laatste 3/4/5 artikelen op en plaatst deze
en bij de archief pagina laadt hij alles behalve de laatste 3/4/5
hoe kan dit het simpelst met php?
 
Er vanuitgaande dat je een MySQL database gebruikt (of vergelijkbaar):
Bij nieuws iets in deze geest plaatsen:
Code:
SELECT * FROM nieuws ORDER BY id DESC LIMIT 3
 
Laatst bewerkt:
dus als ik in php praat:
PHP:
<?php
mysql_connect("servernaam","user","wachtwoord");
mysql_select_db("databasenaam");
(lees allen de laatste 4)
$titel = mysql_field_titel
$tekst = mysql_field_tekst
?>
<?php $titel?>
<?php $tekst?>
hoe kan ik de dingen tussen haakjes uitvoeren?:eek:

en dan zou ik een database moeten hebben met de velden titel,tekst,(en misschien iets voor de laatste 4)
 
Laatst bewerkt:
Even aangenomen dat je een tabel (posts) hebt in je database die er ongeveer zo uitziet:

id title content datum
1 Eerste post Dit is de allereerste post hier 1-6-2009
2 Tweede post Ja, inderdaad alweer een post 2-6-2009
3 Derde post Nog één? Damn, smooth sailin' 3-6-2009
4 Vierde post Nu is het afgelopen 4-6-2009

(N.B. database != tabel)

Dan zou je code er zo uit kunnen zien:

PHP:
<?php
  mysql_connect( "servernaam" , "user" , "wachtwoord" ); 
  mysql_select_db ( "databasenaam" );

  $query = "SELECT id, title, content, datum FROM posts ORDER BY datum DESC LIMIT 4";

  $result = mysql_query ( $query );

  while ( $row = mysql_fetch_assoc ( $result ) ) {
    echo $row[ 'title' ];
    echo $row[ 'content' ];
    echo $row[ 'datum' ];
  }
?>
 
Nou nee, niet helemaal.

De connectie met de database was in ieder geval goed! :thumb:

Het klopt dat je daarna slechts de vier betreffende posts moet ophalen. :thumb:

Over $titel = mysql_field_titel, dat klopt eigenlijk ook wel ongeveer, maar je zou dan wel eerst een array moeten fetchen van de data. Dan kun je met $titel = $row['titel'] de waarde toewijzen. :)

I.p.v. <?php $titel?> moet je dan <?php echo $titel; ?> gebruiken. Maar de opzet was goed hoor!! :thumb:
 
PHP:
<?php
 mysql_connect( "servernaam" , "user" , "wachtwoord" ); 
 mysql_select_db ( "databasenaam" );
  $query = "SELECT id, title, content, datum FROM posts ORDER BY datum DESC LIMIT 4";
  $result = mysql_query ( $query );
  while ( $row = mysql_fetch_assoc ( $result ) ) {
  $titel =$row['titel']
  $tekst =$row['tekst']
  $datum =$row['date']
  }
?>
<?php echo $titel ?>
<?php echo $tekst ?>
<?php echo $datum ?>
<?php echo $titel ?>
<?php echo $tekst ?>
<?php echo $datum ?>

zet php de laatste automatich op de eerste echo enz?
 
PHP:
<?php
 mysql_connect( "servernaam" , "user" , "wachtwoord" ); 
 mysql_select_db ( "databasenaam" );
  $query = "SELECT id, title, content, datum FROM posts ORDER BY datum DESC LIMIT 4";
  $result = mysql_query ( $query );
  while ( $row = mysql_fetch_assoc ( $result ) ) {
  $titel =$row['titel']
  $tekst =$row['tekst']
  $datum =$row['date']
  }
?>
<?php echo $titel ?>
<?php echo $tekst ?>
<?php echo $datum ?>
<?php echo $titel ?>
<?php echo $tekst ?>
<?php echo $datum ?>

zet php de laatste automatich op de eerste echo enz?

Hij orderd op datum ;)
PHP:
ORDER BY datum DESC
 
PHP:
mysql_query ( "INSERT INTO tabelnaam (veld1, veld2, veld3, enz) VALUES ('waarde1', 'waarde2', 'waarde3', 'waardeenz')" );
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan