Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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...
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.
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 TOPqual a mensagem de erro? ou nenhum valor é retornado;.
>
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 TOPObrigado! quando eu chegar em casa vou testar as dicas que você deu e respondo se funcionou :)
Problema resolvido obrigado!
Seria legal se você postasse o erro que está ocorrendo.