[PHP/MySQL] Deel van een veld selecteren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • rogierslag
  • Registratie: Maart 2005
  • Laatst online: 14-10-2024
Ik heb een probleem waar ik gewoon totaal niet uitkom.


Ik heb een database met bestanden, deze zitten gekoppeld aan verschillende faillissementen. Deze bestanden staan in mappen, dit hangt van het faillissement af.
De bestanden staan dus ongeveer zo in de database

code:
1
2
3
4
5
Bestand
---------------------------------
rogier_slag_informatics/GndH_wedstrijdreglement_2005_2.doc
rogier_slag_informatics/GndH_wedstrijdreglement_2005_1.doc
rogier_slag_informatiocs/inventarisatielijst.doc


Stel nou dat het faillissement moet worden verwijderd, dan moeten alle bestanden én mappen verwijderd worden. Wat ik dus wilde doen is de unieke mapnaam ophalen met SQL. De gewenste output zou dan dus zijn:
code:
1
2
3
4
Bestand
---------------------------------
rogier_slag_informatics/
rogier_slag_informatiocs/


Mijn code maakt deze mappen dan leeg en verwijderd ze. Ik wil niet alle records ophalen, omdat mijn code dan gaat proberen om een lege map nog eens te legen.

zelf zat ik te denken aan zo'n soort SQL
code:
1
SELECT DISTINCT bestand FROM bestanden, faillissementen_bestanden WHERE faillissementen_bestanden.fail_id = INT AND faillissementen_bestanden.bestand_id = bestanden.id
waar bestand dan nog moet worden "verknipt".

Nou kan dit natuurlijk ook makkelijk in PHP maar omdat SQL gemaakt is om te sorteren en dergelijk zou ik het liever daarin doen. Als ik er echt niet uitkom maken we er gewoon PHP code van, maar ik ben benieuwd of SQL ook de mogelijkheid biedt.

Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 15:13
Aangezien je MySQL gebruikt zou ik eens naar de SUBSTRING_INDEX functie kijken

[ Voor 32% gewijzigd door sig69 op 25-09-2006 15:26 ]

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • rogierslag
  • Registratie: Maart 2005
  • Laatst online: 14-10-2024
Oke, met de volgende query

code:
1
2
3
4
SELECT DISTINCT SUBSTRING_INDEX( bestand, '/', 1 ) 
FROM bestanden, faillissementen_bestanden
WHERE faillissementen_bestanden.fail_id =20
AND faillissementen_bestanden.bestand_id = bestanden.id


krijg ik gewoon meteen mijn resultaat wat ik wilde.

En ik had al minstens 6 uur gezocht! Dank je wel!