login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ereg_replace + functie

Offline arian - 21/10/2006 20:35 (laatste wijziging 21/10/2006 21:19)
Avatar van arianHTML interesse Hoi, ik heb de volgende code:

  1. <?php
  2.  
  3. // Verbinding met de database
  4. include_once('db.php');
  5.  
  6.  
  7. // De string
  8. $string = '||headlines|1|10||';
  9.  
  10.  
  11. // Nummer één zonder functie
  12. $sql = ereg_replace('\|\|(.*)\|(.*)\|(.*)\|\|',"SELECT * FROM nieuws WHERE cat = \\2 LIMIT \\3",$string);
  13. $res = mysql_query($sql) or die(mysql_error());
  14. $aant = mysql_num_rows($res);
  15. echo $aant;
  16.  
  17. // De sql query laten zien
  18. echo '<p>'.$sql.'</p>'; // Uitkomst: SELECT * FROM nieuws WHERE cat = 1 LIMIT 10
  19.  
  20. // De functie
  21. function show_headlines($cat,$aant){
  22. $sql = "SELECT * FROM nieuws WHERE cat = '".$cat."' LIMIT ".$aant;
  23. $res = mysql_query($sql);
  24. $aant = mysql_num_rows($res);
  25.  
  26. return($sql);
  27. }
  28.  
  29. // Het vervangen
  30. $function = ereg_replace('\|\|(.*)\|(.*)\|(.*)\|\|',show_headlines('\\2','\\3'),$string);
  31.  
  32. // De sql query laten zien
  33. echo '<p>'.$function.'</p>'; // Uitkomst: SELECT * FROM nieuws WHERE cat = 1 LIMIT 10
  34.  
  35.  
  36. ?>


Zoals ik al in het script heb vermeld zijn de bijde uitkomsten het zelfde van de sql.
Echter als ik de slq uitvoor en het aantal velden ga tellen met mysql_num_rows() dan zegt hij bij de bovenste wel een getal en bij de onderste zegt hij dit (even met mysql_erroro() ): Er is iets fout in de gebruikte syntax bij '\3' in regel 1

De functie werkt echter wel. daar licht het niet aan. Het gaat volgens mij fout wat die ereg_replace er in doet. Ik vind het alleen vreemd waarom hij het bij de eerst query wel doet en bij de functie niet. En als ik de sql echo dat hij gewoon het zelfde echo...

Hoe komt dit??

Groeten,
Arian


Edit: Ik heb het al. Met
<?php
$function = preg_replace('#\|\|(.*)\|(.*)\|(.*)\|\|#e',"show_headlines('\\2','\\3')",$string);
?>

0 antwoorden

Gesponsorde links
Er zijn nog geen reacties op dit bericht.
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.173s