Inserir varios registros ao mesmo tempo conforme o jogador?

30 views
Skip to first unread message

Cardoso182

unread,
Jan 5, 2010, 8:32:51 AM1/5/10
to php-brasil
Galera preciso cadastrar o ranking de cada jogador em varios campo
conforme o id do mesmo
estou pegando o id de cada um e mostrando e o username, conforme
participou do jogo ae possuo um form para fazer o cadastro do mesmo
que é mostrado conforme há de usuarios preciso fazer o cadastro, so
que ao cadastrar por exemplo , preenchi pra cadastrar o ranking de um
jogador ele ta cadastrando so o ultimo ID que esta gravado no banco e
não cada campo conforme o ID daquele jogador que preeenche?? alguem
poderia me ajuda, penso que preciso fazer um loop mas não vejo uma
maneira de resolver, postei o codigo que estou tentando fazer no
pastebin

http://pastebin.com/m3bfdffcf

aguardo uma ajuda vlw

Lippert

unread,
Jan 5, 2010, 8:42:22 AM1/5/10
to php-b...@googlegroups.com
Tú quer pegar o próximo ID a ser gravado isso?
tipo no banco tá 150 vc quer gravar 151?

--
Rafael Lippert,
Cel. (49)8403-7787
msn: lipp...@hotmail.com
gtalk: lippert...@gmail.com
Adm: http://www.mafagafo.com.br
---
Twitter Pessoal: http://www.twitter.com/lippertt
Twitter Profissional: http://www.twitter.com/mafagafoblog
----
Bacharel Sistemas de Informação.
Pós - Desenvolvimento de Sistemas para Web.





2010/1/5 Cardoso182 <trova...@gmail.com>



--

Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.



Thiago Cardoso

unread,
Jan 5, 2010, 8:46:17 AM1/5/10
to php-b...@googlegroups.com
não cara eu preciso pegar o id e gravar conforme o cara cadastro nos input todo o registro do mesmo , ou seja todo o ranking dele, so que não to conseguindo eu preenche todos os campo ele cadastra so o do ultimo jogador e o id desse me entende?

2010/1/5 Lippert <lippert...@gmail.com>

Thiago Cardoso

unread,
Jan 5, 2010, 10:23:15 AM1/5/10
to php-b...@googlegroups.com
alguem para me ajudar?? que não esteje de férias.. segue a imagem

http://paradouro.info/forum/ajuda.jpg

2010/1/5 Thiago Cardoso <trova...@gmail.com>

Elton Schivei Costa

unread,
Jan 5, 2010, 10:51:12 AM1/5/10
to php-b...@googlegroups.com
Cara, isso é fácil, tu precisa iterar, exemplo

HTML

<form>

<!------------------jogador 1--------------------------------------------------->
<input type="hidden" name="jagadores[169][id]" value="169" />
<input type="hidden" name="jogadores[169][nome]" value="admin_joao" />
<input type="text" name="jogadores[169][gols]" />
<input type="text" name="jogadores[169]popularidade" />
<input type="text" name="jogadores[169][disciplina]" />
<input type="text" name="jogadores[169][confraternizacao]" />
....
</form>

Veja que, nos name das input, coloquei uma combinação de colchetes "[]" isto faz com que o html envie uma matriz do tipo abaixo em PHP

$_POST[jogadores] = Array(

"169" => Array("id"=>"169","nome"=>"admin_joao","gols"=>"","popularidade"=>"disciplina",""=>"","confraternizacao"=>"")

); // o valor 169 está entre "" (aspas) porque se trata de uma string que veio do nosso html

acredito que, iterar pela array tu saiba (foreach), é só mandar ver agora, transforme em array os campos html que serão repetidos pelo banco, pois, senão, acontece oque está acontecendo contigo, o php irá receber todos os valores, porém, vai entender todos como variáveis e não strings.

Att.

2010/1/5 Thiago Cardoso <trova...@gmail.com>

Thiago Cardoso

unread,
Jan 5, 2010, 11:20:04 AM1/5/10
to php-b...@googlegroups.com
cara agradeço a atenção, so que não entendi muito bem o seu codigo, to tentando da seguinte maneira

// mostrar dados do banco
while ($linha = mysql_fetch_array($res)){
    $id = $linha['id_boleiro'];
    $username = $linha['username'];
    echo "<tr>";
size='14'></td>";    
    echo "<td>".$id."</td>";
    echo "<td>".$username."
        <input type='hidden' name='id_boleiro[$id]' value=".$id.">
    </td>"; 
    echo "<td><input type='text' name='gols[]' size='14'></td>";
    echo "<td><input type='text' name='popularidade[]' size='14'></td>";
    echo "<td><input type='text' name='disciplina[]' size='14'></td>";
    echo "<td><input type='text' name='confraternizacao[]' size='14'></td>";


    echo "</tr>";
}

