login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Sorteren (zonder lidwoorden)

Offline Roosje - 03/10/2005 21:43 (laatste wijziging 03/10/2005 21:43)
Avatar van RoosjeNieuw lid Ik zou graag gegevens uit de database op alfabetische volgorde willen sorteren. De lidwoorden (de, het, een) moeten daarbij worden weggelaten, maar moeten wel getoond kunnen worden in de lijst.
Een extra kolom maken voor lidwoorden of iets dergelijks als 'naam, de' invoeren, is geen optie voor mij.
Ik heb al iets met ereg_replace geprobeerd, maar zonder succes.

Iemand nog ideeën?

5 antwoorden

Gesponsorde links
Offline nathanael - 03/10/2005 21:59 (laatste wijziging 03/10/2005 22:02)
Avatar van nathanael Gouden medaille

HTML gevorderde
ik ben nog maar een noob in php maar is dit niet mogelijk? 

  1. <?php
  2.  
  3. $lidwoorden = "de";
  4. $lidwoorden .= "het";
  5. $lidwoorden .= "een";
  6.  
  7. $expl = explode($lidwoorden, $eigen_var);
  8.  
  9. echo $expl;
  10.  
  11. ?>


EDIT:

  1. <?php
  2.  
  3. $array = array("de", "het", "een");
  4.  
  5. $expl = explode($array, $eigen_var);
  6.  
  7. echo $expl;
  8. ?>
Offline Roosje - 04/10/2005 10:44
Avatar van Roosje Nieuw lid Het werkt wel, maar niet op de manier zoals ik bedoelde. 
Alle lidwoorden worden weggehaald, maar ook de lidwoorden die in het midden van een naam staan. En daarmee worden alle namen die een lidwoord bevatten verwijderd.

Dus er moet specifiek worden aangegeven dat het enkel om lidwoorden gaat die aan het begin van de naam staan.
Offline Gerard - 04/10/2005 14:07 (laatste wijziging 04/10/2005 14:07)
Avatar van Gerard Ouwe rakker hoe ziet de query / tabel er uit?

geef eens een voorbeeld van wat output
Offline Roosje - 04/10/2005 18:38 (laatste wijziging 04/10/2005 18:39)
Avatar van Roosje Nieuw lid
  1. $naam=mysql_query("
  2. SELECT *
  3. FROM titels
  4. ORDER BY
  5. titel
  6. ") or die (mysql_error());
  7.  
  8.  
  9. while($aFetch=mysql_fetch_assoc($naam))
  10. {
  11.  
  12. if($aFetch['titel']{0} != $prev)
  13. {
  14.  
  15. $prev = $aFetch['titel']{0};
  16.  
  17. <strong>".ucfirst($prev)."</strong>
  18.  
  19. }
  20.  
  21. echo "".$aFetch['titel']."<br>";
  22.  
  23. }


Zoiets bedoel je?
Offline nemesiskoen - 04/10/2005 19:30 (laatste wijziging 04/10/2005 19:43)
Avatar van nemesiskoen Gouden medaille

PHP expert
  1. <?php
  2. $q = MySQL_query("SELECT foo FROM bar");
  3. $lw = array(" de ", " het ", " een ");
  4. while($dat = MySQL_fetch_array($q)) {
  5.  
  6. $geg[0][] = $dat-> foo;
  7. $geg[1][] = str_replace($lw," ",$dat->foo);
  8. }
  9. function sortByArr(&$arr1,$arr2) {
  10. $arr = $arr1;
  11. sort($arr2);
  12. for($i=0;$i<count($arr2);$i++) {
  13. for($j=0;$j<count($arr1);$j++) {
  14. if(strstr($arr[$i],$arr[$j])) {
  15. $arr3[] = $arr[$i];
  16. }
  17. }
  18. }
  19. $arr1 = $arr3;
  20. return true;
  21. }
  22. sortByArr($geg[0],$geg[1]);
  23. for($i=0;$i<count($geg[0]);$i++) {
  24. echo $geg[0][$i] ."<br />";
  25. }
  26. ?>


Nu zullen de lidwoorden in een naam niet meer weggehaald worden.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.195s