Hoe kan ik posts tonen uit mijn tabel, uitgenomen de post die nu geopend is?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Djenne djenne

djenne djenne

15/01/2015 18:03:47
Quote Anchor link
Beste PHP vrienden,
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);
?>
 
PHP hulp

PHP hulp

16/06/2024 19:53:40
 
- Ariën  -
Beheerder

- Ariën -

15/01/2015 18:06:45
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= "SELECT url FROM superfoods WHERE id <> 1 ORDER BY id DESC LIMIT 5";
?>


Hiermee wordt id 1 uitgesloten.
 
Djenne djenne

djenne djenne

15/01/2015 18:14:41
Quote Anchor link
- Aar - op 15/01/2015 18:06:45:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= "SELECT url FROM superfoods WHERE id <> 1 ORDER BY id DESC LIMIT 5";
?>


Hiermee wordt id 1 uitgesloten.


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"
 
- Ariën  -
Beheerder

- Ariën -

15/01/2015 18:16:56
Quote Anchor link
Tuurlijk kan dat. Maar dan moet er wel ergens een verband zijn waarbij hij het juiste ID-nummer bepaalt.

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 -
 
Djenne djenne

djenne djenne

15/01/2015 18:24:24
Quote Anchor link
In dezelfde tabel in mijn database staat de link, de naam en de url.
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?
 
- Ariën  -
Beheerder

- Ariën -

15/01/2015 18:26:30
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sql
= "SELECT url FROM superfoods WHERE id <> ".mysql_real_escape_string($_GET['id'])." ORDER BY id DESC LIMIT 5";
?>
 
Djenne djenne

djenne djenne

15/01/2015 18:34:23
Quote Anchor link
Dat kan ik toch zo niet ingeven in mysql?
Kun je zeggen waar ik de .mysql_real_escape_string($_GET['id']) moet plaatsen?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>

- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 15/01/2015 18:36:30 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

15/01/2015 18:35:57
Quote Anchor link
Gewoon mijn query even copy/pasten en dus vervangen... ;-)
 
Djenne djenne

djenne djenne

15/01/2015 18:43:20
Quote Anchor link
hij geeft een error couldn't connect
 
- Ariën  -
Beheerder

- Ariën -

15/01/2015 18:49:51
Quote Anchor link
Je moet wel verbinden met je database en de MySQL server.
 
Djenne djenne

djenne djenne

15/01/2015 18:54:36
Quote Anchor link
Dit zegt ie in SQL op mijn PHPmyadmin

#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"
 
- Ariën  -
Beheerder

- Ariën -

15/01/2015 18:58:58
Quote Anchor link
phpMyAdmin snapt geen PHP, en dus ook geen mysql_real_escape_string(), dus moet je gewoon normale SQL-queries daar invoeren:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT url FROM superfoods WHERE id <> 1 ORDER BY id DESC LIMIT 5
 
Djenne djenne

djenne djenne

15/01/2015 19:10:44
Quote Anchor link
Kan ik die escape string geen variabel $artikel geven en dan dat variabel $artikel gebruiken in de $sql query? Want zowel in mijn phpscript als op myadmin geeft hij een error.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$artikel=mysql_real_escape_string($_GET['id']);


$sql = "SELECT `url` FROM superfoods WHERE `id` <> $artikel ORDER BY `id` DESC LIMIT 4";
 
- Ariën  -
Beheerder

- Ariën -

15/01/2015 19:13:53
Quote Anchor link
Hij is nu toch variabel via de URLbalk met $_GET?

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 -
 
Djenne djenne

djenne djenne

15/01/2015 19:18:13
Quote Anchor link
Ik begrijp het niet. Als ik de id <> 1 query gebruik werkt het. Als ik die escape string gebruik zegt ie "couldn't connect"

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.
 
- Ariën  -
Beheerder

- Ariën -

15/01/2015 19:23:01
Quote Anchor link
Gebruik je soms MySQLi en MySQL door elkaar? Hoe connect je precies?
Laat daarvan eens wat meer over zien.
Gewijzigd op 15/01/2015 19:23:20 door - Ariën -
 
Djenne djenne

djenne djenne

15/01/2015 19:26:14
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
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);
?>
 
- Ariën  -
Beheerder

- Ariën -

15/01/2015 19:27:28
Quote Anchor link
Pas die connect aan naar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$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 -
 
Djenne djenne

djenne djenne

15/01/2015 19:28:11
Quote Anchor link
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
 
- Ariën  -
Beheerder

- Ariën -

15/01/2015 19:29:31
Quote Anchor link
Daarom moet je ook mysql_error() gebruiken, i.p.v. een eigen stukje string wat niet veel spannends zegt.
Pas gewoon goede foutafhandeling toe. Zie ook mijn link ^.
 
Djenne djenne

djenne djenne

15/01/2015 19:30:19
Quote Anchor 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
 

Pagina: 1 2 volgende »



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.