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

No limite da tela do celular


Frank K Hosaka

Pergunta

O código que segue é a solução que eu encontrei para listar 15 pessoas de cada vez, usando como critério o nome, ou endereço, ou telefone, ou CPF, ou algo que foi anotado no campo nota. Claro que existem mais de 15 pessoas que tem o nome de Jair, Luis ou Sérgio, ou que tem o telefone com prefixo 6666, e para ver os próximos 15, eu coloquei o botão continuar.

Faz dois anos que estive procurando por essa solução. Demorou, mas eu consegui. O chato é que ele é resultado do método da tentativa e erro, ele não tem nenhum fundamento lógico, pois eu esbarrei no velho problema das aspas. Você pode ver que em algumas linhas eu usei aspas simples, em outras aspas duplas. ELAS NÃO PODEM SER ALTERADAS, senão o programa não vai funcionar. Logo, a solução é uma grande porcaria, é o resultado da minha improvisação.

Se existe algum método lógico para listar 15 pessoas de cada vez na linguagem PHP, isso eu não eu sei. O que eu fiz demorou dois anos, jamais vou conseguir o Nobel dos desenvolvedores, mas quem sabe eu consiga o Nobel da improvisação.

<?php
include("menu.php");
function fsql($campo,$pessoa) {$fsql="select * from tbpessoa where pessoa>='$pessoa' $campo order by pessoa limit 15";return $fsql;};

if (isset($_POST['pessoa'])) {
	$pessoa=$_POST['pessoa'];
	$campo=$_POST['campo'];
	$busca=$_POST['busca'];
	$escolhido=$_POST['escolhido'];
	$escolha=$_POST['escolha'];
	goto inicio;}
	
if (isset($_POST['busca1'])) {
	$busca=$_POST['busca1']; 
	$tamanho=strlen($busca);
	for ($i=1;$i<=5;$i++) {
		if (substr($busca,$tamanho-5,5)=="false"){$busca=substr($busca,0,$tamanho-5);$tamanho=$tamanho-5;} else {
			$busca=substr($busca,0,$tamanho-4);$tamanho=$tamanho-4;$escolha=$i;} }
	$pessoa="";
	$compl="like '%$busca%'";
	switch($escolha) {
		case 5: $campo="and pessoa $compl";$escolhido="Pessoa";goto inicio;
		case 4: $campo="and cnpj $compl";$escolhido="CNPJ";goto inicio;
		case 3: $campo="and end $compl";$escolhido="Endereço";goto inicio;
		case 2: $campo="and tel $compl";$escolhido="Telefone";goto inicio;
		case 1: $campo="and nota $compl";$escolhido="Nota";goto inicio;}}

$escolha=5;
$campo="";
$pessoa="";
$escolhido="Telefone";
$busca="";

inicio:
$sql=fsql($campo,$pessoa);
$mysqli=new mysqli("localhost","root","","diario");
$query=$mysqli->query($sql);
$reg=mysqli_num_rows($query);
echo "<table><tr><th>Busca<th align=left>";
echo '<input id=busca1 onchange=inpg.value=value+rpessoa.checked+rcnpj.checked+rend.checked+rtel.checked+rnota.checked;inpg.name="busca1";frmg.submit()>';
echo "<tr><td><td align=left><input type=radio name=op id=rpessoa>Nome <input type=radio name=op id=rcnpj>CNPJ ";
echo "<input type=radio name=op id=rend>End <input type=radio name=op id=rtel>Tel <input type=radio name=op id=rnota>Nota";
$busca2=$busca;if ($busca=="") {$busca2="Nenhum";}
echo "<tr><td><td><script>busca1.value='$busca2'</script>";
switch($escolha) {
		case 5: echo "<script>rpessoa.checked=true</script>";goto prossiga;
		case 4: echo "<script>rcnpj.checked=true</script>";goto prossiga;
		case 3: echo "<script>rend.checked=true</script>";goto prossiga;
		case 2: echo "<script>rtel.checked=true</script>";goto prossiga;
		case 1: echo "<script>rnota.checked=true</script>";goto prossiga;}
prossiga:
while ($row=$query->fetch_assoc()) {
	$codp=$row['codp'];
	$pessoa=$row['pessoa'];
	$cnpj=$row['cnpj'];
	$end=$row['end'];
	$tel=$row['tel'];
	$nota=$row['nota'];
	$java='alert("'.$codp.$pessoa.$cnpj.$end.$tel.$nota.'")';
	$alerta="<a onclick='$java'>$pessoa</a>";
	echo "<tr><td align=right>$codp<td>$alerta";}
if ($reg==0) {echo "<br><br>Nenhuma pessoa econtrada com o critério $busca no campo $escolhido";}
if ($reg==15) {
	echo "<tr><td><td><form method=post>";
	echo '<input type=hidden name=campo value="'.$campo.'">';
	echo "<input type=hidden name=busca value='$busca'>";
	echo "<input type=hidden name=escolhido value='$escolhido'>";
	echo "<input type=hidden name=pessoa value='$pessoa'>";
	echo "<input type=hidden name=escolha value='$escolha'>";
	echo "<input type=submit value=Continuar></form></table>";}
	

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...