Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal estou precisando descobrir aonde que este codigo abaixo faz a contagem, seguinte este codigo é de cadastro tipo manda os dados para o db e conta exemplo tenho 100 cadastro o proximo cadastro vai ser 101 quero SABER aonde que este codigo faz este contagem alguém poderia me informar seria grato
<?php
session_start();
include("vars.php");
include("headfoot.php");
mysql_connect($db_host, $db_user, $db_pwd);
mysql_select_db($db_name);
$my_ip_add = $_SERVER['REMOTE_ADDR'];
if ($_GET['ref']) {
if ($_SESSION['ref'] != $_GET['ref']) {
$_SESSION['ref'] = $_GET['ref'];
}
}
if ($_GET['show'] == 'terms') {
uheader();
$res = mysql_query("select content from html where type='terms'");
$terms = mysql_result($res, 0, "content");
echo($terms);
ufooter();
mysql_close;
exit;
} elseif ($_GET['show'] == 'privacy') {
uheader();
$res = mysql_query("select content from html where type='priva'");
$privacy_policy = mysql_result($res, 0, "content");
echo($privacy_policy);
ufooter();
mysql_close;
exit;
} else {
$result = mysql_query ("SELECT * FROM banned_emails");
$bsites = mysql_query ("SELECT * FROM banned_sites");
$bipadds = mysql_query ("SELECT * FROM banned_ipadds");
if (is_string($my_ip_add) && ereg('^([0-9]{1,3})\.([0-9]{1,3})\.' . '([0-9]{1,3})\.([0-9]{1,3})$', $my_ip_add, $sect)) {
if ($sect[1] <= 255 && $sect[2] <= 255 && $sect[3] <= 255 && $sect[4] <= 255) {
$reip = "$sect[1].$sect[2].$sect[3].$sect[4]";
$reipa = "$sect[1].$sect[2].$sect[3].*";
$reipb = "$sect[1].$sect[2].*.*";
$reipc = "$sect[1].*.*.*";
}
}
for ($i = 0; $i < mysql_num_rows($bipadds); $i++) {
$theculpid = mysql_result($bipadds, $i, "id");
$intval = mysql_result($bipadds, $i, "value");
if ($reip == $intval || $reipa == $intval || $reipb == $intval || $reipc == $intval) {
header("Location: /?gt=invip");
mysql_close;
exit;
}
}
$langs = array("English" => "English", "Arabic" => "Arabic", "Chinese" => "Chinese", "Czech" => "Czech", "Danish" => "Danish", "Dutch" => "Dutch", "Estonian" => "Estonian", "Finnish" => "Finnish", "French" => "French", "German" => "German", "Greek" => "Greek", "Hebrew" => "Hebrew", "Hungarian" => "Hungarian", "Icelandic" => "Icelandic", "Italian" => "Italian", "Japanese" => "Japanese", "Korean" => "Korean", "Latvian" => "Latvian", "Lithuanian" => "Lithuanian", "Norwegian" => "Norwegian", "Polish" => "Polish", "Portugues" => "Portugues", "Romanian" => "Romanian", "Russian" => "Russian", "Spanish" => "Spanish", "Swedish" => "Swedish", "Turkish" => "Turkish");
uheader();
echo("<script language=\"javascript1.2\" type=\"text/javascript\">\nfunction TestURL()\n{\n var URL = document.nu.url.value;\n if(URL == \"\" || URL == 'http://') {\n alert(\"You must provide the URL before testing!\");\n document.nu.url.focus();\n return false;\n }\n var URL = 'urltest.php?url='+URL;\n window.open(URL, '_blank' );\n return false;\n}\n</script>\n");
echo("<div align=center class=\"big\"><font face=$fontface><b>Registro de novo membro</b></font></div>\n");
if ($_POST['form'] == 'sent') {
$emaila = trim($_POST['email1']);
$pay_to = trim($_POST['pay_to']);
$payout_address = trim($_POST['canpay']);
$name = trim($_POST['name']);
$passwd = trim($_POST['passwd']);
$sitename = trim($_POST['sitename']);
$url = trim($_POST['url']);
if (ereg(',', $emaila)) {
$recon = explode(',', $emaila);
$emaila = trim($recon[0]);
}
if (ereg(',', $payout_address)) {
$reconst = explode(',', $payout_address);
$payout_address = trim($reconst[0]);
}
$checkpass = 'true';
$error = '<div align=center><font face=$fontface color=red size=2><b>Por favor corrigir o seguinte:<br>';
if (ereg('%', $name) || ereg('<', $name) || ereg('>', $name)) {
$error = $error . 'O nome do seu site contém caracteres inadmissíveis<br>';
$checkpass = 'false';
} elseif ($name == "") {
$error = $error . 'VocÊ deve digitar seu nome<br>';
$checkpass = 'false';
}
$trimail = trim($emaila);
$res = mysql_query("select count(*) from user where email='$trimail'");
if (mysql_result($res, 0) != 0) {
$error = $error . 'Seu endereço de e-mail já está registrado<br>';
$checkpass = 'false';
} elseif (!ereg('@', $emaila) || !ereg('.', $emaila)) {
$error = $error . 'Seu endereço de e-mail não\corresponde<br>';
$checkpass = 'false';
} elseif ($email1 != $email2) {
$error = $error . 'Confirmação de email não confere!<br>';
$checkpass = 'false';
}
for ($i = 0; $i < mysql_num_rows($result); $i++) {
$banned = mysql_result($result, $i, "value");
$allow = true;
$temp = explode("@", $banned);
if ($temp[0] == "*") {
$temp2 = explode("@", $emaila);
if (trim(strtolower($temp2[1])) == trim(strtolower($temp[1]))) {
$allow = false;
$zban = $temp[1]; }
} else {
if (trim(strtolower($emaila)) == trim(strtolower($banned))) {
$allow = false;
$zban = $banned; }
}
if (!$allow) {
$error = $error . "O email: <b>$zban</b> foi banido do sistema!<br>";
$checkpass = 'false';
}
}
if ($payout_address == "") {
$payout_address = "None";
}
if ($passwd == "") {
$error = $error . 'Digite sua senha<br>';
$checkpass = 'false';
} elseif (strlen($passwd) < 6) {
$error = $error . 'Sua senha deve ter pelo menos 6 caracteres<br>';
$checkpass = 'false';
} elseif (ereg('%', $passwd) || ereg(' ', $passwd)) {
$error = $error . 'Sua senha contém caracteres inadmissíveis<br>';
$checkpass = 'false';
} elseif ($passwd != $_POST['passb']) {
$error = $error . 'As senhas não correspondem!<br>';
$checkpass = 'false';
}
if ($sitename == "") {
$error = $error . 'Digite o nome do seu Site<br>';
$checkpass = 'false';
} else if (ereg('%', $sitename) || ereg('<', $sitename) || ereg('>', $sitename)) {
$error = $error . 'O nome do seu site contém caracteres inadmissíveis<br>';
$checkpass = 'false';
}
if ($url == "") {
$error = $error . 'Informe a URL do seu Site<br>';
$checkpass = 'false';
} elseif (!ereg('http://', $url) || !ereg('.', $url)) {
$error = $error . 'A URL seu site contém caracteres inadmissíveis<br>';
$checkpass = 'false';
}
for ($i = 0; $i < mysql_num_rows($bsites); $i++) {
$bs = mysql_result($bsites, $i, "domain");
$site = strtolower($url);
$tsite = explode("/", $site);
$test2 = explode("?", $site);
$allowst = true;
if ($tsite[2] == $bs) {
$allowst = false;
$xban = $bs;
} elseif ($test2[0] == $bs) {
$allowst = false;
$xban = $bs;
}
if (!$allowst) {
$error = $error . "Este site: <b>$xban</b> é proibida URL ou domínio!<br>";
$checkpass = 'false';
}
}
if ($termscheck != 1) {
$error = $error . 'Você deve ler e concordar com os nossos termos<br>';
$checkpass = 'false';
}
if ($checkpass != 'true') {
$error = $error . '</font></b></div>';
echo($error);
}
}
if ($checkpass != 'true') {
echo("<table border=0 cellpadding=5 cellspacing=0 width=100%><form action=$self_url" . "signup.php method=post name=nu><input type=hidden name=form value=sent>\n");
if (isset($ref) && is_numeric($ref)) {
echo("<input type=hidden name=ref value=$ref>");
} elseif ($_SESSION['ref'] && is_numeric($_SESSION['ref'])) {
echo("<input type=hidden name=ref value=" . $_SESSION['ref'] . ">");
} else {
$ref = 0;
}
echo("<tr><td width=50% align=right valign=top><font face=$fontface size=2>Nome:</td><td width=50% align=left valign=top><input value=\"$name\" type=text name=name size=20 maxlength=100 class=webforms></td></tr>\n");
echo("<tr><td align=right valign=top><font face=$fontface size=2>Email:</td><td align=left valign=top><input value=\"$email1\" type=text name=email1 size=20 maxlength=100 class=webforms></td></tr>\n");
echo("<tr><td align=right valign=top><font face=$fontface size=2>Confirme seu email:</td><td align=left valign=top><input value=\"$email2\" type=text name=email2 size=20 maxlength=100 class=webforms></td></tr>\n");
echo("<tr><td align=right valign=top><font face=$fontface size=2>Senha:</td><td align=left valign=top><input type=password name=passwd size=20 maxlength=20 class=webforms></td></tr>\n");
echo("<tr><td align=right valign=top><font face=$fontface size=2>Confirme sua senha:</td><td align=left valign=top><input type=password name=passb size=20 maxlength=20 class=webforms></td></tr>\n");
echo("<tr><td align=right valign=top><font face=$fontface size=2>Detalhes para pagamento:</td><td align=left valign=top><select name=pay_to class=webforms>");
while (list($m, $j) = each($payout_merchants)) {
echo("<option");
if ($m == $pay_to) {echo(" selected");}
echo(" value=$m>$j</option>");
}
echo("</select><input type=text name=canpay size=20 maxlength=150 class=webforms></td></tr>\n");
echo("<tr><td align=right valign=top><font face=$fontface size=2>Nome do seu Site:</td><td align=left valign=top><input value=\"$sitename\" type=text name=sitename size=20 maxlength=255 class=webforms></td></tr>\n");
echo("<tr><td align=right valign=top><font face=$fontface size=2>URL do seu Site:</td><td align=left valign=top><input value=\"");
if ($url == "") {
echo("http://");
}else {
echo("$url");
}
echo("\" type=text name=url size=20 maxlength=255 class=webforms></td></tr>\n");
echo("<tr><td></td><td align=left valign=top><A href=\"\" onclick=\"return TestURL();\"><b><font face=$fontface size=2>Clique aqui para testar sua URL</font></b></a></td></tr>");
echo("<tr><td align=right valign=top><font face=$fontface size=2>Idioma do seu Site:</td><td align=left valign=top><select name=lang class=webforms>");
while (list($k, $v) = each($langs)) {
echo("<option");
if ($k == $lang) {echo(" selected");}
echo(" value=$k>$v</option>");
}
echo("</select></td></tr>\n");
echo("<tr><td align=center valign=top colspan=2><p><label><font size=\"2\" face=\"$fontface\">Você chegou aqui através do membro: <b>");
if ($ref > 0) {
echo("$ref");
} else {
echo("Nenhum");
}
echo("</b><br><input type=\"radio\" name=\"allow_emails\" value=\"yes\"");
if ($allow_emails == 'yes' || $allow_emails == "") {
echo(" checked");
}
echo("> Habilitar a pessoa que me indicou a me enviar email<br>e receber emails dos membros através do sistema</font></label><br><font size=\"2\" face=\"$fontface\"><label><input type=\"radio\" name=\"allow_emails\" value=\"no\"");
if ($allow_emails == 'no') {
echo(" checked");
}
echo("> Por favor, mantenha meu email privado</label></font><br></p></td></tr>");
echo("<tr><td align=center valign=top colspan=2><input type=checkbox");
if ($termscheck == 1) {echo(" checked");}
echo(" name=termscheck value=1><font face=$fontface size=2> Eu aceito os <a href=$self_url"."signup.php?show=terms target=_blank><b><font face=$fontface size=2>Termos e Condições do $title</b></a></td></tr>\n");
echo("<tr><td align=center valign=top colspan=2>$signup_special_note</td></tr>\n");
echo("<tr><td align=center valign=top colspan=2><input type=submit value=\"Registrar\" class=\"formbutton\"></td></tr>\n");
echo("</form></table><p align=center><font size=2><b><a href=\"$self_url"."signup.php?show=privacy\" target=\"_blank\">Política de privacidade</a></b></font></p>\n");
} else {
srand((double)microtime()*1000000);
$ac = rand(10000, 1000000);
$name = trim($name);
$email = trim($email1);
$sitename = trim($sitename);
$name = addslashes($name);
$sitename = addslashes($sitename);
$res = mysql_query("select value from adminprops where field='inibon'");
$inibon = mysql_result($res, 0, "value");
$res = mysql_query("select value from adminprops where field='insbon'");
$insbon = mysql_result($res, 0, "value");
if ($insbon >= 1) {
$resq = mysql_query("select value from adminprops where field='sharec'");
$sharec = mysql_result($resq, 0, "value");
$insbonus = $insbon * $sharec;
} else {
$insbonus = 0;
}
if ((!isset($ref) || !is_numeric($ref)) && $allow_rand_refs == 'yes') {
$get_rand_ref = mysql_query("SELECT id FROM user WHERE acctype>=2 order by rand() limit 1");
if (mysql_num_rows($get_rand_ref) == 0) {
$ref = 0;
} else {
$ref = mysql_result($get_rand_ref, 0);
}
}
$date = date("Y-m-d H:i:s");
$adate = date("Y-m-d");
if ($allow_emails == "") {
$allow_emails = 'yes';
}
if ($activation_pages == 0) {
$ins_crds = $inibon;
} else {
$ins_crds = 0;
}
$new_ins = "insert into user (name, email, passwd, pay_to, payout_address, ref, acctype, credits, lifetime_credits, invested, joindate, minmax, lastaccess, allow_contact, status, ip_address, ac) values ('$name', '$email', '$passwd', $pay_to, '$payout_address', $ref, 1, $ins_crds, $ins_crds, $insbonus, '$date', 0, '$date', '$allow_emails', 'Un-verified', '$my_ip_add', $ac)";
$res = mysql_query($new_ins) or die (mysql_error());
$usrid = mysql_insert_id();
$res = mysql_query("insert into site (usrid, name, url, lang, state, credits) values ($usrid, '$sitename', '$url', '$lang', 'Waiting', 0)");
if ($ref >= 1) {$doias = mysql_query("insert into member_refs values ($usrid, $ref)"); }
if ($insbonus > 0) {
if ($insbon > 1) {
$ss = "s";
}
$res = mysql_query("insert into investment_history (usrid, amount, descr, is_from, processor, adate) values ($usrid, $insbonus, 'Member $upgrade_title$ss : $$sharec per $upgrade_title$ss', 'Signup Bonus', '$title Admin', '$adate')");
}
$surpres = mysql_query("update adminprops set value=value-$ins_crds where field='surplu'");
$surpres = mysql_query("update adminprops set value=value-$insbonus where field='csurpl'");
$res = mysql_query("select value from admin where field='email'");
$admail = mysql_result($res, 0, "value");
mail($email, "Obrigado por se registrar em $title!", "$name, Obrigado pela inscrição!\n\nSeu $title login é: $email\nSua $title Senha é: $passwd\n\nPara ativar a sua conta, você tem que abrir o seguinte link:\n$self_url" . "activate.php?ac=$ac&i=$usrid\nClique nele ou copie e cole em seu navegador.\n\nSeu refferal link é:\nhttp://$siteurl/?ref=$usrid\nVocê vai ganhar $ref_earnings Crédito cada vez que seu referido vizualizar um site!\n\n$title Admin\nhttp://$siteurl/\n$admail", $email_headers);
echo("<p align=center><font face=$fontface size=4><b>Obrigado por se registar!</b></p>" . "<p align=center><font face=$fontface size=4><b>Para ativar sua conta copie e cole o link abaixo em seu navegador</b></p>" . "<p align=center><font face=$fontface size=4><b>\n$self_url" . "activate.php?ac=$ac&i=$usrid\n</b></p>");
}
ufooter();
}
mysql_close;
exit;
?>ok então tenho que entrar nesta coluna e alterar pois o que eu quero é contar não em 1 em 1 e sim em 100 em 100 é possivél isto
é verifiquei no banco de dados mais é na coluna id tem este auto mais é possivél alterar o balor
Não conheço nenhuma uma forma de o Mysql aumentar o auto-increment de 100 em 100... Posso mover para o fórum de Mysql, quem sabe eles podem te ajudar.
Pergunta idiota... qual o motivo disto?
Carlos Eduardo
>
ok então tenho que entrar nesta coluna e alterar pois o que eu quero é contar não em 1 em 1 e sim em 100 em 100 é possivél isto
Bom, primeiro vamos tentar da forma simples, talvez não seja realmente necessário você ter uma coluna assim, olha só:
mysql> select * from contagem;
+----+--------+
| id | nome |
+----+--------+
| 1 | Nome 1 |
| 2 | Nome 2 |
| 3 | Nome 3 |
+----+--------+
3 rows in set (0.00 sec)
Como pode ver a coluna id é auto_increment, agora usando essa mesma coluna para mostrar os dados de 100 em 100:
mysql> select
-> (`id` * 100) 'id',
-> `nome`
-> from
-> `contagem`;
+-----+--------+
| id | nome |
+-----+--------+
| 100 | Nome 1 |
| 200 | Nome 2 |
| 300 | Nome 3 |
+-----+--------+
3 rows in set (0.00 sec)
Multiplicando o valor da nossa coluna por 100, o resultado é exatamente o mesmo, outro exemplo, mostrando a coluna id como se ela estivesse de cabeça para baixo:
mysql> set @maximo := (select max( id ) + 1 from contagem);
Query OK, 0 rows affected (0.00 sec)
mysql> select (@maximo - id) 'id',nome from contagem;
+------+--------+
| id | nome |
+------+--------+
| 3 | Nome 1 |
| 2 | Nome 2 |
| 1 | Nome 3 |
+------+--------+
3 rows in set (0.00 sec)
Ou ainda:
mysql> select (@maximo - id) * 100 'id',nome from contagem;
+------+--------+
| id | nome |
+------+--------+
| 300 | Nome 1 |
| 200 | Nome 2 |
| 100 | Nome 3 |
+------+--------+
3 rows in set (0.00 sec)
Como você pode ver, é possível manipular os dados de uma consulta da forma que melhor lhe convir, porém, se for realmente necessário você ter uma coluna auto_increment de 100 em 100, você pode fazer o seguinde:
1. Criar uma nova coluna id2 (essa que será o novo auto_increment)
mysql> alter table `contagem` add column `id2` mediumint(8) unsigned not null default 0 after `id`,
-> add index `fake_auto_increment`(`id2`);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
2. Criar um trigger, ele fará o trabalho para nós:
mysql> delimiter $
mysql> create trigger fake_auto_increment before insert on contagem
-> for each row begin
-> set NEW.id2 = (select ifnull( max( `id` ) , 0 ) + 1 from `contagem`) * 100;
-> end;$mysql> delimiter ;
Agora é só inserir normalmente os dados na nossa tabela:
mysql> insert into `contagem`(`nome`) values
-> ('Nome 1'),
-> ('Nome 2'),
-> ('Nome 3');
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0
Verificando os dados:
mysql> select * from contagem;
+----+-----+--------+
| id | id2 | nome |
+----+-----+--------+
| 1 | 100 | Nome 1 |
| 2 | 200 | Nome 2 |
| 3 | 300 | Nome 3 |
+----+-----+--------+
3 rows in set (0.00 sec)
Inserindo mais um registro:
mysql> insert into contagem(nome) values ('Nome 4');
Query OK, 1 row affected (0.00 sec)
Verificando novamente:
mysql> select * from contagem;
+----+-----+--------+
| id | id2 | nome |
+----+-----+--------+
| 1 | 100 | Nome 1 |
| 2 | 200 | Nome 2 |
| 3 | 300 | Nome 3 |
| 4 | 400 | Nome 4 |
+----+-----+--------+
4 rows in set (0.00 sec)
Sugiro criar uma simples máscara usandop próprio PHP.
Por questões de performance, usabilidade e flexibilidade.
Sem extender ou entrar em detalhes sobre essa questão, eis um simples exemplo:
function IDMask( $n, $m = 10 )
{
return $n * $m;
}
echo IDMask( 1 ); // imprimirá 10
echo '<br>';
echo IDMask( 1, 100 ); // imprimirá 100
pessoal me desculpe mais acho que não fui muito compreensivo na minha pergunta não quero que mostre em 100 em 100
Tipo a pagina que postei é de cadastro ela manda os dados de cadastro para o db o que eu quero é tipo um user vai lá e se cadastra o cadastro dele é 1 o segundo user é 2 eu quero achar um meio neste codigo que seja assim
1 depois 100 depos 200 depois 300 e assim sucessivamente
tem algum modo
Explique um pouco melhor o seu problema... :)
tipo acho que tirando este auto increment e fazendo um codigo para gerar ids diferentes da certo alguém tem este codigo para eu poder inplantar no codigo meu lá em cima
acredito que compreendemos sim a sua questão.
mas se puder esclarecer melhor, explicando qual o intuito em fazer isso, podemos orientá-lo da melhor forma possível
a nível de estrutura de dados não é recomendável fazer isso
quantos cadastros pretende ter dentro da tabela do banco de dados ?
faça as contas, se pular os IDs de 100 em 100, quantos registros caberiam nessa tabela ?
ou o intuito é criar apenas alguns poucos registros ?
mil cadastros = 100.000
10 mil cadastros = 1.000.000
se o intuito for somente exibir um número maior no momento de imprimir por exemplo, Ordem de Serviço, Boletos, Notas fiscais, etc, então basta criar máscara, sem precisar afetar o Banco de Dados, pois se um dia a regra modificar basta alterar a máscara.
mas primeiramente explique qual o seu real intuito.
Concordo totalmente ocm o hinom, uma modelagem correta agora evita muita dor de cabeça no futuro.
As vezes dependendo do tamanho do sistema, vale mais a pena começar ele de novo do que tentar consertar a má-modelagem inicial do banco de dados e como o PHP vai trabalhar com esses dados durante o desenvolvimento do sistema.
>
Pessoal estou precisando descobrir aonde que este codigo abaixo faz a contagem, seguinte este codigo é de cadastro tipo manda os dados para o db e conta exemplo tenho 100 cadastro o proximo cadastro vai ser 101 quero SABER aonde que este codigo faz este contagem alguém poderia me informar seria grato
Bom, se eu entendi bem sua dúvida, seu código PHP não faz a contagem, ela é feita pelo banco de dados e a coluna que contém a informação 100, 101, 102,....,N é uma coluna auto_increment e quem define o valor dela é o banco de dados.