Jump to content

Drop-down list using mysql when query not found


Go to solution Solved by requinix,

Recommended Posts

I built a simple input drop-down list, using <select> which populates from a mysql database.
 
It works fine, but if the result from the query is not found then the drop-down list just shrinks and doesn't say anything.
 
I want it to say something like: "Name not found". I've searched everywhere but I can't seem to find the way.
 
This is my code:
<?php
   if ( $myquery = $mysqli->prepare("SELECT name, idname FROM db WHERE 
name LIKE '%".$name."%'") ) { 
      $myquery->execute();
      $myquery->store_result();
      $myquery->bind_result( $nompac, $idpac ) ;
}
 
<form name="form1" method="post" action="example.php">
   <table >
      <tr>
        <td>Name: </td>
        <td>
           <select name="chosen_name">
           <?php
              while ( $myquery->fetch() ) {
                  echo "<strong><option value=".$idpac.">".$nompac."</option></strong>";       
              } 
           ?>
           </select>
        </td>
        <td><input type="submit" name="Submit" value="Go" class="button"/></td>
     </tr>
  </table>
</form>
 
So I added:
if ( empty( $myquery ) ) {
    echo "<strong><option value=''>Name not found</option></strong>";
} else {
    while ( $myquery->fetch() ) {
        echo "<strong><option value='".$idpac."'>".$nompac."</option></strong>";       
    } 
}
 
But it just ignores the code and does nothing.
 
Next I added var_dump($myquery); before the if( empty( $myquery ) ) and nothing happened, so I placed it next to the mysqli prepared query and the output was:

object(mysqli_stmt)#2 (9) { ["affected_rows"]=> int(0) ["insert_id"]=> int(0) ["num_rows"]=> int(0) ["param_count"]=> int(0) ["field_count"]=> int(2) ["errno"]=> int(0) ["error"]=> string(0) "" ["sqlstate"]=> string(5) "00000" ["id"]=> int(2) }

 
Any ideas what am I doing wrong?
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.