Jump to content
diokhan

combo box

Recommended Posts

diokhan

boas,

eu tenho uma duvida, é possível fazer uma SELECT e preencher com os dados da tabela e ao mesmo tempo ter um campo feito por mim? por exemplo, na pesquisa eu tenho uma combo box onde tem os dados da tabela e no topo tem uma opção que é ALL TYPES, mas este valor não esta na tabela, é apenas uma opção que eu incluo para caso a pessoa não queria pesquisar por um type especifico e pesquisar logo por todos.

é possível fazer isto? 🤔

neste momento tenho este código para a pesquisa, e onde quero a combo box:

require_once('./admin/constantes.php');
require_once ('./functions.php');
$projects = new Project;

require_once ('admin/page.php');

echo'<form method="POST" action="restrito.php?opcao=project">
      <fieldset>
      <legend>Search:</legend>
       	Project Name:
        	<span style="padding-left: 1px">
        		<input type="text" id="targetDiv1" name="project" maxlength="255" />
        	</span>
        <span style="padding-left: 90px">ID Plate:</span>
        	<span style="padding-left: 35px">
        		<input type="text" id="targetDiv2" name="idPlate" maxlength="255" />
        	</span><br>
        Date:
        	<span style="padding-left: 55px">
        		<input type="text" id="targetDiv3" name="date" maxlength="255" />
        	</span>
        <span style="padding-left: 90px">Client Name:</span>
        	<span style="padding-left: 10px">
        		<input type="text" id="targetDiv4" name="client" maxlength="255" />
        	</span><br>
        Project Type:
        	<span style="padding-left: 9px">';
        		require_once ('./functions.php');
				$project_type = new Project;	
		    	$proj_type = $project_type->GetProjType(); 
	    		echo'<select name="projectType">';
					foreach($proj_type as $key=>$value)
					{
						echo '<option value="'.$key.'">'.$value.'</option>';
		   			}
				echo '</select>';
        	echo'</span><br>       
        <center>
        	<input type="submit" value="Search" />
        </center>
  </fieldset>
    </form>';

sei que se coloco:

<option value=*>All types</option>

vai dar barraca e entre cada opção vai mostrar o "All type"

fiz assim:

Project Type:
        	<span style="padding-left: 9px">';
        		require_once ('./functions.php');
				$project_type = new Project;	
		    	$proj_type = $project_type->GetProjType(); 
	    		echo'<select name="projectType">
	    				<option value=*>All Types</option>';
					foreach($proj_type as $key=>$value)
					{
						echo '<option value="'.$key.'">'.$value.'</option>';
		   			}
				echo '</select>';
        	echo'</span><br>   

esta a aparecer como quero, espero que seja a melhor forma de o fazer, se puder melhorar digam que eu estou aqui para aprender com quem tem mais experiência :confused:


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

agora só tenho a dúvida, ao fazer a pesquisa tenho assim:

if ($projectType !=="all"){
					$paginacao->sql = "SELECT *	FROM CLIENT 
									Inner Join PROJECT_TYPE ON PROJECT.ID_PROJECT_TYPE = PROJECT_TYPE.ID_PROJECT_TYPE
									Inner Join TASK ON TASK.ID_CLIENT = CLIENT.ID_CLIENT
									Inner Join PROJECT ON TASK.ID_PROJECT = PROJECT.ID_PROJECT
									WHERE PROJECT.NAME_PROJECT LIKE '%".$_POST['project']."%' AND
									PROJECT.ID_PLATE LIKE '%".$_POST['idPlate']."%' AND
									PROJECT.DATE LIKE '%".$_POST['date']."%' AND
									CLIENT.NAME_CLIENT LIKE '%".$_POST['client']."%' AND
									PROJECT_TYPE.NAME_PROJECT_TYPE = '".$_POST['projectType']."'
									ORDER BY DATE ASC";	
				}else{
					$paginacao->sql = "SELECT * FROM PROJECT
									Inner Join PROJECT_TYPE ON PROJECT.ID_PROJECT_TYPE = PROJECT_TYPE.ID_PROJECT_TYPE
									WHERE NAME_PROJECT LIKE '%".$_POST['project']."%' AND
									ID_PLATE LIKE '%".$_POST['idPlate']."%' AND
									DATE LIKE '%".$_POST['date']."%'
									ORDER BY DATE ASC";

e a SELECT tenho assim:

Project Type:
        	<span style="padding-left: 9px">';
        		require_once ('./functions.php');
				$project_type = new Project;	
		    	$proj_type = $project_type->GetProjType(); 
	    		echo'<select name="projectType">
	    				<option value=all>All Types</option>';
					foreach($proj_type as $key=>$value)
					{
						echo '<option value="'.$key.'">'.$value.'</option>';
		   			}
				echo '</select>';
        	echo'</span><br> 

mas sempre que vou fazer uma pesquisa com um valor da SELECT da-me erro, mas se deixar no "All Types" funciona bem, estou a apanhar bem o valor da SELECT na query? 🤔


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. 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.