login  Naam:   Wachtwoord: 
Registreer je!
 Forum

zoeken, OR DIE (Opgelost)

Offline jaronneke - 10/03/2009 12:07
Avatar van jaronnekeMySQL interesse Kan ik ook op een andere manier de error laten weergeven als mysql result == 0 ipv OR DIE?
Want nu breekt mijn lay-out af zodra ik de error krijg te zien.

Alvast bedankt.

  1. <?php
  2. if ($_POST["submit"] != '')
  3. {
  4. $zoeken = $_POST["zoeken"];
  5. $_SESSION["zoeken"] = $zoeken;
  6.  
  7. if (($_SESSION["zoeken"]) != '')
  8. {
  9. $query = mysql_query("SELECT * FROM `vacatures` WHERE `titel` LIKE '%".$zoeken."%'");
  10. while ($show2 = mysql_fetch_assoc($query) or die ('Er komen geen zoekresultaten overeen met het zoekwoord: '.$zoeken.''))
  11. {
  12. echo "<a href=index.php?page=vacatures_bekijken&id=".$show2["v_id"].">".$show2["titel"]."</a><br />";
  13. }
  14. }
  15. else
  16. {
  17. echo 'U bent vergeten om het zoekveld in te vullen!';
  18. }
  19. }
  20. else
  21. {
  22. // mijn formulier
  23. }
  24. ?>

2 antwoorden

Gesponsorde links
Offline Wim - 10/03/2009 12:39
Avatar van Wim Crew algemeen Natuurlijk.

Met PHP.net: mysql_num_rows kan je eerst controleren hoeveel records het zoekcreteria volgen. Als dit er 0 zijn (of minder dan 1) dan kan je je eigen error weergeven dat er geen records gevonden zijn.

Als je echter bedoeld hoe je zelf een eigen error kan geven aan een mysql-foutmelding (syntax error etc), kan je dit doen door de waarde van $query te controleren.
Ik citeer van PHP.net: mysql_query bij het puntje "Return Values":
Citaat:
For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.


Dit wil zeggen: Bij een SELECT (welke jij hier gebruikt) en enkele andere queries retourneerd mysql_query een resource (welke je bij bvb mysql_fetch_assoc meegeeft als parameter). Als deze echter mislukt -en de query dus foutief is- retourneerd deze functie "false".
Om dit te controleren gebruiken we best een booleaanse vergelijking; met 3 = tekens dus (0 is dan NIET gelijk aan false, en 1 is dan NIET gelijk aan true). We hebben dan zoiets:
  1. if ($query === FALSE)
  2. {
  3. echo 'Onze website bevat momenteel een kleine fout. Gelieve later nog eens te proberen';
  4. }


Groetjes,
Wim
Offline jaronneke - 10/03/2009 13:24 (laatste wijziging 10/03/2009 13:25)
Avatar van jaronneke MySQL interesse Bedankt Wim,

Alleen werkte deze manier niet omdat mysql niet echt een fout gaf omdat ik de 'like' functie gebruik , ik heb het al op een andere manier opgelost!

Jaron
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.18s