Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 380
Nome: João Paulo
Descrição do site: Site de Ofertas de Produtos da cidade
Sexo: Masculino
Localização: Bahia Luis Eduardo Magalhães

FOREACH

04-01-2017 18:43

boa tarde! eu sei que já me disse que não mexe com sql server, esta em PDO. mas tenho uma duvida que conhecimento em php resolver.
ja tentei por LIMIT no final da select porem não consegui teria alguma forma deu limitar na foreach so 3 dados? e ali no 1º como vai ter 3 LI ele colocar oque ta dentro da primeira li como 1º na segunda 2º e na 3º
conseguiria me ajudar com isso ?


$BuscaReset = $mssql->prepare("SELECT cLevel, ResetCount, Name FROM Character ORDER BY ResetCount desc, cLevel desc"); $BuscaReset->execute(); foreach ($BuscaReset as $ResRST){ echo "<li> <p>1º <img src='images/body/profile.jpg' alt=''><span>".$ResRST['Name']." </span></p></li>"; }

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17239
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: FOREACH

04-01-2017 18:54

Você pode usar o array_slice que ele limita a quantidade de itens que serão mostrados.

Veja como funciona o array_slice

<?php $array = Array(1,2,3,4,5); // do primeiro ao terceiro item do array - 0,3 foreach(array_slice($array, 0, 3) AS $n) { echo "$n<br />"; } ?>

No seu caso ficaria:

foreach (array_slice($BuscaReset, 0, 3) as $ResRST){ echo "<li> <p>1º <img src='images/body/profile.jpg' alt=''><span>".$ResRST['Name']." </span></p></li>"; }

Já no caso da numeração, primeiro, segundo, etc fica assim:

$n = 1; foreach (array_slice($BuscaReset, 0, 3) as $ResRST){ echo "<li> <p>$n º <img src='images/body/profile.jpg' alt=''><span>".$ResRST['Name']." </span></p></li>"; $n++; }

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 380
Nome: João Paulo
Descrição do site: Site de Ofertas de Produtos da cidade
Sexo: Masculino
Localização: Bahia Luis Eduardo Magalhães

Re: FOREACH

04-01-2017 19:00

Não funcionou nem um deles so o primeiro que vem da array. 
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17239
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: FOREACH

04-01-2017 19:18

O LIMIT era para funcionar dessa forma:

SELECT cLevel, ResetCount, Name FROM Character ORDER BY ResetCount desc, cLevel desc LIMIT 3

Se não funcionou assim então tenta o seguinte:

$n = 1; foreach ($BuscaReset as $ResRST){ if($i==3) break; // brecando no terceiro incremente echo "<li> <p>".$n."º <img src='images/body/profile.jpg' alt=''><span>".$ResRST['Name']." </span></p></li>"; $n++; // incrementando }

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 380
Nome: João Paulo
Descrição do site: Site de Ofertas de Produtos da cidade
Sexo: Masculino
Localização: Bahia Luis Eduardo Magalhães

Re: FOREACH

04-01-2017 19:38

tentei colocar este LIMIT 3 mas não vai ele não retorna nenhum resultado. o sistema do numero funcionou perfeitamente. porem ele joga tudo oque tiver no banco.

achei este codigo porem eu estou usando PDO teria que colocar ele em PDO. ali tem o numero 100 seria trocar por 3 mas teria que por o num_rows do pdo depois do for. mas nao consegui tambem tem uma ideia?

$query = 'select Name,Class,cLevel,Strength,Dexterity,Vitality,Energy,LevelUpPoint,CtlCode,resets  from Character order by resets desc , cLevel desc';  $result = mssql_query( $query );  //Aqui voce coloca o numero do rank //no caso esta top 100  //se quiser mudar eh soh trocar o 100 pelo numero desejado for($i=0;$i < 100;++$i)  {  $row = mssql_fetch_row($result);  $personag = htmlentities($row[0]); echo '<tr><td width=5% bgcolor=F5F5F5><center><b>'; echo $i + 1;  echo 'º</td><td width=21% bgcolor=F5F5F5><table>';  echo $personag; [/font][/size][/color] echo '</table></td><td width=19% bgcolor=F5F5F5>'; if($row[8] == 8){  echo 'Game Master'; }  else {  if($row[1] == 0){ echo 'Dark Wizard';  }  }

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17239
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: FOREACH

04-01-2017 19:56

Eu vi esse exemplo no php.net http://php.net/manual/en/pdostatement.execute.php

<?php /* Execute a prepared statement by binding a variable and value */ $calories = 150; $colour = 'gre'; $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour LIKE :colour'); $sth->bindParam(':calories', $calories, PDO::PARAM_INT); $sth->bindValue(':colour', "%{$colour}%"); $sth->execute(); ?>

E vi também que você pode usar o bindParam para definir o limit

$sth->bindValue(1, 3, PDO::PARAM_INT);

Veja se dá certo.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17239
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: FOREACH

04-01-2017 19:59

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17239
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: FOREACH

04-01-2017 20:23

Montei um exemplo aqui local usando PDO e consegui usar o LIMIT sem problema. Veja abaixo:

<?php define("SERVIDOR", "localhost"); define("USUARIO", ""); define("SENHA", ""); define("BANCODEDADOS", ""); $db = new PDO('mysql:host=localhost;dbname='.BANCODEDADOS, USUARIO, SENHA); // sql $sql = $db->prepare("SELECT nome FROM dados ORDER BY nome DESC LIMIT 3"); $sql->execute(); foreach ($sql as $d){ echo "{$d['nome']}<br />"; } $sql = null; ?>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 380
Nome: João Paulo
Descrição do site: Site de Ofertas de Produtos da cidade
Sexo: Masculino
Localização: Bahia Luis Eduardo Magalhães

Re: FOREACH  #resolvido

05-01-2017 09:46

Algo difícil de se encontrar na net. codigo PHP para PDO sqlsrv (sql server). depois de muito tentar conseguimos limitar a quantidade que quiser de uma SELECT feita no sql server atraves do php.
<?php $BuscaReset = $mssql->prepare("SELECT * FROM Character ORDER BY ResetCount DESC, cLevel DESC"); $BuscaReset->execute(); $n = 1; for($i=0; $row = $BuscaReset->fetch(); $i++){ if($i==3) break; echo "<li> <p>".$n."º <img src='images/body/profile.jpg' alt=''><span>".$row['Name']." </span></p></li>"; $n++; } ?>


Obrigado.
0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado