SQL snelkoppelingen
http://www.elgbwestvlaanderen.be/newsletter/07.
Alle artikels worden handmatig ingevoerd. Nu zou ik willen alle artikels uit SQL halen. M.a.w. moet een PHP-script lezen welke artikelen er zijn aangemaakt en daaruit een menuutje maken links. Dit menuutje maken links is geen probleem, alsook hoe ik heel de SQL structuur moet maken. Het is me alleen niet duidelijk hoe ik kan zorgen dat er snelkoppelingen moeten worden aangemaakt voor het linkermenu zodat die dan gelinkt worden (automatisch) met het terug te geven SQLgegevens...
Iemand die mij kan helpen???? Ik heb er me al suf op gezocht! Iemand die me wil helpen kan gerust mijn code krijgen om te zien waar ik helemaal de mist in ga...
alvast bedankt!!
Mijn probleem situeert zich als volgt. Ik sta in voor de newsletter van mijn bedrijf. vb: Alle artikels worden handmatig ingevoerd. Nu zou ik willen alle artikels uit SQL halen. M.a.w. moet een PHP-script lezen welke artikelen er zijn aangemaakt en daaruit een menuutje maken links. Dit menuutje maken links is geen probleem, alsook hoe ik heel de SQL structuur moet maken. Het is me alleen niet duidelijk hoe ik kan zorgen dat er snelkoppelingen moeten worden aangemaakt voor het linkermenu zodat die dan gelinkt worden (automatisch) met het terug te geven SQLgegevens...
Iemand die mij kan helpen???? Ik heb er me al suf op gezocht! Iemand die me wil helpen kan gerust mijn code krijgen om te zien waar ik helemaal de mist in ga...
alvast bedankt!!
In dat geval maak je linkjes in het menu, waarbij je ook een 'id' meegeeft in de link. Vervolgens maak je een aparte pagina aan, waar je die id uit de link haalt en waarmee je een SQL-statement maakt waarbij het juiste artikel uit de database wordt gehaald.
Ziet je database er bv. zo uit:
id VARCHAR (255) NOT NULL AUTO_INCREMENT PRIMARY KEY,
titel VARCHAR (255) NOT NULL,
artikel TEXT NOT NULL
Dan heb je een veld 'id'. Bij het menuutje links haal je dus de titel op. Zorg ervoor dat je ook de id ophaalt (SELECT id, titel FROM ...), en plaats de id in de link via, bv.:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$query = "SELECT id,titel FROM tabel";
$result = mysql_query($query) or die(mysql_error());
while($arr = mysql_fetch_array($result)) {
echo '<a href="index.php?page=artikel&id=' . $arr['id'] . '">' . $arr['titel'] . '</a>';
}
?>
$query = "SELECT id,titel FROM tabel";
$result = mysql_query($query) or die(mysql_error());
while($arr = mysql_fetch_array($result)) {
echo '<a href="index.php?page=artikel&id=' . $arr['id'] . '">' . $arr['titel'] . '</a>';
}
?>
Je ziet nu in je menu, als het goed is, een linkje die er in de statusbalk zo uitziet: site.nl/index.php?page=artikel&id=3012
Vervolgens maak je een pagina artikel.php aan, waarbij je via $_GET['id'], die id ophaalt, en met de juiste query het volledige artikel uit de database ophaalt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
if(!is_numeric($_GET['id'])) {
echo 'Ongeldig nummer<br />';
} else {
$query = "SELECT artikel FROM table WHERE id = '" . $id . "'";
$result = mysql_query($query) or die(mysql_error());
$artikel = mysql_fetch_array($result);
print $artikel['artikel'];
}
?>
if(!is_numeric($_GET['id'])) {
echo 'Ongeldig nummer<br />';
} else {
$query = "SELECT artikel FROM table WHERE id = '" . $id . "'";
$result = mysql_query($query) or die(mysql_error());
$artikel = mysql_fetch_array($result);
print $artikel['artikel'];
}
?>
Artikel.php voeg je trouwens in als $_GET['page'] gelijk is aan 'artikel': op je index.php doe je dan:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$page = htmlentities($_GET['page']);
if($page == 'artikel') {
include('content/artikel.php');
}
?>
$page = htmlentities($_GET['page']);
if($page == 'artikel') {
include('content/artikel.php');
}
?>
Hmm...enigszins onduidelijk, maar ik hoop dat je er wat aan hebt (en ik hoop dat dit überhaupt je probleem was :+)
Edit:
Ik heb het even snel getypt, dus ik geef geen enkele garantie dat codes werken en ook niet dat ze veilig zijn >:)
En nu ik het nog eens nalees: ophalen en de beschikbare artikel tonen doe je dus op de manier zoals ik hierboven al uitlegde.
En nu ik het nog eens nalees: ophalen en de beschikbare artikel tonen doe je dus op de manier zoals ik hierboven al uitlegde.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
// Heeeel simpeltjes uitgelegd :)
$query = "SELECT id, titel FROM tabel";
$result = mysql_query($query) or die(mysql_error());
while($arr = mysql_fetch_array($result)) {
print '<a href="index.php?page=artikel&id=' . $arr['id'] . '">' . $arr['titel'] . '</a>';
}
?>
// Heeeel simpeltjes uitgelegd :)
$query = "SELECT id, titel FROM tabel";
$result = mysql_query($query) or die(mysql_error());
while($arr = mysql_fetch_array($result)) {
print '<a href="index.php?page=artikel&id=' . $arr['id'] . '">' . $arr['titel'] . '</a>';
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
Ik kan al redelijk uit de voeten met PHP maar ik moet het gewoon evengezien hebben hoe de vork aan de steel zit voor bepaalde dingen.
Je code werkte niet helemaal maar je hebt me getoond hoe het moet!
Alvast SUPERBEANKT! Ik ben een tevreden mens nu :-)
Quote:
Een VARCHAR met auto_increment? Die is nieuw voor mij. Voor een id gebruik je een INT of een ander nummeriek datatype, maar zeker geen VARCHAR.id VARCHAR (255) NOT NULL AUTO_INCREMENT PRIMARY KEY,
t
t
@Stefaan: Maak van het id een INT, dan zal dit in elk geval niet fout gaan.
yupyup, already did ;-)