website met mysql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dirk

Dirk

06/07/2006 18:33:00
Quote Anchor link
Ik wil 1 webpagina hebben waar ik links een menu heb en rechts tekst. Die tekst wil ik uit een database halen.
Elke keer als je op een andere link klikt moet er rechts een andere text komen die uit een database is gehaald.

Wie Kan mij helpen of heeft een voorbeeldscript?

alvast heerl erg bedankt!
 
PHP hulp

PHP hulp

17/11/2024 08:58:06
 
Arjan Kapteijn

Arjan Kapteijn

06/07/2006 18:50:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if(isset($_GET['pagina']) && !empty($_GET['pagina']))
{

    $pagina = mysql_real_escape_string($_GET['pagina']);
}
else{
    $pagina = 'hoofdpagina';
}


$query = "SELECT titel, content FROM content WHERE titel_kort = '".$pagina."'";
$resultaat = mysql_query($query);

if($resultaat && mysql_num_rows($resultaat) == 1)
{

    $rij         = mysql_fetch_array($resultaat);
    $titel         = stripslashes($rij['titel']);
    $content     = stripslashes($rij['content']);
}
else{
    $titel = 'Sorry...';
    $content = '<p>...ik heb mijn best gedaan maar kon de door u opgevraagde pagina niet in mijn database vinden!</p>';
}

?>
 
Willem Jan Z

Willem Jan Z

06/07/2006 18:56:00
Quote Anchor link
Staan genoeg scripts en tuts over in scriptlib...

Opzet is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// Als $pid een getal is, dan die gebruiken, anders gewoon 1 gebruiken
$pid = is_int($_GET['id']) ? $_GET['id'] : 1;

// De query om de juiste pagina op te halen
$sql = "SELECT titel, content FROM pages WHERE id = " . $pid . " LIMIT 1;";
// De query uitvoeren
$res = mysql_query($sql) or trigger_error(mysql_error());
// De resultaten in een array zetten
$row = mysql_fetch_assoc($res);

// De titel en de content op het scherm zetten, nl2br zet de \r\n om in <br />
echo $row['titel'].'<br />'.nl2br($row['content']);
?>


Je tabel ziet er dan bijvoorbeeld zo uit:
+++++++++++++++++++++++++
+id+titel +content +
+++++++++++++++++++++++++
+1+Welkom+Welkom op mijn pagina+
+++++++++++++++++++++++++
+2+Page 2 +Welkom op pagina nr 2 +
+++++++++++++++++++++++++

Edit
Menu gaat dan zo:
<a href="index.php?id=1">Home</a><br />
<a href="index.php?id=2">Pagina 2</a>

Zoals Arjan doet kan ook, dan ga je alleen uit van de titel, wat ik zelf niet prettig vind werken...
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
 
Arjan Kapteijn

Arjan Kapteijn

06/07/2006 18:59:00
Quote Anchor link
Zie arjaninkenia.nl, ik werk met een kortetitel (sponsoring, nieuws etc) om een pagina op te zoeken. En daarna laat ik een uitgebreidere titel echoén. Het voordeel hiervan is dat je linkjes veel duidelijker zijn :). Verder heeft het na mijn weten geen nadelen tov een int. Eventueel zou je ipv een is_int() kunnen vergelijken tegen een array, maar dat is vrij dubbelop.
 
Dirk

Dirk

06/07/2006 19:20:00
Quote Anchor link
Mijn bedoeling is eigenlijk om heel de layout hetzelfde houden en dat alleen de tekst refresht (als dat mogelijk is) en uit database wordt gehaald
 
Arjan Kapteijn

Arjan Kapteijn

06/07/2006 19:21:00
Quote Anchor link
Dat is exact wat beide voorbeelden doen...
 
Dirk

Dirk

06/07/2006 20:06:00
Quote Anchor link
Erg bedankt voor de tip! maar alleen pagina 1 doet het weet iemand wat ik fout doe?

alvast bedankt!

dit heb ik ingevuld:
<html>
<head>
<title>Untitled</title>
</head>
<body>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 $db
= mysql_connect("localhost", "root")
 or die("kan niet verbinden: " . mysql_error());
 mysql_select_db("colourdes", $db);

// Als $pid een getal is, dan die gebruiken, anders gewoon 1 gebruiken
$pid = is_int($_GET['id']) ? $_GET['id'] : 1;

// De query om de juiste pagina op te halen
$sql = "SELECT titel, content FROM text WHERE id = " . $pid . " LIMIT 1;";
// De query uitvoeren
$res = mysql_query($sql) or trigger_error(mysql_error());
// De resultaten in een array zetten
$row = mysql_fetch_assoc($res);

// De titel en de content op het scherm zetten, nl2br zet de \r\n om in <br />
echo $row['titel'].'<br />'.nl2br($row['content']);
echo "<br>";
echo "<a href=\"uitlezen.php?id=1\">Home</a><br />";
echo "<a href=\"uitlezen.php?id=2\">Pagina 2</a>";
mysql_close($db);
?>




</body>
</html>
 
Han eev

Han eev

06/07/2006 20:35:00
Quote Anchor link
Heel simpel ;)
$_GET['id'] kan nooit een int zijn want het is altijd een str
je moet het dan checken met is_numeric.
(ik weet niet of dit waar is, maar met is_numeric werkt het wel!)

$pid = is_numeric($_GET['id']) ? $_GET['id'] : 1;
 
Dirk

Dirk

06/07/2006 20:43:00
Quote Anchor link
Erg bedankt het werkt!!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.