login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysql substr (Opgelost)

Offline Stefan14 - 06/04/2008 15:18 (laatste wijziging 06/04/2008 15:18)
Avatar van Stefan14PHP gevorderde Ik wil enkele ervaringen / meningen uit de database ophalen, om te voorkomen dat de pagina uitgerekt wordt door een te lange reactie gebruik ik de functie substr van mysql, maar dan wordt de reactie opeens helemaal niet meer weergegeven.

  1. <?php
  2. $query = "SELECT
  3. naam,
  4. SUBSTR(ervaring,0,30) AS ervaring2,
  5. woonplaats,
  6. DATE_FORMAT(datum,'%d-%m-%Y') AS datum2
  7. FROM
  8. ervaringen
  9. ORDER BY
  10. RAND()
  11. LIMIT 2";
  12. ?>


de kolom ervaring wordt hier dus opeens helemaal niet meer weergegeven.
Deze wordt uiteraard wel aan de hand van zijn alias aangeroepen.

6 antwoorden

Gesponsorde links
Offline Stefan14 - 06/04/2008 15:24 (laatste wijziging 06/04/2008 15:25)
Avatar van Stefan14 PHP gevorderde mysql heeft dat al heel lang volgens mij, en aangezien mysql toch altijd nog wat sneller is dan php doe ik het liever in mysql.

zie ook: http://www.site...in_MySQL#1
Offline Stefan14 - 06/04/2008 15:30 (laatste wijziging 06/04/2008 15:31)
Avatar van Stefan14 PHP gevorderde klopt, maar de mysql handleiding geeft aan dat substr ook kan, daarnaast heb ik de voluitgeschreven versie ook al geprobeerd, lijkt mij logisch.

Nee, daar zit het niet in, het is iets anders.

EDIT:
De code die verantwoordelijk is voor het tonen van de ervaringen.
  1. <?php
  2. $query = "SELECT
  3. naam,
  4. SUBSTR(ervaring,0,30) AS ervaring2,
  5. woonplaats,
  6. DATE_FORMAT(datum,'%d-%m-%Y') AS datum2
  7. FROM
  8. ervaringen
  9. ORDER BY
  10. RAND()
  11. LIMIT 2";
  12. $result = mysql_query($query) or die (mysql_error());
  13.  
  14. echo('<br />');
  15. echo('<table>');
  16. echo('<tr><td style="font-family: Arial; font-size: 11px; font-weight: bold; color: white;">Ervaringen:</td></tr>');
  17. while ($row = mysql_fetch_array($result))
  18. {
  19. echo('<tr><td style="font-family: Arial; font-size: 10px; color: white;"><b>Door</b> '.$row['naam'].' ('.$row['woonplaats'].')<br />'.$row['ervaring2'].'<br />Datum: '.$row['datum2'].'</td>');
  20. echo('<tr><td>&nbsp;</td></tr>');
  21. }
  22. echo('</table>');
  23. ?>
Offline MothZone - 06/04/2008 15:49
Avatar van MothZone PHP ver gevorderde Ik zie niet direct een fout in je query.
Toont hij enkel ervaring2 niet, of toont hij niets?
Offline Stefan14 - 06/04/2008 15:53
Avatar van Stefan14 PHP gevorderde de rest wordt wel getoond, maar die ervaring 2 inderdaad niet.
Offline MothZone - 06/04/2008 15:56 (laatste wijziging 06/04/2008 15:57)
Avatar van MothZone PHP ver gevorderde Verander in je SUBSTR() die 0 in een 1, dan moet het werken 

mysql.com schreef:
If len is less than 1, the result is the empty string.

http://dev.mysq..._substring
Offline Stefan14 - 06/04/2008 16:05
Avatar van Stefan14 PHP gevorderde juist, dat is hem, dat is wel een rotstreek, in php kan dat wel, dus ik had ook vanuit die wetenschap gehandeld.

Nou goed, dat weten we dan ook weer 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.27s