magnetu 0 Denunciar post Postado Agosto 19, 2011 Galera sou novo aqui, tenho lido bastante as ajudas porem não consegui encontrar nada que pudesse me ajudar num ponto. Fiz um sistema de cadastro que utiliza 3 combobox um para dia, um para mes, e outro para ano, porem no banco de dados ele esta mostrando apenas o ano, gostaria de saber onde estou errando na hora de juntar os 3 ou melhor no código pois pelo que percebi ele so esta pegando um campo ao invez de somar os 3, ele puxa somente o o ano e ignora o dia e o mes. Vou explicar melhor São 4 tabelas a principal onde tem o campo usoData e 3 secundarias que são user_dia, user_mes, user_ano, esta 3 são os combobox, desculpe se não soube me expressar com os termos técnicos mas faz 2 semanas apenas que comecei a mexer com php então não conheço quase nada. <select name="usoData"> <?php do { ?> <option value="<?php echo $row_user_dia['dia']?>"><?php echo $row_user_dia['dia']?></option> <?php } while ($row_user_dia = mysql_fetch_assoc($user_dia)); $rows = mysql_num_rows($user_dia); if($rows > 0) { mysql_data_seek($user_dia, 0); $row_user_dia = mysql_fetch_assoc($user_dia); } ?> </select> <select name="usoData"> <?php do { ?> <option value="<?php echo $row_user_mes['mes']?>"><?php echo $row_user_mes['mes']?></option> <?php } while ($row_user_mes = mysql_fetch_assoc($user_mes)); $rows = mysql_num_rows($user_mes); if($rows > 0) { mysql_data_seek($user_mes, 0); $row_user_mes = mysql_fetch_assoc($user_mes); } ?> </select> <select name="usoData"> <?php do { ?> <option value="<?php echo $row_user_ano['ano']?>"><?php echo $row_user_ano['ano']?></option> <?php } while ($row_user_ano = mysql_fetch_assoc($user_ano)); $rows = mysql_num_rows($user_ano); if($rows > 0) { mysql_data_seek($user_ano, 0); $row_user_ano = mysql_fetch_assoc($user_ano); } ?> </select> No banco so aparece o ano e ignora as duas primeiras datas.... Vlw pela força Compartilhar este post Link para o post Compartilhar em outros sites
vieira.rrafael 2 Denunciar post Postado Agosto 19, 2011 Como é o select que você está usando nas consultas? Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Agosto 20, 2011 Rapaz, pra que isso? Aí você perde toda a facilidade que o MySQL te oferece ao trabalhar com datas. O que você deve fazer criar um campo só para a data, do tipo DATE e ao inserir os dados vindos do formulário, fazer a concatenação no formato 'ANO-MES-DIA' para salvá-la no banco. Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 22, 2011 Como é o select que você está usando nas consultas? bom dia Então eu não sei o que significa o select, mas vou tentar explicar como que fiz, criei tres tabelas no bd, dia mes e ano, e uma outra tabela user, dentro da tabela user eu tenho todos os dados de cadastro inclusive o usoData, que é onde eu puxo as consultas, essas 3 consultas estão sendo puxadas como pode ver para dentro do usoData porem somente o ano esta aparecendo parece ignorar o dia e mes... por isso pensei em concatenar no php ou sql para transformar os 3 dados em um só... Rapaz, pra que isso? Aí você perde toda a facilidade que o MySQL te oferece ao trabalhar com datas. O que você deve fazer criar um campo só para a data, do tipo DATE e ao inserir os dados vindos do formulário, fazer a concatenação no formato 'ANO-MES-DIA' para salvá-la no banco. Bom dia, seria também uma saida porem estou deixando ela em segundo plano pois gostaria de fazer da maneira acima caso não consiga vou partir para esse processo.. Muito obrigado Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 22, 2011 Galera consegui resolver uma parte mas agora travou em outra esta retornando esta messagem de um campo que não quero utilizar ele so será utilizado no sql onde eu vou concatenar os 3 campos e ele sera o campo que irá receber as informações de concatenação segue o erro Column 'usoData' cannot be null tentei usar o codigo abaixo para preencher o campo usoData mas continua com mesmo erro <input type="hidden" name="usoData" value="<?php $sql = 'UPDATE user SET usoData = concat(usoDia, '-', usoMes, '-', usoAno)';?>" /> Compartilhar este post Link para o post Compartilhar em outros sites
magnetu 0 Denunciar post Postado Agosto 23, 2011 Resolvido consegui fazer a 3 datas juntar as tres num campo apenas com concat executando a funçao no php segue abaixo o codigo pra quem interessar. Não esquecendo que o campo que voce quer concatenar tem de estar como nulo no meu caso "usoData". o restante vcs que ja mexem a mais tempo que eu sabem identificar. <?php require_once('Connections/conexao.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO `user` (usoNome, usoEndereco, usoBairro, usoCidade, usoEstado, usoCEP, usoTelefone, usoData, usoDia, usoMes, usoAno, usoSexo, usoEmail, usoSenha, usoCodigo) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['usoNome'], "text"), GetSQLValueString($_POST['usoEndereco'], "text"), GetSQLValueString($_POST['usoBairro'], "text"), GetSQLValueString($_POST['usoCidade'], "text"), GetSQLValueString($_POST['usoEstado'], "text"), GetSQLValueString($_POST['usoCEP'], "text"), GetSQLValueString($_POST['usoTelefone'], "int"), GetSQLValueString($_POST['usoData'], "text"), GetSQLValueString($_POST['usoDia'], "text"), GetSQLValueString($_POST['usoMes'], "text"), GetSQLValueString($_POST['usoAno'], "text"), GetSQLValueString($_POST['usoSexo'], "text"), GetSQLValueString($_POST['usoEmail'], "text"), GetSQLValueString(md5($_POST['usoSenha']), "text"), GetSQLValueString($_POST['usoCodigo'], "text")); mysql_select_db($database_conexao, $conexao); $Result1 = mysql_query($insertSQL, $conexao) or die(mysql_error()); $insertGoTo = "login.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo)); } mysql_select_db($database_conexao, $conexao); $query_user_estado = "SELECT * FROM user_estado"; $user_estado = mysql_query($query_user_estado, $conexao) or die(mysql_error()); $row_user_estado = mysql_fetch_assoc($user_estado); $totalRows_user_estado = mysql_num_rows($user_estado); mysql_select_db($database_conexao, $conexao); $query_user_dia = "SELECT * FROM user_dia"; $user_dia = mysql_query($query_user_dia, $conexao) or die(mysql_error()); $row_user_dia = mysql_fetch_assoc($user_dia); $totalRows_user_dia = mysql_num_rows($user_dia); mysql_select_db($database_conexao, $conexao); $query_user_mes = "SELECT * FROM user_mes"; $user_mes = mysql_query($query_user_mes, $conexao) or die(mysql_error()); $row_user_mes = mysql_fetch_assoc($user_mes); $totalRows_user_mes = mysql_num_rows($user_mes); mysql_select_db($database_conexao, $conexao); $query_user_ano = "SELECT * FROM user_ano"; $user_ano = mysql_query($query_user_ano, $conexao) or die(mysql_error()); $row_user_ano = mysql_fetch_assoc($user_ano); $totalRows_user_ano = mysql_num_rows($user_ano); mysql_select_db($database_conexao, $conexao); $query_uso_data = "SELECT usoData FROM `user`"; $uso_data = mysql_query($query_uso_data, $conexao) or die(mysql_error()); $row_uso_data = mysql_fetch_assoc($uso_data); $totalRows_uso_data = mysql_num_rows($uso_data); mysql_select_db($database_conexao, $conexao); $query_usoData = "SELECT CONCAT(usoDia,'/',usoMes,'/', usoAno) AS usoData FROM user"; $usoData = mysql_query($query_usoData, $conexao) or die(mysql_error()); $row_usoData = mysql_fetch_assoc($usoData); $totalRows_usoData = mysql_num_rows($usoData); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1"> <table align="center"> <tr valign="baseline"> <td nowrap="nowrap" align="right">UsoNome:</td> <td><input type="text" name="usoNome" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">UsoEndereco:</td> <td><input type="text" name="usoEndereco" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">UsoBairro:</td> <td><input type="text" name="usoBairro" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">UsoCidade:</td> <td><input type="text" name="usoCidade" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">UsoEstado:</td> <td><select name="usoEstado"> <?php do { ?> <option value="<?php echo $row_user_estado['estado']?>" ><?php echo $row_user_estado['estado']?></option> <?php } while ($row_user_estado = mysql_fetch_assoc($user_estado)); ?> </select></td> </tr> <tr> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">UsoCEP:</td> <td><input type="text" name="usoCEP" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">UsoTelefone:</td> <td><input type="text" name="usoTelefone" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">Data de Nas:</td> <td><select name="usoDia"> <?php do { ?> <option value="<?php echo $row_user_dia['dia']?>" ><?php echo $row_user_dia['dia']?></option> <?php } while ($row_user_dia = mysql_fetch_assoc($user_dia)); ?> </select> <select name="usoMes"> <?php do { ?> <option value="<?php echo $row_user_mes['mes']?>" ><?php echo $row_user_mes['mes']?></option> <?php } while ($row_user_mes = mysql_fetch_assoc($user_mes)); ?> </select> <select name="usoAno"> <?php do { ?> <option value="<?php echo $row_user_ano['ano']?>" ><?php echo $row_user_ano['ano']?></option> <?php } while ($row_user_ano = mysql_fetch_assoc($user_ano)); ?> </select></td> </tr> <tr> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">UsoSexo:</td> <td><input type="text" name="usoSexo" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">UsoEmail:</td> <td><input type="text" name="usoEmail" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right">UsoSenha:</td> <td><input type="text" name="usoSenha" value="" size="32" /></td> </tr> <tr valign="baseline"> <td nowrap="nowrap" align="right"> </td> <td><input type="submit" value="Enviar" /></td> </tr> </table> <input type="hidden" name="usoData" value="<?php echo $row_usoData['usoData']; ?>" /> <input type="hidden" name="usoCodigo" value="<?php echo md5(uniqid(microtime()));?>" /> <input type="hidden" name="MM_insert" value="form1" /> </form> <p> </p> </body> </html> <?php mysql_free_result($user_estado); mysql_free_result($user_dia); mysql_free_result($user_mes); mysql_free_result($user_ano); mysql_free_result($uso_data); mysql_free_result($usoData); ?> Compartilhar este post Link para o post Compartilhar em outros sites