diokhan Posted December 2, 2009 at 02:39 PM Report Share #298382 Posted December 2, 2009 at 02:39 PM boas, agora a minha duvida é, eu consigo gerar automaticamente varias "input type=text", mas preciso de tambem criar dinamicamente as SELECT BOX, tenho uma funçao feita em pdo que gera a SELECT e preenche as OPTIONS com os dados da tabela. mas nao sei como interligar uma coisa e outra. alguem pode ajudar-me? aqui fica a funçao que tenha feita: function GetClient() { $sql = "SELECT ID_CLIENT, NAME_CLIENT FROM client ORDER BY ID_CLIENT ASC"; $stmt = $this->dbh->prepare($sql); $stmt->execute(); $res = $stmt->fetchAll(PDO::FETCH_ASSOC); $clients = array(); foreach( $res as $client ) { $clients[$client['ID_PROJECT']] = $client['NAME_PROJECT']; } return $clients; echo '<select name="IdClient" size="50">'; foreach($clients as $row) { echo '<option value="'.$row['ID_CLIENT'].'"'; echo '>'.$row['NAME_CLIENT'].'</option>'; } echo '</select>'; } desculpa a pergunta, mas é possivel fazer uma query dentro do javascript? APARTE: Usa o Geshi, torna o post mais legível. 🙂 ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
scorch Posted December 2, 2009 at 06:52 PM Report Share #298445 Posted December 2, 2009 at 06:52 PM desculpa a pergunta, mas é possivel fazer uma query dentro do javascript? Não, só com PHP. Podes usar AJAX pelo meio para não teres de recarregar a página. Quanto à tua outra dúvida, não percebi o que queres. Queres, ao carregar a página, através de PHP, criares inputs dinamicamente? PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
diokhan Posted December 2, 2009 at 07:35 PM Author Report Share #298455 Posted December 2, 2009 at 07:35 PM pelo que eu percebi o que o meu chefe disse, preciso criar uma pagina onde ao criar um novo projecto tenha 2 botoes, o SAVE PROJECT e o NEW TASK. ao clicar no save project grava a informaçao que aparece e vai po index, se clicar no new task, o projecto e gravado mas aparece outro menu para introduzir outra tarefa, basicamente, no inicio temos um form do projecto e um form de tarefa, ao clicar no new task os dados que estava na form da task desaparecem e dao lugar a outra tarefa, mas os dados que esta na form do projecto mantenhem-se e ja estao gravados na base de dados, porque sao tabelas diferentes, tanto a dos projectos como as das tarefas. espero ter-me feito perceber. aquilo é por dias, hoje querem assim amanha ja querem tudo diferente, ja nem eu percebo bem ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
scorch Posted December 2, 2009 at 07:46 PM Report Share #298459 Posted December 2, 2009 at 07:46 PM E podes recarregar a página ou tem de se usar JavaScript/AJAX? PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
diokhan Posted December 2, 2009 at 08:15 PM Author Report Share #298463 Posted December 2, 2009 at 08:15 PM quanto a isso o meu chefe nao me disse nada. sou livre de fazer o que quiser desde que o resultado final seja o que ele quer, ele nao se importa como faço desde que funcione. eu inda nao pensei muito bem no assunto, porque ele disse-me isto faltava 5min para sair por isso nao pensei nisso, mas agora a noite vou tirar um tempo para pensar um pouco tambem 🙂 ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
scorch Posted December 2, 2009 at 08:59 PM Report Share #298473 Posted December 2, 2009 at 08:59 PM Sempre que ele clica no botão New Task, ele deve submeter o formulário para uma página PHP que trata os dados. Neste caso insere os dados da tarefa que lá estão, suponho que seja isso que queiras, e depois redirecciona para outra página que mostre de novo o formulário, pronto para uma nova tarefa. PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
diokhan Posted December 2, 2009 at 09:07 PM Author Report Share #298475 Posted December 2, 2009 at 09:07 PM exatamente..ao inicio tenho como inserir um novo projecto e uma nova tarefa, depois de clicar no save task ele guarda na base de dados a informaçao que la tinha e volta a dar-me o formulario da nova tarefa para inserir mais uma tarefa. ate que o utilizador insira as tarefas necessarias, que podem ser uma duas ou mais. mas isso como vai usar smp a mesma pagina e sempre a mesma query para guardar nao ha crise. ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
diokhan Posted December 3, 2009 at 10:21 AM Author Report Share #298542 Posted December 3, 2009 at 10:21 AM eu pensei numa soluçao, <?php if(isset($_POST["saveproject"])) { header('Location: new/insertProject.php'); } if(isset($_POST["addtask"])) { header('Location: new/insertProject2.php'); } ?> <form name=project action='#' method=POST> ... <input type='submit' src='images/user.png' alt='New Project' name='saveproject' border='0' id='Submit_btn' value='Save Project'> <input type='submit' src='images/user.png' alt='Add Task' name='addtask' border='0' id='Submit_btn' value='Add Task'> ja funciona melhor, mas nao esta a passar as variaveis para o outro lado ? ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted December 3, 2009 at 12:47 PM Report Share #298566 Posted December 3, 2009 at 12:47 PM Boas.... Na realidade isso vai envolver javascript... <form name="project" id="frmProject" action="" method="POST"> <!-- AQUI TENS OS OUTROS CAMPOS TODOS --> <input type='button' onclick="this.form.action = 'new/insertProject.php'; this.form.submit();" src='images/user.png' alt='New Project' name='saveproject' border='0' id='Submit_btn' value='Save Project' /> <input type='button' onclick="this.form.action = 'new/insertProject2.php'; this.form.submit();" src='images/user.png' alt='Add Task' name='addtask' border='0' id='Submit_btn' value='Add Task'> Assim ele passa-te os valores do form 🙂 Link to comment Share on other sites More sharing options...
diokhan Posted December 3, 2009 at 01:35 PM Author Report Share #298579 Posted December 3, 2009 at 01:35 PM boas, e que codigo seria este javascript? se puderes dar umas indicaçoes eu agradecia imenso 🙂 ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted December 3, 2009 at 02:32 PM Report Share #298584 Posted December 3, 2009 at 02:32 PM O código javascript já está no exemplo que dei antes... Repara no evento 'onclick' de cada botão... 🙂 Ele assim, dependendo do botao que clicares, muda a action do form e faz post para lá (presumo que as 'variáveis' que falaste constam no formulário, certo?) Link to comment Share on other sites More sharing options...
diokhan Posted December 3, 2009 at 02:35 PM Author Report Share #298586 Posted December 3, 2009 at 02:35 PM sim..estao dentro dos formularios as variaveis..o problema é que sempre que ia guardar na tabela guardava tudo em branco, parece que as variaveis nao estavao a passar..mas vou tentar a tua dica e ja digo algo 🙂 esta a funcionar..obrigado 😛 ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted December 3, 2009 at 11:55 PM Report Share #298655 Posted December 3, 2009 at 11:55 PM De nada 🙂😛 abraço Link to comment Share on other sites More sharing options...
diokhan Posted December 9, 2009 at 09:22 AM Author Report Share #299433 Posted December 9, 2009 at 09:22 AM boas, surgiu-me um problema neste sistema. a primeira vez que corre a pagina grava na base de dados tudo muito bem, na segunda vez quando vou inserir outra tarefa referente ao mesmo projecto já nem um botão funciona nem outro. deixo aqui o meu código para caso alguém queira ver para ser mais fácil ajudar-me: <script language="JavaScript"> if(isset($_POST["saveproject"])) { header('Location: new/insertProject.php'); } if(isset($_POST["addtask"])) { header('Location: new/insertProject2.php'); } </script> <?php require_once ('../Project Manager/functions.php'); $projects = new Project; $projects->GetProjectById($_GET['id']); $nameproject = $projects->GetNameProject(); $description = $projects->GetDescription(); $idplate = $projects->GetIdPlate(); echo" <form name='project' id='frmProject' action='' method='POST'> <h4>Project:</h4> <div id='maintask' style='border-width:1px; border-style:solid; border-color:grey'> Name Project:<span style='padding-left: 10px'><input type='text' name='nameProject' size='100' value='$nameproject' readonly='readonly'></span><br> Description:<span style='padding-left: 24px'><textarea name='description' cols='75' rows='5' value='$description' readonly='readonly'></textarea></span><br> ID Plate:<span style='padding-left: 49px'><input type='text' name='idPlate' size='100' value='$idplate' readonly='readonly'></span><br><br> </div>"; echo" <hr> <h5>Task:</h5> <div id='maintask' style='border-width:1px; border-style:solid; border-color:grey'> Client Name:<span style='padding-left: 44px'>"; $clients = $projects->GetClient(); echo'<select name="idClient">'; foreach($clients as $key=>$value) { echo '<option value="'.$key.'">'.$value.'</option>'; } echo '</select>'; echo" </span><br> Task Name:<span style='padding-left: 50px'><input type='text' name='taskname' size='95'></span><br> Description:<span style='padding-left: 48px'><textarea name='description2' cols='72' rows='5'></textarea></span><br> Plate Number:<span style='padding-left: 34px'><input type='text' name='platenumber' size='95'></span><br> Task Reference:<span style='padding-left: 20px'><input type='text' name='reftask' size='95'></span><br> </div> <hr> <center> <input type='button' onclick='this.form.action='new/insertProject.php'; this.form.submit();' alt='New Project' name='saveproject' id='Submit_btn' value='Save Project' /> <input type='button' onclick='this.form.action='new/insertProject2.php'; this.form.submit();' alt='Add Task' name='addtask' id='Submit_btn' value='Add Task' /> </center> </form>"; ?> pode parecer meio confuso o código ? ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
diokhan Posted December 9, 2009 at 12:03 PM Author Report Share #299451 Posted December 9, 2009 at 12:03 PM soluçao encontrada. troquei todo o meu codigo. estava tudo em php dentro de echo e assim, coloquei tudo em html e so usei o php onde era necessario, ficou a funcionar 5* 😄 ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
diokhan Posted December 10, 2009 at 03:52 PM Author Report Share #299633 Posted December 10, 2009 at 03:52 PM boas, para nao abrir um novo topico pensei que era melhor manter neste. eu tenho uma SELECT e quero guardar numa variavel a opçao, eu vou colocar aqui o codigo para explicar melhor a ideia: <SELECT name=lst_client> <option value=NAME_CLIENT>Client Name</option> <option value=ADDRESS>Address</option> <option value=CITY>City</option> <option value=INSTITUTION>Institution</option> </SELECT> e tenho em baixo: if (isset($_POST['consulta'])) { echo 'Searching for:<strong> '.$consulta. '</strong> in:<strong> '.$lst_client.'</strong>'; } mas gostaria que na variavel $lst_client nao fosse o valor da OPTION mas sim o valor que é apresentado na SELECT, o valor que o utilizador ve. Tenho de colocar um name na OPTION? ? ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted December 10, 2009 at 04:21 PM Report Share #299640 Posted December 10, 2009 at 04:21 PM Ora bem, tu é que controlas o que vai em Value certo? Se quiseres, metes o texto da option no value 😄 A não ser que queiras que ambos os valores passem... Aí deves considerar passar o texto da select como hidden, através de javascript: <input id="opcao_texto" name="opcao_texto" type="hidden" value="" /> <select onchange="document.getElementById('opcao_texto').value = this.options[this.selectedIndex].text;"> (...) </select> Link to comment Share on other sites More sharing options...
diokhan Posted December 10, 2009 at 04:48 PM Author Report Share #299649 Posted December 10, 2009 at 04:48 PM ya sou eu que controlo o valor da VALUE, e por acaso depois da tua resposta sinto-me parvo, que ao pensar bem na pergunta vejo que nao havia necessidade de tal pergunta mas obrigado a mesma 😄 ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted December 10, 2009 at 04:56 PM Report Share #299653 Posted December 10, 2009 at 04:56 PM Na boa 😄 está-se cá para isso 😄 Abraço Link to comment Share on other sites More sharing options...
diokhan Posted December 10, 2009 at 05:00 PM Author Report Share #299654 Posted December 10, 2009 at 05:00 PM por acaso ja percebi o porque da minha pergunta 😄 tipo..o value eu nao posso mudar..porque quando faço a pesquisa uso o VALUE para indicar o campo da tabela onde pesquisar..agora que lembrei disso porque dava-me erros quando mudei os valores eu deixo aqui a parte do codigo que interessa: <form method="POST" action="restrito.php?opcao=admin&op=users"> <fieldset> Search: <input type="text" id="consulta" name="consulta" maxlength="100" /> <SELECT name="lst_user"> <option value="NAME">Name</option> <option value="USER">Username</option> <option value="EMAIL">E-Mail</option> </SELECT> <input type="submit" value="Search" /> <br><br>'; if (isset($_POST['consulta'])) { echo 'Searching for:<strong> '.$consulta. '</strong> in:<strong> '.$lst_user.'</strong>'; } echo' </fieldset> .... if (!isset($_POST['consulta'])) { $paginacao->sql = "SELECT * FROM user ORDER BY ID_USER ASC"; } else{ $paginacao->sql = "SELECT * FROM user WHERE ".$_POST['lst_user']." LIKE '%".$_POST['consulta']."%' ORDER BY ID_USER ASC"; } eu so quero o valor que é apresentado ao utilizador na SELECT para escrever a frase: if (isset($_POST['consulta'])) { echo 'Searching for:<strong> '.$consulta. '</strong> in:<strong> '.$lst_user.'</strong>'; } ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now