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: 396
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: 17407
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
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: 396
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: 17407
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
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: 396
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: 17407
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
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: 17407
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
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: 17407
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
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: 396
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
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 396
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-02-2017 22:19

estou com uma nova duvida neste código! preciso pegar uma informação de outra tabela usando a ID dessa que esta acima. porem quando faço isso ele so mostra 1 resultado ao invés de 3onde devo por a outra consulta para que o codigo funcione?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17407
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-02-2017 22:23

Você pode usar o LEFT JOIN.

Veja o exemplo desse link e testa http://www.codigosnaweb.com/forum/viewt ... 19&t=10159
Se possível testa fora do seu sistema para ver a lógica de funcionamento. Depois é só aplicar a sua consulta.
1
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: 396
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-02-2017 22:36

Como no meu caso e sqlserver eu achei um topico com exemplo do JOIN

segue o mesmo como fiz para resolver, funcionou perfeitamente. Obrigado amigo.
SELECT * FROM MEMB_INFO AS C JOIN Character AS P ON C.memb___id = P.AccountID

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17407
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-02-2017 22:42

Boa. Mas é bom sempre selecionar somente as colunas específicas que precisa ao invés do *.

SELECT C.memb___id, P.AccountID FROM MEMB_INFO AS C JOIN Character AS P ON C.memb___id = P.AccountID

0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:

Quem está online

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