Archief - MySQL/PHP: Tekst webpagina in database

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

ruttennicky

Legacy Member
Gegroet allemaal,

Ik had een kleine (wss domme :-) ) vraag maar ik ben nu bezig aan een website (layout is af , div's staan allemaal op z'n plaats, ben dus klaar voor m'n teksten te plaatsen.) Maar ik wil dit dus doen met behulp van MySQL en PHP. Dus ik heb al een database website aangemaakt, met daarin een tabel text. In die tabel staan 2 velden : ID en text. Maar nu zou ik graag de text uit de database laten zien in de website natuurlijk. (php script in de div)
Kan iemand mij op weg zetten met het script voor het veld tekst te laten zien in een php script ? De vraag was nu ook, ik heb verschillende knoppen (met dus de verschillende website rubrieken ; nieuws, enz... ) moet ik voor elke rubriek een ander tekstveld aanmaken in mijn database ? K heb een klein beetje kennis van PHP en MySQL dus ...

Greetz,
NIcKY

Bertold

Legacy Member
als ik uw vraag goed begrijp dan bedoel je waarschijnlijk dit:
stel je hebt vijf paginas
dan maak je u menu als volgt:
Code:
<ul>
<li><a href="index.php?p=pagina1">pagina 1</a><li>
<li><a href="index.php?p=pagina2">pagina 2</a><li>
<li><a href="index.php?p=pagina3">pagina 3</a><li>
<li><a href="index.php?p=pagina4">pagina 4</a><li>
<li><a href="index.php?p=pagina5">pagina 5</a><li>
</ul>
zoals je ziet geef je dus in elke link een variabele mee onder de naam p.
nu kan je via via een stukje php op je index pagina de pagina oproepen die in de variabele zit van de url
PHP:
<?php
if(isset($_GET['p'])){
$query = mysql_query("SELECT naam, inhoud FROM paginas WHERE naam ='".$_GET['p']."' ");
$row = mysql_fetch_array($query);
echo $row['inhoud'];
}else{
$query = mysql_query("SELECT naam, inhoud FROM paginas WHERE naam = 'pagina1' ");
$row = mysql_fetch_array($query);
echo $row['inhoud'];
}
?>

kunnen mss nog foutjes inzitten kheb het niet getest

omfg

Legacy Member
ik zie nie direct een fout maar je code kan wat korter :p
PHP:
<?php
if(isset($_GET['p'])){
$row = mysql_fetch_array(mysql_query("SELECT naam, inhoud FROM paginas WHERE naam ='".$_GET['p']."' "));
echo $row['inhoud'];
}else{
$row = mysql_fetch_array(mysql_query("SELECT naam, inhoud FROM paginas WHERE naam = 'pagina1' "));
echo $row['inhoud'];
}
?>

sry voor de mierenneukerij :$

Kn0t

Legacy Member
Gaan we zo beginnen?

PHP:
<?php
echo mysql_fetch_array(mysql_query("SELECT naam, inhoud FROM paginas WHERE naam ='".(isset($_GET['p']) ? $_GET['p'] : 'pagina1' )."' "))['inhoud'];
?>

:p

Anyway, het lijkt me niet erg handig zo'n DB structuur.
Wat ga je doen als je nieuws toevoegt? Uit DB halen, achteraan toevoegen, en dan updaten? :s

Je maakt dus best een tabel per rubriek. Vb. de tabel news en daarin voeg je records toe per newsitem.

Bertold

Legacy Member
jep das waar maar hij vroeg het zo :) en het motto is
u vraagt wij draaien :p

ruttennicky

Legacy Member
tis toch gemakkelijk om achteraf een pagina te maken met alle tekstvakken in, en dan zorge da ge de teksten in database rechtstreeks kunt aanpassen via die website, of zie ik da verkeerd (mysql_update of iets dergelijk, ken het nie meer van buiten ..).

Ziet iemand anders een gemakkelijkere methode, om de teksten op de website achteraf gemakkelijk te kunnen aanpassen (want dat is de grootste voorop gestelde vereiste). Wil hier echt wel veel van bijleren :-)