echo "</table>";

ae dei um print continua me retornando o ultimo ID, independente do input que eu digitar dos campos

Array ( [id_boleiro] => 271 [gols] => [popularidade] => [disciplina] => [confraternizacao] => [registrar] => Registrar ) registro inserido

esta errado da maneira que eu fiz???


2010/1/5 Elton Schivei Costa <lord....@gmail.com>

Elton Schivei Costa

unread,
Jan 5, 2010, 11:37:09 AM1/5/10
to php-b...@googlegroups.com
Faz assim


// mostrar dados do banco
while ($linha = mysql_fetch_array($res)){
    $id = $linha['id_boleiro'];
    $username = $linha['username'];
    echo "<tr>";
size='14'></td>";    
    echo "<td>".$id."</td>";
    echo "<td>".$username."
        <input type='hidden' name='boleiros[$id][id_boleiro]' value=".$id.">
    </td>"; 
    echo "<td><input type='text' name='boleiros[$id][gols]' size='14'></td>";
    echo "<td><input type='text' name='boleiros[$id][popularidade]' size='14'></td>";
    echo "<td><input type='text' name='boleiros[$id][disciplina]' size='14'></td>";
    echo "<td><input type='text' name='boleiros[$id][confraternizacao]' size='14'></td>";


    echo "</tr>";
}

echo "</table>";


depois é só iterar com um foreach, como no exemplo de teste abaixo

foreach($_POST['boleiros'] as $boleiro)
{
   echo "Boleiro: ".$boleiro['id_boleiro']."<br/>";
   echo "Gols:".$boleiro['gols']."<br/>";
   echo "Pop: ".$boleiro['popularidade']."<br/>";
   echo "Dis: ".$boleiro['disciplina']."<br/>";
   echo "Conf: ".$boleiro['confraternizacao']."<br/>";
}

se quiser outro teste para entender como está vindo este resultado

echo "<pre>";
var_dump($_POST['boleiros']);
echo "</pre>";

ao receber a matriz (array) boleiros via $_GET ou $_POST e tentar iterar nela, verá que é parecido com a array retornada de um BD.

Att.


2010/1/5 Thiago Cardoso <trova...@gmail.com>
// mostrar dados do banco

Thiago Cardoso

unread,
Jan 5, 2010, 11:52:20 AM1/5/10
to php-b...@googlegroups.com
Elton agora pelo que vejo me retorno correto  array conforme os dados que eu ia digitando nos campo com os ids

Boleiro: 169
Gols:1
Pop: 2
Dis: 3
Conf: 4
Boleiro: 234
Gols:5
Pop: 6
Dis: 7
Conf: 8
Boleiro: 271
Gols:0
Pop: 1
Dis: 2
Conf: 3
array(3) {
[169]=>
array(6) {
["id_boleiro"]=>
string(3) "169"
["username"]=>
string(10) "admin_joao"
["gols"]=>
string(1) "1"
["popularidade"]=>
string(1) "2"
["disciplina"]=>
string(1) "3"
["confraternizacao"]=>
string(1) "4"
}
[234]=>
array(6) {
["id_boleiro"]=>
string(3) "234"
["username"]=>
string(5) "Moa_4"
["gols"]=>
string(1) "5"
["popularidade"]=>
string(1) "6"
["disciplina"]=>
string(1) "7"
["confraternizacao"]=>
string(1) "8"
}
[271]=>
array(6) {
["id_boleiro"]=>
string(3) "271"
["username"]=>
string(7) "cardoso"
["gols"]=>
string(1) "0"
["popularidade"]=>
string(1) "1"
["disciplina"]=>
string(1) "2"
["confraternizacao"]=>
string(1) "3"
}
}
a duvida é agora como eu gravo no banco esse resultado que ta me retornando , eu coloco o insert dentro do foreach e tal?

2010/1/5 Elton Schivei Costa <lord....@gmail.com>
Faz assim

Elton Schivei Costa

unread,
Jan 5, 2010, 4:38:50 PM1/5/10
to php-b...@googlegroups.com
Isso mesmo, faça os inserts e comunicação "mysql_query()" dentro do foreach, apenas a conexão fica fora dele.

2010/1/5 Thiago Cardoso <trova...@gmail.com>

Thiago Cardoso

unread,
Jan 6, 2010, 7:30:11 AM1/6/10
to php-b...@googlegroups.com
Elton vlw a força cara consegui abç

Elton Schivei Costa

unread,
Jan 6, 2010, 7:37:53 AM1/6/10
to php-b...@googlegroups.com
Disponha, precisando é só falar.

2010/1/6 Thiago Cardoso <trova...@gmail.com>
Reply all
Reply to author
Forward
0 new messages