pulao 0 Denunciar post Postado Fevereiro 12, 2011 boa tarde tenho que inserir em uma tabela o seguinte: um valor que será quebrado e cada valor recebera um registro diferente, mais ou menos dessa forma: o valor seria 3, entao teria tres registros diferentes, queria saber se estou no caminho certo pra fazer isso: estou tentando dessa forma. // essas variaveis precisam ficar dentro do while ou podem ficar do lado de fora? $quantidade=$_POST['quantidade']; $x=$_POST['x']; $x=$_POST['x']; while($quantidade>=0){ $registro=$aleatorio;//sera um numero aleatorio $result="insert into teste (x,x,registro) value ('".$x."','".$x."','".$registro."')"; $res=mysql_query($result); $registro-1; } queria saber se o post das variaveis precisa ficar dentro do while ou se podem ficar do lado de fora e se esse while daria certo. desde ja agradeço Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 12, 2011 $registro-1? não seria $quantidade-1? está meio confuso. não sei se entendi direito. Mas o "=" no while vai fazer executar X+1 vezes. No caso do 3, executa 4 vezes Compartilhar este post Link para o post Compartilhar em outros sites
pulao 0 Denunciar post Postado Fevereiro 12, 2011 isso eu errei nessa parte mesmo $registro-1? não seria $quantidade-1? está meio confuso. não sei se entendi direito. Mas o "=" no while vai fazer executar X+1 vezes. No caso do 3, executa 4 vezes ta acontecendo que ta tendo um loop gigantesco indo pra o numero perto de mil quando a quantidade é de apenas 4. o que eu preciso é o seguinte tenho 4 itens, cada um recebe um registro diferente, e ao adicionar esses itens na tabela eles terao os mesmo dados somente o registro sera diferente. Entao sera um 1 item x com 4 registros diferentes mas os outros dados iguais o codigo esta dessa forma ate agora... while ($quantidade>=0){ $CaracteresAceitos = 'abcdxywzABCDZYWZ0123456789'; $max = strlen($CaracteresAceitos)-1; $password = null; for($i=0; $i < 5; $i++) { $password .= $CaracteresAceitos{mt_rand(0, $max)}; } $registro=$password; $inserir="insert into $result=mysql_query($inserir); if (!$result){ die ('Erro :'.mysql_error()); } $quantidade-1; } Resolvido, fui testar um codigo parecido no c++ e era no final ao inves de quantidade-1 coloquei quantidade-- deu certo e resolvido logo tem mais Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Fevereiro 12, 2011 cara, se eu não estou enganado, esse loop é infinito! veja: SE($quantidade for maior ou igual a 0) executa. pois $quantidade-1; não vai reduzir o valor de $quantidade. <?php //Tente substituir $quantidade-1; //Por $quantidade--; //Ou $quantidade = ($quantidade - 1) ?> Testei aqui e funcionou beleza: ;) <?php $quantidade = 10; while($quantidade >= 0){ echo 'Olá <br />'; $quantidade--; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
pulao 0 Denunciar post Postado Fevereiro 15, 2011 ja foi resolvido Compartilhar este post Link para o post Compartilhar em outros sites