PS : al nen dikke merci voor de reply's

Greetz
NIcKY

ruttennicky

Legacy Member
Ok goed, ik heb nu zoals Knot hier voorstelde, voor iedere rubriek zoals nieuws enz... een nieuwe tabel gemaakt. Ma moet ik nu dezelfde methode zoals hierboven toepassen of is dit heel anders ? (de actuele site staat op www.ruttennicky.be ) Dus het is de bedoeling dat als ik vb op foto's klik dat er in het main gedeelte de text van uit de tabel fotos uit de database verschijnt.

Greetz
NIcKY

Bertold

Legacy Member
euhm wel maak gewon een pagina nieuws.php een pagina kalender.php ....
en dan roep je op pagina nieuws.php de tabel nieuws op and so on :)

het scriptje kan je behouden door op de index. pagina's te includen via de p variable
moet eens goed alles bekijken :)
dit komt uit één van min sites:
PHP:
<?php 
if(isset($_GET['p'])){
	$p = $_GET['p'];
	$page = ''.$p.'.php';
	if(file_exists($page)){
		include($page);
		}else{
		include('foutmelding.php');
		}
}else{
include('index0.php');
}
?>

en bvb op uw nieuwspagina
PHP:
while($row == mysql_fetch_array(mysql_query("SELECT*FROM nieuws"))){
echo $row['titel'];
echo $row['bericht];
}

is wel beetje 'ongebruikelijk' om SELECT*FROM te doen maar keb nie veel tidj :p kunt et wel wa optimaliseren :)

ruttennicky

Legacy Member
PHP:
<?php
mysql_connect("localhost", "nicky", "nicky");

mysql_select_db("website", $db);

while($row == mysql_fetch_array(mysql_query("SELECT * FROM foto"))){
echo $row['id'];
echo $row['text'];
}

?>

En k krijg niks te zien in mn html, k snap nie wa da'k fout doe.

Greetz
NIcKY

Jos_Albatros

Legacy Member
ruttennicky zei:
PHP:
<?php
mysql_connect("localhost", "nicky", "nicky");

mysql_select_db("website", $db);

while($row == mysql_fetch_array(mysql_query("SELECT * FROM foto"))){
echo $row['id'];
echo $row['text'];
}

?>

En k krijg niks te zien in mn html, k snap nie wa da'k fout doe.

Greetz
NIcKY
- geen dubbelle = gebruiken in $row == ...
- query voer je alvorens een fetch uit, in 1 query zit alles wat je nodig hebt :
PHP:
$query = mysql_query ("...");
while ($assoc = mysql_fetch_assoc ($query)) {
  print "<pre>";
  print_r ($assoc);
  print "</pre>";
}

Bertold

Legacy Member
sorry voor de dubble = :$ zijn zo'n foutjes daj vlug maakt en nie vlug ziet

BART_SIMPSON416

Legacy Member
bt belgium zei:
euhm wel maak gewon een pagina nieuws.php een pagina kalender.php ....
en dan roep je op pagina nieuws.php de tabel nieuws op and so on :)

het scriptje kan je behouden door op de index. pagina's te includen via de p variable
moet eens goed alles bekijken :)
dit komt uit één van min sites:
PHP:
<?php 
if(isset($_GET['p'])){
	$p = $_GET['p'];
	$page = ''.$p.'.php';
	if(file_exists($page)){
		include($page);
		}else{
		include('foutmelding.php');
		}
}else{
include('index0.php');
}
?>

en bvb op uw nieuwspagina
PHP:
while($row == mysql_fetch_array(mysql_query("SELECT*FROM nieuws"))){
echo $row['titel'];
echo $row['bericht];
}

is wel beetje 'ongebruikelijk' om SELECT*FROM te doen maar keb nie veel tidj :p kunt et wel wa optimaliseren :)
En nu maar snel effe hopen dat Magic Quotes aan staan :|
ALTIJD je input als vijandig beschouwen.
Je moet altijd inhoud die niet door jouw is ingegeven zien als een sql query of php code injectie.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan