leandrohb 0 Denunciar post Postado Agosto 30, 2012 opa alguem poderia me ajudar o exemplo abaixo funciona normalmente se eu não utilizar function mas, como terei que repeti a instrução preciso utilizar a função: function top($var1){ $sql = mysql_query("SELECT * FROM top WHERE plataforma ='".$var1."' ORDER BY id DESC LIMIT 6") or die(mysql_error()); $sql1 = mysql_fetch_array($sql); } chamada da função: top(1); se alguem puder da uma luz agradeço... lembrando que se eu não utilizar function o codigo não dá erro... Compartilhar este post Link para o post Compartilhar em outros sites
Miguel Oliveira 4 Denunciar post Postado Agosto 30, 2012 Seria legal se você postasse o erro que está ocorrendo. Compartilhar este post Link para o post Compartilhar em outros sites
leandrohb 0 Denunciar post Postado Agosto 30, 2012 fiz um teste removendo a variável e colocando o valor que eu queria direto e também não funcionou... não mostra nenhum erro na tela. Compartilhar este post Link para o post Compartilhar em outros sites
Alexandre_Cruz 4 Denunciar post Postado Agosto 30, 2012 Você está buscando um inteiro (INT) como uma STRING. Tome cuidado com isso. Mais detalhes nos comentários do código. Use o LIMIT da seguinte forma: LIMIT (índice inicial), (quantidade de valores a partir do indice); <?php require_once 'sua_conecxao_banco_de_dados.php'; //Define uma função qualquer function foo($valor){ //Prepara a query de consulta. Note que aqui $valor não está entre aspas pois será //enviado como INT 1 e não como uma STRING "1" (o que voce estava fazendo em seu código) $sql = "SELECT * FROM 'top' WHERE plataforma = $valor ORDER BY 'id' DESC LIMIT 0,6 "; $retorno = mysql_query($sql) or die("Erro MySQL: ".mysql_error()); //Não é muito recomendável atribuir valores em variaveis em condições, isso não quer //dizer que não é possível. Manual PHP fornece exemplos com esse uso, mas no futuro //isso poderá causar algum problema quando o PHP alterar de versão. Até o momento OK. while (@$row = mysql_fetch_array($retorno)){ // @ evita avisos sobre assign //monte seu output aqui } } //Se receber uma chamada GET ou POST if($_REQUEST['top']){ $top = $_REQUEST['top']; //define uma variavel para receber o valor de TOP foo($top); //passa o valor de $top para a função 'foo' definida acima } ?> Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Agosto 30, 2012 qual a mensagem de erro? ou nenhum valor é retornado;. Compartilhar este post Link para o post Compartilhar em outros sites
leandrohb 0 Denunciar post Postado Agosto 30, 2012 Você está buscando um inteiro (INT) como uma STRING. Tome cuidado com isso. Mais detalhes nos comentários do código. Use o LIMIT da seguinte forma: LIMIT (índice inicial), (quantidade de valores a partir do indice); <?php require_once 'sua_conecxao_banco_de_dados.php'; //Define uma função qualquer function foo($valor){ //Prepara a query de consulta. Note que aqui $valor não está entre aspas pois será //enviado como INT 1 e não como uma STRING "1" (o que voce estava fazendo em seu código) $sql = "SELECT * FROM 'top' WHERE plataforma = $valor ORDER BY 'id' DESC LIMIT 0,6 "; $retorno = mysql_query($sql) or die("Erro MySQL: ".mysql_error()); //Não é muito recomendável atribuir valores em variaveis em condições, isso não quer //dizer que não é possível. Manual PHP fornece exemplos com esse uso, mas no futuro //isso poderá causar algum problema quando o PHP alterar de versão. Até o momento OK. while (@$row = mysql_fetch_array($retorno)){ // @ evita avisos sobre assign //monte seu output aqui } } //Se receber uma chamada GET ou POST if($_REQUEST['top']){ $top = $_REQUEST['top']; //define uma variavel para receber o valor de TOP foo($top); //passa o valor de $top para a função 'foo' definida acima } ?> Obrigado! quando eu chegar em casa vou testar as dicas que você deu e respondo se funcionou :) Compartilhar este post Link para o post Compartilhar em outros sites
leandrohb 0 Denunciar post Postado Setembro 1, 2012 Problema resolvido obrigado! Compartilhar este post Link para o post Compartilhar em outros sites