Hoe kan ik posts tonen uit mijn tabel, uitgenomen de post die nu geopend is?
Ik heb een tabel in mijn database genaamd superfoods. Ik heb daar een aantal artikelen(posts) in staan.
De velden van de tabel zijn ID, naam, URL en datum.
Nu toont via MySQL onderaan mijn artikelen, 5 andere artikelen die in dezelfde tabel zitten.
Maar het probleem is dat hij ook het artikel toont die nu geopend is.
Andere artikeln uit de categorie : ("en hij toont het artikel dat reeds geopend is")
Hoe kan ik dat fixen?
Ergens zal ik de desbetreffende ID van dit artikel moeten noteren in mijn artikel en dan die id="1" uitsluiten in MySQL maar hoe doe ik dat?
id="PHP_SELF" ???
Want ik werk ook met 2 tabellen die op hun beurt 5 artikelen geven. Dus ik heb ook nog een lijstje met 5 artikelen uit de tabel gezondheid. Artikel met ID1 uit de tabel superfood is niet dezelfde als ID1 uit de tabel gezondheid.
Kan iemand mij de code geven om het lopende artikel uit te sluiten in de resultaten aub?
Dit is het script:
$sql = "SELECT `url` FROM `superfoods` ORDER BY `id` DESC LIMIT 5";
mysql_query ($sql) or die ($error);
$result=mysql_query($sql);
while($data = mysql_fetch_row($result)){
echo("<b>$data[0]</b><br>");
}
mysql_close($connect);
?>
Hiermee wordt id 1 uitgesloten.
- Aar - op 15/01/2015 18:06:45:
kan ik hem niet zelf de id laten zoeken? Want dit script is een apart script en ik gebruik dat voor alle artikels uit de superfoods categorie. anders moet ik voor elk artikel een apart scriptje laten lopen.
Ik gebruik onder mijn artikels uit superfood categorie de include "categorie-superfoods.php"
Waar komt op dat moment het juiste ID-nummer dan vandaan die hij uit moet sluiten?
Gewijzigd op 15/01/2015 18:17:33 door - Ariën -
Kan ik op de pagina van mijn artikel de ID niet aanduiden.
Iets van $_GET= $id
En dan in de query die $_GET gebruiken ipv Where id <> 1 ?
Toevoeging op 15/01/2015 18:26:29:
Ik ben nog maar paar weken bezig met database. Mijn excuses dat ik domme dingen vraag hoor maar als ik elke keer een varierende ID heb. Moet ik dat toch ergens kunnen laten bepalen en dan in de query naar mysql kunnen uitsluiten?
Code (php)
1
2
3
2
3
<?php
$sql = "SELECT url FROM superfoods WHERE id <> ".mysql_real_escape_string($_GET['id'])." ORDER BY id DESC LIMIT 5";
?>
$sql = "SELECT url FROM superfoods WHERE id <> ".mysql_real_escape_string($_GET['id'])." ORDER BY id DESC LIMIT 5";
?>
Kun je zeggen waar ik de .mysql_real_escape_string($_GET['id']) moet plaatsen?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql = "SELECT `url` FROM `superfoods` ORDER BY `id` DESC LIMIT 5";
mysql_query ($sql) or die ($error);
$result=mysql_query($sql);
while($data = mysql_fetch_row($result)){
echo("<b>$data[0]</b><br>");
}
mysql_close($connect);
?>
$sql = "SELECT `url` FROM `superfoods` ORDER BY `id` DESC LIMIT 5";
mysql_query ($sql) or die ($error);
$result=mysql_query($sql);
while($data = mysql_fetch_row($result)){
echo("<b>$data[0]</b><br>");
}
mysql_close($connect);
?>
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 15/01/2015 18:36:30 door - Ariën -
Gewoon mijn query even copy/pasten en dus vervangen... ;-)
hij geeft een error couldn't connect
Je moet wel verbinden met je database en de MySQL server.
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '"' at line 1
SELECT url FROM superfoods WHERE id <> ".mysql_real_escape_string($_GET['id'])." ORDER BY id DESC LIMIT 5"
En welke error krijg je? Want die error die je net vertelde heeft te maken met het connecten met je MySQLserver en database.
Gewijzigd op 15/01/2015 19:14:34 door - Ariën -
Maar bij deze id <> 1 zal hij bij artikel id 2 ook id 1 uitsluiten. En daar moet hij id2 dus uitsluiten. Dus ik kan niet anders dan die $_GET id gebruiken.
Begrijp niet waarom die $sql niet kan connecten met deze query. Daarom dacht ik om die Mysql_real_escape_string buiten de $sql te plaatsen en een $artikel eraan te geven.
Laat daarvan eens wat meer over zien.
Gewijzigd op 15/01/2015 19:23:20 door - Ariën -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?PHP
//connect
$error = "couldn't connect";
$connect = mysql_connect ("host", "username", "pass") or die ($error);
mysql_select_db("database", $connect) or die ($error);
$sql = "SELECT url FROM superfoods WHERE id <> ".mysql_real_escape_string($_GET['id'])." ORDER BY id DESC LIMIT 5";
mysql_query ($sql) or die ($error);
$result=mysql_query($sql);
while($data = mysql_fetch_row($result)){
echo("<b>$data[0]</b><br>");
}
mysql_close($connect);
?>
//connect
$error = "couldn't connect";
$connect = mysql_connect ("host", "username", "pass") or die ($error);
mysql_select_db("database", $connect) or die ($error);
$sql = "SELECT url FROM superfoods WHERE id <> ".mysql_real_escape_string($_GET['id'])." ORDER BY id DESC LIMIT 5";
mysql_query ($sql) or die ($error);
$result=mysql_query($sql);
while($data = mysql_fetch_row($result)){
echo("<b>$data[0]</b><br>");
}
mysql_close($connect);
?>
Code (php)
1
2
3
4
2
3
4
<?php
$connect = mysql_connect ("host", "username", "pass") or die (mysql_error());
mysql_select_db("database", $connect) or die (mysql_error());
?>
$connect = mysql_connect ("host", "username", "pass") or die (mysql_error());
mysql_select_db("database", $connect) or die (mysql_error());
?>
En gebruik ook mysql_error() op lijn 12.
Als je het nog netter wilt doen,w at ik je aan kan raden. Lees dan deze tutorial eens door:
http://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/
Gewijzigd op 15/01/2015 19:28:37 door - Ariën -
Maar ik krijg die error niet van voor de $sql want als ik id <> 1 gebruik werkt alles naar behoren. Die error moet komen van de mysql_query denk ik
Pas gewoon goede foutafhandeling toe. Zie ook mijn link ^.
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY id DESC LIMIT 5' at line 1