login  Naam:   Wachtwoord: 
Registreer je!
 Forum

MYSQL geadvanceerd selecteren

Offline Behemutant - 28/02/2008 01:27
Avatar van BehemutantNieuw lid Beste Sima's,

Ik voeg d.m.v. multi upload form 3 foto's toe van een product.
Wat ik dan in mijn database krijg is het volgende (voorbeeld):

ID 1 NAAM 1A FOTO plaatje1.jpg
ID 2 NAAM 1A FOTO plaatje2.jpg
ID 3 NAAM 1A FOTO plaatje3.jpg

Met andere woorden, zelfde naam maar wel ander plaatje.
Als ik nu op mijn pagina producten wil weergeven krijg ik uiteraard problemen omdat elk product DRIE (3) maal weergegeven wordt...

hoe kan ik 'SELECT' doen maar zeggen van 'elke naam maar één keer en niet alle 2, of 3 keer' of is dat niet mogelijk?

8 antwoorden

Gesponsorde links
Offline Abbas - 28/02/2008 01:33
Avatar van Abbas Gouden medaille

Crew .NET
  1. $strQuery = "SELECT DISTINCT naam FROM producten";
Distinct selecteert alle unieke waardes. Een waarde die meerdere keren voorkomt wordt dus maar 1x geselecteerd.
Offline Behemutant - 28/02/2008 01:58 (laatste wijziging 28/02/2008 02:16)
Avatar van Behemutant Nieuw lid super die kende ik nog niet, super bedankt!
rest mij nog één vraag:

Ik wil meerdere waardes selecteren maar ALLEEN de naam moet uniek zijn... hoe dan te werk gaan?

Ik heb nu:

  1. $rRows = mysql_query('SELECT DISTINCT naam, plaatje, prijs FROM produkten ORDER BY id DESC LIMIT 0, 9') or die(mysql_error());


-- edit --

Het werkt niet hij blijft alles weergeven ; ;
mijn code:

Plaatscode: 5821
Offline ranco - 28/02/2008 11:21
Avatar van ranco PHP gevorderde http://dev.mysq...ation.html

Je moet je ORDER BY wel in de goede volgorde zetten dan ;)

Nu selecteert hij de id's distinct.
Offline Behemutant - 28/02/2008 13:11
Avatar van Behemutant Nieuw lid ja mijn fout mijn code was eigenlijk:

  1. $rRows = mysql_query('SELECT DISTINCT naam, plaatje, prijs FROM produkten ORDER BY naam DESC LIMIT 0, 9') or die(mysql_error());


Maar hij blijft alles weergeven helaas.
Even voor de verduidelijking:

http://img148.i...oossa1.png

Zo ziet één product eruit in de mysql.
Gewoon zelfde gegevens alleen ander plaatje.

Ik wil dus dat hij het product met de naam 'naam' maar één keer weergeeft en niet 3 keer en dit dus uiteraard voor alle producten.
Offline marten - 28/02/2008 13:19
Avatar van marten Beheerder Download eens een trial van Premiumsoft Navicat en ga eens met de query builder spelen. Wedden dat je het zelf makkelijk kan oplossen?
Offline Behemutant - 28/02/2008 13:54
Avatar van Behemutant Nieuw lid overigens als ik:

SELECT DISTINCT naam FROM produkten ORDER BY id DESC LIMIT 0, 9

doe werkt het prima maar niet wanneer ik

SELECT DISTINCT naam, prijs, plaatje FROM produkten ORDER BY id DESC LIMIT 0, 9

doe en dat is het enigste probleem.

Verder kan ik hier niks downloaden helaas is geblokkeerd ; ;
Offline ranco - 28/02/2008 14:17
Avatar van ranco PHP gevorderde Probeer eens:
  1. mysql_query("SELECT DISTINCT naam
  2. FROM produkten
  3. ORDER BY id, naam
  4. DESC LIMIT 0,9");
Offline Abbas - 28/02/2008 14:30
Avatar van Abbas Gouden medaille

Crew .NET
@ranco: dat zal waarschijnlijk wel werken, maar het probleem doet zich voor wanneer hij meerdere kolommen gaat selecteren en niet enkel die naam. 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.225s