Hej, Jeg har lige brug for lidt hjælp. Jeg har lavet en søgemaskine der søger i bestemte kolonner i min database. Koden ser således ud:
- <form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post'>
- <p>Search for: <input type='text' name='search' size='20' maxlength='64'></p>
- <p><input type='submit' value='SØG'></p>
- </form>
-
- <?php
- if(isset($_POST['search']))
- {
- $connx = mysql_connect('localhost', 'BRUGER', 'PASSWORD') or die("connx");
- $db = mysql_select_db('DB_NAME') or die(mysql_error());
-
- # convert to upper case, trim it, and replace spaces with "|":
- $search = (ini_get('magic_quotes_gpc')) ? stripslashes($_POST['search']) :
- $_POST['search'];
- $search = mysql_real_escape_string($search);
- $search = strtoupper(preg_replace('/\s+/', '|', trim($_POST['search'])));
-
- # create a MySQL REGEXP for the search:
- $regexp = "REGEXP '[[:<:]]($search)[[:>:]]'";
- $query = "SELECT * FROM `galleries` WHERE UPPER(`keywords1`) $regexp OR ".
- "`keywords2` $regexp";
- $result = mysql_query($query) or die($query . " - " . mysql_error());
-
- echo "<table>\n";
- while($row = mysql_fetch_assoc($result))
-
- {
- echo "<tr>";
- echo "<td><img src=../thumbs/{$row['type']}/{$row['folder']}/{$row['date']}-{$row['num']}/{$row['thumbimage']} border=1></td>";
- echo "<td>{$row['name']}</td>";
- echo "<td>{$row['date']}</td>";
- echo "<td><a href=../view.php?id={$row['id']} target=blank>View</a></td>";
- echo "</tr>\n";
- }
- }
-
- ?>
Problemet er at når der ikke er et resultat sker der ikke noget. Jeg vil gerne have den til at skrive: Søgningen gave intet resultat.
Jeg tror jeg skal bruge noget kode lignende dette, men ved ikke hvordan det skal indskrives i det jeg har:
- $result = mysql_query($sql);
- if(mysql_num_rows($result) > 0) {
- // do the stuff you want to do when results are found here
- }
- else {
- // no results were found, so handle that situation here, for example:
- echo "<p>Søgningen gave intet resultat.</p>";
- }
Nogle der kan hjælpe?