Ir para conteúdo
Fórum Script Brasil
  • 0

Não consigo exibir dados


Rainer Rocha

Pergunta

Olá, Tudo bom?

Preciso muito da ajuda de vocês, é o seguinte, estou com um Problema, meio dificio de se resolver ..

Esse codigo, pega 500 pessoas do banco de dados OK?

Agora que é a parte Complicada:

com a função:

for($i=0 ; $i < 100 ; $i++ ){

eu quero pegar 100 exato destes 500 usuarios que ainda não é meu amigo, certo?

Até que quando eu não tenho amigos pega 100 certinho, mais quando tenho mais amigos , vai diminuindo, tipo: tem momento que só aparece 10, 50, 30, 92 etc..

Eu quero pegar 100.

Tipo destes 100 primeiro, 1 deu true, então ia ficar 99 certo? ai teria que adicionar + 1 até que fique 100.

OK?

Não sei se vocês entenderam muito, mais olha o codigo ai, que talvez vocês tenha uma noção do que estou falando, e talvez possa me ajudar.

MUITO OBRIGADO DESDE JÁ!

<?php
session_start();
include("db.php");

// AQUI ESTOU PEGANDO 500 USUARIOS DA TABELA usuarios
$select = mysql_query("SELECT * FROM usuarios ORDER by rand()");

         while($reg = mysql_fetch_array($select)){
                  $nome[] = $reg['usuario'];
           }

echo '{"nome":"'.$_GET['user'].'","emails":["';

// DE 500 USUARIOS SELECIONADOS DO BANCO DE DADOS, AQUI PEGA APENAS 100 DO MESMO!
for($i=0; $i < 100; $i++ ){

// USANDO A FUNCAO cURL(); VERIFICA SE TODOS OS 100 USUARIOS, já É MEU AMIGO, EU SOU: $_GET['user'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '/verificar_amigo.php?user_a='.$nome[$i].'&user_b='.$_GET['user'].'');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$store = curl_exec ($ch);

preg_match("/<friends>(.*)<\/friends>/i", $store, $verifica);

// NO ARQUIVO /verificar_amigo.php EXIBE SE A PESSOA já É MEU AMIGO OU NÃO.
// SENDO true para A PESSOA QUE É MEU AMIGO e false SE AINDA NÃO É MEU AMIGO
if($verifica[1]=="false"){
// COMO AQUI SÓ VAI EXIBIR OS USUARIOS QUE DER false (QUE AINDA não É MEU AMIGO) OK?
echo $nome[$i].'","';
}

curl_close ($ch);

}
// E AQUI UMA ULTIMA PESSOA, SÓ PARA FECHAR O ...","penultima","ultima"]}
echo ''.$nome[$i].'"]}';


?>

Editado por Jonathan Queiroz
Remover caixa alta do título (Jonathan Queiroz)
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

tira este for, só vai demorar mais para executar.. faz direto no select

testa assim (só vai exibir 100)

$select = mysql_query("SELECT * FROM usuarios ORDER by rand() limit 0,100");

while($reg = mysql_fetch_array($select)){

$nome[] = $reg['usuario'];

//} //*** Removi para o continuar para todos os selecionados ****

echo '{"nome":"'.$_GET['user'].'","emails":["';

// DE 500 USUARIOS SELECIONADOS DO BANCO DE DADOS, AQUI PEGA APENAS 100 DO MESMO!

//for($i=0; $i < 100; $i++ ){//**** não necessita que o select já limitou a quantidade maxima de 100 ****

Link para o comentário
Compartilhar em outros sites

  • 0

Não deu certo :S

Por exemplo:

Esse codigo verifica se essas 100 pessoas são meus amigos, se for a pagina "verificar_amigo.php" vai retornar a palavra false, e se já for vai retornar a palavra true .

Oque eu quero:

Se alguma destas pessoas exibir TRUE, que quer dizer que ela já é meu amigo. então está descartado, sendo de 100 - 1 = 99, ou se 90 já for meu amigo então é descartada e assim 100 - 90 = 10 eu quero assim: O que sobrar, por exemplo apenas 10 ainda não é meu amigo . então adiciona + 90, 10 + 90 = 100 .

Até que fique 100 pessoas que ainda não são meus amigos.

QUERO QUE FIQUE 100 CERTINHO .

tira este for, só vai demorar mais para executar.. faz direto no select

testa assim (só vai exibir 100)

$select = mysql_query("SELECT * FROM usuarios ORDER by rand() limit 0,100");

while($reg = mysql_fetch_array($select)){

$nome[] = $reg['usuario'];

//} //*** Removi para o continuar para todos os selecionados ****

echo '{"nome":"'.$_GET['user'].'","emails":["';

// DE 500 USUARIOS SELECIONADOS DO BANCO DE DADOS, AQUI PEGA APENAS 100 DO MESMO!

//for($i=0; $i < 100; $i++ ){//**** não necessita que o select já limitou a quantidade maxima de 100 ****

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...