Jump to content

Jeovane Carvalho

Members
  • Content count

    195
  • Joined

  • Last visited

Community Reputation

6 Regular

6 Followers

About Jeovane Carvalho

  • Rank
    Peter
  • Birthday 01/19/1977

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    SP

Contato

  • Site Pessoal
    http://www.netsistec.com.br

Recent Profile Visitors

859 profile views
  1. Jeovane Carvalho

    Carregar vários maps do google na mesma página

    Olá Gabriel , vlw por responder , então já tinha feito isso mas existem apenas alguns erros que não fazem parte deste script, porém fz uma adaptação usando parte do script modal que muitos usam para carregar forms ou mapas e adaptei para carregar dentro do campo que deixei no link abaixo como exemplo.. https://www.jcimoveisbrasil.com/visitas_on_line.php Mas na verdade eu não queria que o usuário precisasse carregar cada mapa de cada ip e sim eles carregar todos assim que atualizar a página e deste forma eu não consegui e somente invocando .modal.show para obter o resultado mas não esperado.. Veja como ficou o código: <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('#form_2').submit(function(){ beforeSend:$("#new_carregando").fadeIn(900); var dados = jQuery( this ).serialize(); jQuery.ajax({ type: "POST", url: "deletar_visitantes_online.php", data: dados, success: function( data ){ if(data){ alert(data); complete:$("#new_carregando").fadeOut(1400); }else if(data){ alert("ok"); window.self.location.href ="visitas.php"; complete:$("#new_carregando").fadeOut(1400); } } }); return false; }); }); </script> <?php include_once("config.php"); // A sessão precisa ser iniciada em cada página diferente if (!isset($_SESSION)) session_start(); $session =$_SESSION['UsuarioUSUARIO']; header( 'Content-Type: text/html; charset=utf-8' ); header( "Cache-Control: no-cache, must-revalidate" ); header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" ); $nivel_necessario=1; // Verifica se não há a variável da sessão que identifica o usuário //recebemos o parametro vindo do ajax if($_POST['page']){ //configurações da pagina $page = $_POST['page']; $cur_page = $page; $page -= 1; $per_page = 10; $previous_btn = true; $next_btn = true; $first_btn = true; $last_btn = true; $start = $page * $per_page; //inclui o arquivo de conexão //instanciamos nossa classe //executamos nossa query //PEGANDO OS IPS ARMAZENADOS NO BANCO $sql = $MySQLi->query("SELECT id FROM visitantes_online ORDER BY id DESC LIMIT 10") or print(mysqli_error()); $total = mysqli_num_rows($sql); $total_max=$total=10; /* calcula a quantidade de produtos sendo exibidos no momento */ $query =$MySQLi->query("SELECT * FROM visitantes_online LIMIT ".$start.",".$per_page.""); $Quant = mysqli_num_rows($query); ?> <form action="" method="POST" id="form_2" name="apaga" enctype="multipart/form-data"> <div class="visitas_botao"> <input type="hidden" name="Quantidade" id="Quantidade" value="<?php echo $total_max; ?>"> <input type="submit" name="button" id="button" value="Apagar"> <input type="reset" name="button2" id="button2" value="Cancelar"> <input type="checkbox" name="chkAll" onClick="checkAll(this)"><b>Selecionar Tudo</b> </div> <?php $i = 10; while($result = mysqli_fetch_array($query)) { $id=$result['id']; $ip = $result['ip_usuario']; $data = $result['tempo_sessao']; $lat = $result['latitude']; $long= $result['longitude']; echo "<br />"; //USANDO UM LINK EXTERNO PARA PEGAR AS COOORDENADAS PARA A LOCAÇLIZAÇÃO ATRAVÉS DO IP //// guarda uma copia do xml no seu servidor $ch = curl_init("http://ip-api.com/xml/".$ip.""); $fp = fopen("feedcache.xml", "w"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); // carrega o arquivo, porém agora local $xml = simplexml_load_file("feedcache.xml"); $subs = $xml->feed->entry['circulation']; //--- $dados['sucesso'] =(string) $xml ->status; $dados['rua'] = (string) $xml ->country; $dados['bairro'] = (string) $xml->region; $dados['cidade'] = (string) $xml ->regionName; $dados['estado'] = (string) $xml ->city; $dados['zip'] = (string) $xml ->zip; $dados['latitude'] = (string) $xml ->lat; $dados['longitude'] = (string) $xml ->lon; $dados['timezone'] = (string) $xml ->timezone; $dados['provedor'] = (string) $xml ->isp; $dados['empresa'] = (string) $xml ->org; $dados['cep'] = (string) $xml ->as; $dados['IP'] = (string) $xml ->query; ?> <style type="text/css"> /* Always set the map height explicitly to define the size of the div * element that contains the map. */ #map { height: 80%; } /* Optional: Makes the sample page fill the window. */ html, body { height: 100%; margin: 0; padding: 0; } body, .modal-open .page-container, .modal-open .page-container .navbar-fixed-top, .modal-open .modal-container { overflow-y: scroll; } @media (max-width: 979px) { .modal-open .page-container .navbar-fixed-top { overflow-y: visible; } } #map-canvas, #street-view { height: 400px; } html, body { height: 100%; margin: 0; padding: 0; } #map<?php echo $id;?> { height: 100%; } </style> <div class="visitas_botao"><?php echo $id;?> <input type="checkbox" name="del_" value="<?php echo $id; ?>" /> <font color="#999">IP: </font><b> <?php echo $ip; ?></b> <span style="padding:10px;margin-left:10px;color:#003366"><b> Data <?php echo $data; ?></b></span><b>CIDADE: <?php echo $dados['cidade']?> - ESTADO: <?php echo $dados['estado']?> - PROVEDOR: <?php echo $dados['provedor']?> </b><br /><br /><a data-id="<?php echo $id;?>" data-toggle="modal" data-target=".modal-header<?php echo $id;?>" class="btn btn-primary" title="<?php echo $id;?>">Carregar localização no Mapa</a><br /><br /> <!-- Modal content--> <div class="modal-header<?php echo $id;?>"></div> <div id="map-canvas"> <div id="map<?php echo $id;?>" class="map_google"></div> </div> </div> </div> </div> </div> </div> //REQUISITANDO O GOOGLE MAPAS DO GOOGLE ADAPTANDO COM O MODAL PARA ABRIR DENTRO DO HTML E NÃO NA JANELA ESCURA. <script type="text/javascript"> $(document).ready(function() { var id= ('<?php echo $id;?>'); $('.modal-header<?php echo $id;?>').on('shown', function () { $('.modal-header<?php echo $id;?>').modal('show') function initMap() { var myLatlng = {lat: <?php echo $dados['latitude']?>, lng: <?php echo $dados['longitude']?>}; var map = new google.maps.Map(document.getElementById('map<?php echo $id;?>'), { zoom: 15, center: myLatlng }); var marker = new google.maps.Marker({ position: myLatlng, map: map, title: 'Click to zoom' }); map.addListener('center_changed', function() { // 3 seconds after the center of the map has changed, pan back to the // marker. window.setTimeout(function() { map.panTo(marker.getPosition()); }, 3000); }); marker.addListener('click', function() { map.setZoom(8); map.setCenter(marker.getPosition()); }); } initMap(); $('.modal-header<?php echo $id;?>').modal('hide'); }); }); //show map on modal </script> <script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB5yuyRyfh1FQW1lK1WYHZtE_Cqf8AxQf0&callback=initMap"> </script> <?php } ?> <br /><div class="visitas_botao"> <input type="hidden" name="Quantidade" id="Quantidade" value="<?php echo $total_max; ?>"> <input type="submit" name="button" id="button" value="Apagar"> <input type="reset" name="button2" id="button2" value="Cancelar"> <input type="checkbox" name="chkAll" onClick="checkAll(this)"><b>Selecionar Tudo</b> </div></form> <?php /* --------------------------------------------- */ //contamos quantos resgistros possui para controle dos botões $resultado2 = $MySQLi->query("SELECT COUNT(*) AS count FROM visitantes_online"); if(count($resultado2)){ foreach ($resultado2 as $res2) { $count = $res2['count']; } } //desconecta do banco $no_of_paginations = ceil($count / $per_page); /* ---------------Calculando a valores inicial e final para o loop----------------------------------- */ if ($cur_page >= 4) { $start_loop = $cur_page - 1; if ($no_of_paginations > $cur_page + 3) $end_loop = $cur_page +4; else if ($cur_page <= $no_of_paginations && $cur_page > $no_of_paginations - 6) { $start_loop = $no_of_paginations - 4; $end_loop = $no_of_paginations; }else{ $end_loop = $no_of_paginations; } }else{ $start_loop = 1; if($no_of_paginations > 6) $end_loop = 6; else $end_loop = $no_of_paginations; } /* ----------------------------------------------------------------------------------------------------------- */ $msg .= "<div class='pagination'><ul><br />"; // para habilitar o primeiro botão if ($first_btn && $cur_page > 1) { $msg .= "<li p='1' class='active'>Início</li>"; }elseif($first_btn) { $msg .= "<li p='1' class='inactive'>Início</li>"; } // Para permitir que o botão anterior if ($previous_btn && $cur_page > 1) { $pre = $cur_page - 1; $msg .= "<li p='".$pre."' class='active'>Anterior</li>"; }elseif($previous_btn) { $msg .= "<li class='inactive'>Anterior</li>"; } for ($i = $start_loop; $i <= $end_loop; $i++) { if ($cur_page == $i) $msg .= "<li p='$i' id='pass_2' class='active'>{$i}</li>"; else $msg .= "<li p='".$i."' class='active' id='pass'>{$i}</li>"; } // Para permitir o botão próximo if ($next_btn && $cur_page < $no_of_paginations) { $nex = $cur_page + 1; $msg .= "<li p='".$nex."' class='active'>Próximo</li>"; }elseif($next_btn) { $msg .= "<li class='inactive'>Próximo</li>"; } // Para ativar o botão final if ($last_btn && $cur_page < $no_of_paginations) { $msg .= "<li p='".$no_of_paginations."' class='active'>Última</li>"; }elseif($last_btn){ $msg .= "<li p='".$no_of_paginations."' class='inactive'>Última</li>"; } $goto = '<input type="text" class="goto" size="1"/><input type="button" id="go_btn" class="go_button" value="Seguir"/>'; $total_string = "<div class='total' a='".$no_of_paginations."'>Página <b>" . $cur_page."</b> de <b>".$no_of_paginations."</b></div>"; $msg = $msg."".$goto.$total_string."</ul></div><br />"; // Content for pagination //retornamos nossa var com nosso html feito echo $msg; } ?>
  2. Jeovane Carvalho

    Carregar vários maps do google na mesma página

    VEJA.... Eu fiz umas adaptações , mas ele chega tentar carregar , mas a página fica em branco, tipo dentro do javascript google, onde implementa o map-<?php echo $id;?> <- exemplo, onde chama o id de cada mapa , e ele chega a ficar em branco mas não abre o mapa .. <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('#form_2').submit(function(){ beforeSend:$("#new_carregando").fadeIn(900); var dados = jQuery( this ).serialize(); jQuery.ajax({ type: "POST", url: "deletar_visitantes_online.php", data: dados, success: function( data ){ if(data){ alert(data); complete:$("#new_carregando").fadeOut(1400); }else if(data){ alert("ok"); window.self.location.href ="visitas.php"; complete:$("#new_carregando").fadeOut(1400); } } }); return false; }); }); </script> <?php include_once("../config.php"); // A sessão precisa ser iniciada em cada página diferente if (!isset($_SESSION)) session_start(); $session =$_SESSION['UsuarioUSUARIO']; header( 'Content-Type: text/html; charset=utf-8' ); header( "Cache-Control: no-cache, must-revalidate" ); header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" ); $nivel_necessario=1; // Verifica se não há a variável da sessão que identifica o usuário if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] < $nivel_necessario)) { // Destrói a sessão por segurança // Redireciona o visitante de volta pro login header("Location: restrito_2.php"); exit; } include_once("class/sessao.class.php"); //recebemos o parametro vindo do ajax if($_POST['page']){ //configurações da pagina $page = $_POST['page']; $cur_page = $page; $page -= 1; $per_page = 10; $previous_btn = true; $next_btn = true; $first_btn = true; $last_btn = true; $start = $page * $per_page; //inclui o arquivo de conexão //instanciamos nossa classe //executamos nossa query $sql = $MySQLi->query("SELECT id FROM visitantes_online ORDER BY id DESC LIMIT 10") or print(mysqli_error()); $total = mysqli_num_rows($sql); $total_max=$total=10; /* calcula a quantidade de produtos sendo exibidos no momento */ $query =$MySQLi->query("SELECT * FROM visitantes_online LIMIT ".$start.",".$per_page.""); $Quant = mysqli_num_rows($query); ?> <style> /* Always set the map height explicitly to define the size of the div * element that contains the map. */ #map { height: 80%; } /* Optional: Makes the sample page fill the window. */ html, body { height: 100%; margin: 0; padding: 0; } body, .modal-open .page-container, .modal-open .page-container .navbar-fixed-top, .modal-open .modal-container { overflow-y: scroll; } @media (max-width: 979px) { .modal-open .page-container .navbar-fixed-top { overflow-y: visible; } } #map-canvas { height: 400px; } </style> <?php // create a new cURL resource // fim da Função do contador de visitas com banco de dados // ?> <form action="" method="POST" id="form_2" name="apaga" enctype="multipart/form-data"> <div class="visitas_botao"> <input type="hidden" name="Quantidade" id="Quantidade" value="<?php echo $total_max; ?>"> <input type="submit" name="button" id="button" value="Apagar"> <input type="reset" name="button2" id="button2" value="Cancelar"> <input type="checkbox" name="chkAll" onClick="checkAll(this)"><b>Selecionar Tudo</b> </div> <?php $i = 10; while($result = mysqli_fetch_array($query)) { $id=$result['id']; $ip = $result['ip_usuario']; $data = $result['tempo_sessao']; $lat = $result['latitude']; $long= $result['longitude']; echo "<br />"; //// guarda uma copia do xml no seu servidor $ch = curl_init("http://ip-api.com/xml/".$ip.""); $fp = fopen("feedcache.xml", "w"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); // carrega o arquivo, porém agora local $xml = simplexml_load_file("feedcache.xml"); $subs = $xml->feed->entry['circulation']; //--- $dados['sucesso'] =(string) $xml ->status; $dados['rua'] = (string) $xml ->country; $dados['bairro'] = (string) $xml->region; $dados['cidade'] = (string) $xml ->regionName; $dados['estado'] = (string) $xml ->city; $dados['zip'] = (string) $xml ->zip; $dados['latitude'] = (string) $xml ->lat; $dados['longitude'] = (string) $xml ->lon; $dados['timezone'] = (string) $xml ->timezone; $dados['provedor'] = (string) $xml ->isp; $dados['empresa'] = (string) $xml ->org; $dados['estado'] = (string) $xml ->as; $dados['IP'] = (string) $xml ->query; ?> <div class="mapa_texto"><a data-id="<?php echo $id;?>" data-toggle="modal" data-target="#myModalBusca<?php echo $id;?>" class="mapa_g" title="<?php echo $id;?>">Google Mapas</a></div> <div class="modal fade" id="myModalBusca<?php echo $id;?>" role="mapa"> <div class="modal-dialog"> <!-- Modal content--> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Google Maps</h4> </div> <div class="modal-body"> <div id="map-canvas"> <div id="map<?php echo $id;?>" class="map_google"><?php echo $id;?> , <?php echo $dados['latitude'];?> , <?php echo $dados['longitude'];?></div> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button> </div> </div> </div> </div> <div class="visitas_botao"><?php echo $id;?> &nbsp;<input type="checkbox" name="del_" value="<?php echo $id; ?>" /> <font color="#999">IP: </font><b> <?php echo $ip; ?></b> <span style="padding:10px;margin-left:100px;color:#003366"><b> Data <?php echo $data; ?></b></span> MAPA: <?php echo $dados['latitude']?>,<?php echo $dados['longitude']?><?php echo $i++;?> </div> </div> </div> </div> <script type="text/javascript"> $(document).ready(function() { $('#myModalBusca<?php echo $id;?>').on('shown.bs.modal', function () { $('#myModalBusca<?php echo $id;?>').modal('show') function inicializa(){ var mapa_id = {lat: <?php echo $dados['latitude'];?>, lng: <?php echo $dados['longitude'];?>}; var id= ('<?php echo $id;?>'); var map = new google.maps.Map(document.getElementById('map<?php echo $id;?>'), { zoom: 19, id: id, center: mapa_id }); var marker = new google.maps.Marker({ position: mapa_id, map: map, }); google.maps.event.addDomListener(window, 'load', 'map'); } inicializa(); }); }); //show map on modal </script> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB5yuyRyfh1FQW1lK1WYHZtE_Cqf8AxQf0&callback=initMap"></script> <?php } ?> <br /><div class="visitas_botao"> <input type="hidden" name="Quantidade" id="Quantidade" value="<?php echo $total_max; ?>"> <input type="submit" name="button" id="button" value="Apagar"> <input type="reset" name="button2" id="button2" value="Cancelar"> <input type="checkbox" name="chkAll" onClick="checkAll(this)"><b>Selecionar Tudo</b> </div></form> <?php /* --------------------------------------------- */ //contamos quantos resgistros possui para controle dos botões $resultado2 = $MySQLi->query("SELECT COUNT(*) AS count FROM visitantes_online"); if(count($resultado2)){ foreach ($resultado2 as $res2) { $count = $res2['count']; } } //desconecta do banco $no_of_paginations = ceil($count / $per_page); /* ---------------Calculando a valores inicial e final para o loop----------------------------------- */ if ($cur_page >= 4) { $start_loop = $cur_page - 1; if ($no_of_paginations > $cur_page + 3) $end_loop = $cur_page +4; else if ($cur_page <= $no_of_paginations && $cur_page > $no_of_paginations - 6) { $start_loop = $no_of_paginations - 4; $end_loop = $no_of_paginations; }else{ $end_loop = $no_of_paginations; } }else{ $start_loop = 1; if($no_of_paginations > 6) $end_loop = 6; else $end_loop = $no_of_paginations; } /* ----------------------------------------------------------------------------------------------------------- */ $msg .= "<div class='pagination'><ul><br />"; // para habilitar o primeiro botão if ($first_btn && $cur_page > 1) { $msg .= "<li p='1' class='active'>Início</li>"; }elseif($first_btn) { $msg .= "<li p='1' class='inactive'>Início</li>"; } // Para permitir que o botão anterior if ($previous_btn && $cur_page > 1) { $pre = $cur_page - 1; $msg .= "<li p='".$pre."' class='active'>Anterior</li>"; }elseif($previous_btn) { $msg .= "<li class='inactive'>Anterior</li>"; } for ($i = $start_loop; $i <= $end_loop; $i++) { if ($cur_page == $i) $msg .= "<li p='$i' id='pass_2' class='active'>{$i}</li>"; else $msg .= "<li p='".$i."' class='active' id='pass'>{$i}</li>"; } // Para permitir o botão próximo if ($next_btn && $cur_page < $no_of_paginations) { $nex = $cur_page + 1; $msg .= "<li p='".$nex."' class='active'>Próximo</li>"; }elseif($next_btn) { $msg .= "<li class='inactive'>Próximo</li>"; } // Para ativar o botão final if ($last_btn && $cur_page < $no_of_paginations) { $msg .= "<li p='".$no_of_paginations."' class='active'>Última</li>"; }elseif($last_btn){ $msg .= "<li p='".$no_of_paginations."' class='inactive'>Última</li>"; } $goto = '<input type="text" class="goto" size="1"/><input type="button" id="go_btn" class="go_button" value="Seguir"/>'; $total_string = "<div class='total' a='".$no_of_paginations."'>Página <b>" . $cur_page."</b> de <b>".$no_of_paginations."</b></div>"; $msg = $msg."".$goto.$total_string."</ul></div><br />"; // Content for pagination //retornamos nossa var com nosso html feito echo $msg; } ?> Note que agora estou tentando carregar dentro de um modal.
  3. Jeovane Carvalho

    Carregar vários maps do google na mesma página

    Eu tentei isso , mas o script do google não respondeu.
  4. Jeovane Carvalho

    Carregar vários maps do google na mesma página

    Saudações senhoras e senhores, e estou com uma pequena dificuldade.. Preciso fazer várias requisições de vários mapas conforme os ips coletados, e a configuração para pegar as coordenadas de latitude e longitude pelo IP eu já consegui fazer, mas só gera um mapa e os outros ips correspondentes ele não aparece, pois sei que preciso criar uma requisição para carregar de cada ip um mapa, e deixei um link disponível para vocês terem ideia . LINK PARA O TESTE DO MAPA DO GOOGLE No link acima é a maneira como eu pretendo, mas só aparece o primeiro mapa e vejam que as coordenadas é de acordo com cada IP, e sou ciente que essas localizações não são exatas por se tratar de IPS dinâmicos. SEGUE O CÓDIGO QUE ESTOU USANDO PARA O SISTEMA ! <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('#form_2').submit(function(){ beforeSend:$("#new_carregando").fadeIn(900); var dados = jQuery( this ).serialize(); jQuery.ajax({ type: "POST", url: "deletar_visitantes_online.php", data: dados, success: function( data ){ if(data){ alert(data); complete:$("#new_carregando").fadeOut(1400); }else if(data){ alert("ok"); window.self.location.href ="visitas.php"; complete:$("#new_carregando").fadeOut(1400); } } }); return false; }); }); </script> <?php include_once("config.php"); // A sessão precisa ser iniciada em cada página diferente if (!isset($_SESSION)) session_start(); $session =$_SESSION['UsuarioUSUARIO']; header( 'Content-Type: text/html; charset=utf-8' ); header( "Cache-Control: no-cache, must-revalidate" ); header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" ); // Verifica se não há a variável da sessão que identifica o usuário //recebemos o parametro vindo do ajax if($_POST['page']){ //configurações da pagina $page = $_POST['page']; $cur_page = $page; $page -= 1; $per_page = 10; $previous_btn = true; $next_btn = true; $first_btn = true; $last_btn = true; $start = $page * $per_page; //inclui o arquivo de conexão //instanciamos nossa classe //executamos nossa query $sql = $MySQLi->query("SELECT id FROM visitantes_online ORDER BY id DESC LIMIT 10") or print(mysqli_error()); $total = mysqli_num_rows($sql); $total_max=$total=10; /* calcula a quantidade de produtos sendo exibidos no momento */ $query =$MySQLi->query("SELECT * FROM visitantes_online LIMIT ".$start.",".$per_page.""); $Quant = mysqli_num_rows($query); ?> <style> /* Always set the map height explicitly to define the size of the div * element that contains the map. */ #map { height: 80%; } /* Optional: Makes the sample page fill the window. */ html, body { height: 100%; margin: 0; padding: 0; } </style> <?php // create a new cURL resource // fim da Função do contador de visitas com banco de dados // function getPage($url, $referer='', $timeout=30, $header=''){ if ($referer=='') $referer='http://'.$_SERVER['HTTP_HOST']; if(!isset($timeout)) $timeout=30; $curl = curl_init(); if(strstr($referer,"://")){ curl_setopt ($curl, CURLOPT_REFERER, $referer); } curl_setopt ($curl, CURLOPT_URL, $url); curl_setopt ($curl, CURLOPT_TIMEOUT, $timeout); curl_setopt ($curl, CURLOPT_USERAGENT, sprintf("Mozilla/%d.0",rand(4,5))); curl_setopt ($curl, CURLOPT_HEADER, (int)$header); curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0); $html = curl_exec ($curl); curl_close ($curl); return $html; } ?> <form action="" method="POST" id="form_2" name="apaga" enctype="multipart/form-data"> <div class="visitas_botao"> <input type="hidden" name="Quantidade" id="Quantidade" value="<?php echo $total_max; ?>"> <input type="submit" name="button" id="button" value="Apagar"> <input type="reset" name="button2" id="button2" value="Cancelar"> <input type="checkbox" name="chkAll" onClick="checkAll(this)"><b>Selecionar Tudo</b> </div> //*** AQUI COMEÇA O CÓDIGO PARA PEGAR AS COORDENADAS E EXIBIR O MAPA USANDO O CURL E O WHILE PARA BUSCAR TODOS OS IPS ARMAZENADOS ***// <?php $i = 10; while($result = mysqli_fetch_array($query)) { $id=$result['id']; $ip = $result['ip_usuario']; $data = $result['tempo_sessao']; echo "<br /> "; //// guarda uma copia do xml no seu servidor $ch = curl_init("http://ip-api.com/xml/".$ip.""); $fp = fopen("feedcache.xml", "w"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); // carrega o arquivo, porém agora local $xml = simplexml_load_file("feedcache.xml"); $subs = $xml->feed->entry['circulation']; //--- $dados['sucesso'] =(string) $xml ->status; $dados['rua'] = (string) $xml ->country; $dados['bairro'] = (string) $xml->region; $dados['cidade'] = (string) $xml ->regionName; $dados['estado'] = (string) $xml ->city; $dados['zip'] = (string) $xml ->zip; $dados['latitude'] = (string) $xml ->lat; $dados['longitude'] = (string) $xml ->lon; $dados['timezone'] = (string) $xml ->timezone; $dados['provedor'] = (string) $xml ->isp; $dados['empresa'] = (string) $xml ->org; $dados['estado'] = (string) $xml ->as; $dados['IP'] = (string) $xml ->query; ?> <script> // This example displays a map with the language set to Arabic and the // regions set to Egypt. These settings are specified in the HTML script // element when loading the Google Maps JavaScript API. // Setting the language shows the map in the language of your choice. // Setting the region biases the geocoding results to that region. // In addition, the page's html element sets the text direction to // right-to-left. function initMap() { var cairo = {lat: <?php echo $dados['latitude']?>, lng:<?php echo $dados['longitude']?>}; var map = new google.maps.Map(document.getElementById('map'), { scaleControl: true, center: cairo, zoom: 18 }); var infowindow = new google.maps.InfoWindow; infowindow.setContent('<b>MAPA</b>'); var marker = new google.maps.Marker({map: map, position: cairo}); marker.addListener('click', function() { infowindow.open(map, marker); }); } </script> <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAQiIvxtURMaZKpE6Tj6hyJdfC72kgQI3g&callback=initMap" async defer></script> //*** FIM DA PARTE DE BUSCA DOS MAPAS ***// <div class="visitas_botao"><?php echo $id;?> <input type="checkbox" name="del_" value="<?php echo $id; ?>" /> <font color="#999">IP: </font><b> <?php echo $ip; ?></b> <span style="padding:10px;margin-left:100px;color:#003366"><b> Data <?php echo $data; ?> | LATITUDE:<?php echo $dados['latitude']?> | LONGITUDE<?php echo $dados['longitude']?></b></span>MAPA: <div id="map" style="width:70%; height:300px"></div><?php echo $i++;?> </div> <?php } ?> <br /><div class="visitas_botao"> <input type="hidden" name="Quantidade" id="Quantidade" value="<?php echo $total_max; ?>"> <input type="submit" name="button" id="button" value="Apagar"> <input type="reset" name="button2" id="button2" value="Cancelar"> <input type="checkbox" name="chkAll" onClick="checkAll(this)"><b>Selecionar Tudo</b> </div></form> <?php /* --------------------------------------------- */ //contamos quantos resgistros possui para controle dos botões $resultado2 = $MySQLi->query("SELECT COUNT(*) AS count FROM visitantes_online"); if(count($resultado2)){ foreach ($resultado2 as $res2) { $count = $res2['count']; } } //desconecta do banco $no_of_paginations = ceil($count / $per_page); /* ---------------Calculando a valores inicial e final para o loop----------------------------------- */ if ($cur_page >= 4) { $start_loop = $cur_page - 1; if ($no_of_paginations > $cur_page + 3) $end_loop = $cur_page +4; else if ($cur_page <= $no_of_paginations && $cur_page > $no_of_paginations - 6) { $start_loop = $no_of_paginations - 4; $end_loop = $no_of_paginations; }else{ $end_loop = $no_of_paginations; } }else{ $start_loop = 1; if($no_of_paginations > 6) $end_loop = 6; else $end_loop = $no_of_paginations; } /* ----------------------------------------------------------------------------------------------------------- */ $msg .= "<div class='pagination'><ul><br />"; // para habilitar o primeiro botão if ($first_btn && $cur_page > 1) { $msg .= "<li p='1' class='active'>Início</li>"; }elseif($first_btn) { $msg .= "<li p='1' class='inactive'>Início</li>"; } // Para permitir que o botão anterior if ($previous_btn && $cur_page > 1) { $pre = $cur_page - 1; $msg .= "<li p='".$pre."' class='active'>Anterior</li>"; }elseif($previous_btn) { $msg .= "<li class='inactive'>Anterior</li>"; } for ($i = $start_loop; $i <= $end_loop; $i++) { if ($cur_page == $i) $msg .= "<li p='$i' id='pass_2' class='active'>{$i}</li>"; else $msg .= "<li p='".$i."' class='active' id='pass'>{$i}</li>"; } // Para permitir o botão próximo if ($next_btn && $cur_page < $no_of_paginations) { $nex = $cur_page + 1; $msg .= "<li p='".$nex."' class='active'>Próximo</li>"; }elseif($next_btn) { $msg .= "<li class='inactive'>Próximo</li>"; } // Para ativar o botão final if ($last_btn && $cur_page < $no_of_paginations) { $msg .= "<li p='".$no_of_paginations."' class='active'>Última</li>"; }elseif($last_btn){ $msg .= "<li p='".$no_of_paginations."' class='inactive'>Última</li>"; } $goto = '<input type="text" class="goto" size="1"/><input type="button" id="go_btn" class="go_button" value="Seguir"/>'; $total_string = "<div class='total' a='".$no_of_paginations."'>Página <b>" . $cur_page."</b> de <b>".$no_of_paginations."</b></div>"; $msg = $msg."".$goto.$total_string."</ul></div><br />"; // Content for pagination //retornamos nossa var com nosso html feito echo $msg; } ?> Tentei fazer as requisições com ajax para recarregar o script do google mas sem sucesso, mas se alguém tiver uma ideia de como fazer eu agradeço
  5. Olá pessoal, preciso de uma grand ajuda de vocês, pois estou desenvolvendo um novo website e preciso acertar uma paginação SEM REFRESH que peguei em alguns tutoriais e adaptei as minhas necessidades , e essa paginação recebe normalmente quando não é um array, e irei explicar detalhadamente, tipo assim, o usuário faz uma busca de uma imóvel e escolhe um determinado bairro, e este bairro possuem 20 imóveis , na hora da paginação ele retorna certinho conforme minha limitação TIPO 4 ITENS POR PAGINAÇÃO, até tranquilidade, mas se o usuário buscar 2 bairro, por exemplo Tatuapé e Brás e cada bairro possuir 30 imóveis e eu limitar para aparecer 5 por página, o código trás 5 de cada bairro e fica aparecendo 10 na paginação ao invés de 5 , e queria que aparecesse somente 5 e os outros bairros viesses na próxima página.. Estou a semanas tentando acertar isso Segue o código abaixo: Código php com os critérios de busca: if(isset($_POST) && isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){ include_once("config.php");$sessao_usuario_1=session_start(); $session_id=session_id(); $session=$_SESSION['UsuarioLogin']; $senha=$_SESSION['UsuarioSenha']; if (!isset($_SESSION)) session_start(); $nivel_necessario=NULL; //include config file //Get page number from Ajax POST if(isset($_POST["page"])){ $page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH); //filter number if(!is_numeric($page_number)){die('Página inválida!');} //incase of invalid page number }else{ $page_number = 1; //if there's no page number, set it to 1 } $results = $MySQLi->query("SELECT id,ip,negocio,tipo,cidade,bairro FROM busca_bairros WHERE ip='".$ip."' ORDER BY id DESC"); $linha=mysqli_fetch_array($results); $negocio_id=$linha['negocio']; $tipo_id=$linha['tipo']; $cidade_id=$linha['cidade']; $bairro_id=$linha['bairro']; $tipo_id_2=explode("|",$tipo_id); $cidade_id_2=explode("|",$cidade_id); $bairro_id_2=explode("|",$bairro_id); foreach ($tipo_id_2 as $key=> $tipo_id_3): foreach ($cidade_id_2 as $key=> $cidade_id_3): foreach ($bairro_id_2 as $kSey=> $bairro_id_3): /* MONTA CRITERIOS DE BUSCA */ $where = "i.ativo ='1'"; if(!empty( $negocio_id) ) { $where .=" AND i.id_negocio_tipo=".$negocio_id.""; }if(!empty( $tipo_id_3 ) ) { $where .=" AND i.id_tipo_imovel=".$tipo_id_3.""; } if(!empty( $cidade_id_3 ) ) { $where .=" AND i.id_cidade=".$cidade_id_3.""; } if(!empty( $bairro_id_3 ) ) { $where .=" AND i.bairro=".$bairro_id_3.""; } echo $bairro_id_3 .","; //get total number of records from database for pagination $results = $MySQLi->query("SELECT i.*, t.tipo_nome, b.bairro, n.tipo, c.cidade FROM imoveis i LEFT JOIN negocio_tipo n ON (n.id = i.id_negocio_tipo) LEFT JOIN imoveis_tipo t ON (t.id = i.id_tipo_imovel) LEFT JOIN cidades c ON (c.id = i.id_cidade) LEFT JOIN bairros b ON (b.id = i.bairro) WHERE ".$where."") or print(mysqli_error()); $get_total_rows =mysqli_num_rows($results); //hold total records in variable //break records into pages $total_pages = ceil($get_total_rows / $item_per_page); $pgs = ceil($total_pages / $page_number); $total_dados +=$get_total_rows; //get starting position to fetch the records $page_position = (($page_number-1) * $item_per_page); $pgst = ceil($total_dados / $item_per_page); mysqli_free_result($results); //////// endforeach; endforeach; endforeach; if (!empty($total_dados)==1 ) { echo "<br /><br /><div class='codigo_busca'><p>Foram encontrados <b>".$total_dados."</b> imóveis.</p>"."<br />"; echo "<p><span style='font-weight:bold; font-size:14px; color:#FF0;'><b>Página:</b></span> <span style='font-weight:bold; font-size:14px;'>".$page_number." de ".$pgst."</span></p></div><br /><br />"; }else{ echo"<br /><br /><br />"; echo "<div class='sem_busca'><b><span style='font: 22px Arial; color: #FFF; font-size: 15px;'><b>Nenhum imóvel encontrado! Tente uma nova busca !<br /><br /></b></span></b>"; echo"<br /><a href='javascript:window.history.go(-1)'><font color='#ffffff' size='2' face='Arial, Helvetica, sans-serif'><b>VOLTAR<br /><br /><img src='".$site."imagens/voltar.png'></b></font></a></div><br /><br />"; }} foreach ($tipo_id_2 as $key=> $tipo_id_3): foreach ($cidade_id_2 as $key=> $cidade_id_3): foreach ($bairro_id_2 as $kSey=> $bairro_id_3): /* MONTA CRITERIOS DE BUSCA */ $where = "i.ativo ='1'"; if(!empty( $negocio_id) ) { $where .=" AND i.id_negocio_tipo=".$negocio_id.""; }if(!empty( $tipo_id_3 ) ) { $where .=" AND i.id_tipo_imovel=".$tipo_id_3.""; } if(!empty( $cidade_id_3 ) ) { $where .=" AND i.id_cidade=".$cidade_id_3.""; } if(!empty( $bairro_id_3 ) ) { $where .=" AND i.bairro=".$bairro_id_3.""; } $sql =$MySQLi->query("SELECT i.id, i.valor, i.foto_exibicao, i.quartos, i.garagem,i.mapa, i.codigo, t.tipo_nome, n.tipo AS negocio, c.cidade, c.uf, b.bairro FROM imoveis i LEFT JOIN negocio_tipo n ON (n.id = i.id_negocio_tipo) LEFT JOIN imoveis_tipo t ON (t.id = i.id_tipo_imovel) LEFT JOIN cidades c ON (c.id = i.id_cidade) LEFT JOIN bairros b ON (b.id = i.bairro) WHERE ".$where." ORDER BY i.id DESC LIMIT (".array_slice.""." ".$page_position.", ".$item_per_page.") ") or print(mysqli_error()); while($linha = mysqli_fetch_array( $sql ) ) { $dados=mysqli_num_rows($sql); $foto=$linha['foto_exibicao']; $tipos=$linha['tipo_nome']; $tipo = $tipos; $tipo = strtolower( str_replace(" ", "-", strtr(utf8_decode(trim($tipo)), utf8_decode("áàãâéêíóôõúüñçÁÀÃÂÉÊÍÓÔÕÚÜÑÇ"),"aaaaeeiooouuncAAAAEEIOOOUUNC-")) ); $bairros=$linha['bairro']; $bairro = $bairros; $bairro = strtolower( str_replace(" ", "-", strtr(utf8_decode(trim($bairro)), utf8_decode("áàãâéêíóôõúüñçÁÀÃÂÉÊÍÓÔÕÚÜÑÇ"),"aaaaeeiooouuncAAAAEEIOOOUUNC-")) ); $cidades=$linha['cidade']; $cidade = $cidades; $cidade = strtolower( str_replace(" ", "-", strtr(utf8_decode(trim($cidade)), utf8_decode("áàãâéêíóôõúüñçÁÀÃÂÉÊÍÓÔÕÚÜÑÇ"),"aaaaeeiooouuncAAAAEEIOOOUUNC-")) ); $mapa=$linha['mapa']; $id=$linha['id']; ?> <div class="listaImoveis"> <?php $img1='<a href="'.$site.'imovel/'.$tipo ."/".$bairro."/".$cidade."/".$linha['id'].'"> <img src="'.$site.'img_imoveis/'.$foto.'" width="170" height="130" alt="Imobiliária em São Paulo" /></a> '; $img2=' <a href="'.$site.'imovel/'.$tipo ."/".$bairro."/".$cidade."/".$linha['id'].'"> <img src="'.$site.'img_imoveis/sem_foto.jpg" width="170" height="130" alt="Imobiliária em São Paulo" /></a> '; if(!empty($foto)){ echo $img1; }else{ echo $img2; } $url = getPage('https://maps.googleapis.com/maps/api/geocode/json?address='.$mapa.'&key=AIzaSyAQiIvxtURMaZKpE6Tj6hyJdfC72kgQI3g'); $output= json_decode($url); $lat = $output->results[0]->geometry->location->lat; $long = $output->results[0]->geometry->location->lng; if(!$mapa==1){ echo "<div class='alert_mapa'><img src='images/atencao.png'> Não foi possível abrir a localização pelo Google Mapas deste imóvel !</div>"; exit; }else if($lat==$long){ echo "<div class='alert_mapa_2'><img src='images/atencao.png'> OPS Não existem coordenadas para este Endereço no google Mapas !</div>"; } ?> <div class="listaImoveisbox"> <div class="listcodigo">Código: <?php echo $linha['id']; ?></div> <div class="listnegocio"><?php echo $linha['negocio']; ?></div> <div class="listnome"><?php echo $linha['tipo_nome']; ?></div> <div class="listvalor">Valor: <?php echo ( empty( $linha['valor'] ) || $linha['valor'] == '0.00' ? 'Consulte-nos' : 'R$ ' . number_format( $linha['valor'], 2, ',', '.') ); ?></div> <div class="comparar"><form><label><input name="comparar[]" type="checkbox" id="comparar" value="<?php echo $linha['id'];?>" /> Comparar </label></form></div> <div class="listquartos">Quartos: <?php echo $linha['quartos']; ?></div> <div class="listgaragem">Garagem: <?php echo $linha['garagem']; ?> vaga(s)</div> <div class="listbairro"><?php echo $linha['bairro']; ?></div> <div class="listcidade"><?php echo $linha['cidade'] . '/' . $linha['uf']; ?></div> <div class="favoritos_busca"> <a data-id="<?php echo $linha['id']; ?>" data-toggle="modal" data-target="#myModalfavoritos<?php echo $id;?>" class="hvr-pulse"><img src="images/icon_favoritos.png" alt="Favoritos"></a></div> <div class="busca_informacoes"> <a href="imovel/<?php echo $tipo?>/<?php echo $bairro?>/<?php echo $cidade?>/<?php echo $linha['id'];?>"> MAIS INFORMAÇÕES </a> </div> Código HTML com a DIV que recebe os dados : buscadeimoveis.php <html lang="pt-br"> <!--<![endif]--><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> <base href="<?php echo $site;?>"> <title><?php echo $nome_empresa_2;?></title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/form.css" rel="stylesheet" type="text/css"> <link href="css/main.css" rel="stylesheet" type="text/css"> <link href="css/css.css" rel="stylesheet" type="text/css"> <link rel="stylesheet" href="css/demo.css"> <!-- Pushy CSS --> <link rel="stylesheet" href="css/jquery.fancybox.min.css"> <link rel="stylesheet" href="css/pushy.css"> <link rel="stylesheet" type="text/css" href="engine1/style.css" /> <link rel="canonical" href="<?php echo $site;?>imovel/<?php echo "".$_GET['tipo_nome']."/".$_GET['bairro']."/".$_GET['cidade']."/".$_GET['idi'].""?>"/> <!-- Para saber mais sobre os comentários condicionais sobre as tags html na parte superior do arquivo: paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ Se você estiver usando a compilação personalizada do modernizr (http://www.modernizr.com/), faça o seguinte: * insira o link para o seu js aqui * remova o link abaixo para o html5shiv * adicione a classe "no-js" às tags html na parte superior * você também pode remover o link para respond.min.js se tiver incluído o MQ Polyfill na sua compilação do modernizr --> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> </head> <body> <!--[if IE]> <script type="text/javascript"> alert('AVISO:Voce está rodando O INTERNET EXPLORER 8 ou inferior, e esta desatualizado, e este navegador não suporta as tecnologias de nosso site, atualize seu navegador para acessar o nosso site perfeitamente... Obrigado.'); </script> <![endif]--> <!--[if gt IE 8]><!--> <div id="body"> <div id="galeria_fotos"> <div class="galeria"> <div class="title"> <div class="title_texto"> </div></div> <div class="fundo_busca"> <div class="painel_busca_total"> <div class="texto_busca"><b>RESULTADO DA BUSCA</b></div> <?php $expira_busca =1; $tempo_on_busca= date('Y-m-d H:i:s'); $tempo_fim_busca= date('Y-m-d H:i:s',mktime(date('H'),date('i') - $expira_busca,date('s'),date('m'),date('d'),date('Y'))); $negocio = strip_tags( $_POST['negocio'] ); $tipo_id = $_POST['tipo']; $cidade = $_POST['cidade']; $bairro = $_POST['bairro'] ; $MySQLi->query("CREATE TABLE busca_bairros ( id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, ip VARCHAR(255) NOT NULL, negocio VARCHAR(255) NOT NULL, tipo VARCHAR(255) NOT NULL, cidade VARCHAR(255), bairro VARCHAR(255), date TIMESTAMP ) "); $tipos=implode("|",$tipo_id); $cidades=implode("|",$cidade); $bairros=implode("|",$bairro); $MySQLi->query("INSERT INTO busca_bairros(ip,negocio,tipo,cidade,bairro,date)VALUES('".$ip."','".$negocio."','".$tipos."','".$cidades."','".$bairros."','".$tempo_on_busca."')"); $MySQLi->query("DELETE FROM busca_bairros WHERE date<='".$tempo_fim_busca."'"); $MySQLi->query("ALTER TABLE busca_bairros AUTO_INCREMENT = 1;"); ?> <div class="loading-div"><img src="img/status.gif" ></div> <div id="results"><!-- content will be loaded here --></div> </div> <br /><br /><br /><br /> </div></div></div> </body> </html> Lembrando que essa paginação é sem reflesh Se alguém puder me dar um help agradeço.. Página de teste onde esta o link da paginação: http://www.netsistec.com.br/jc_2018/resultado-da-busca
  6. Saudações Senhores (as), estou aqui para tentar uma solução, eu desenvolvi uma projeto de menu em C para um trabalho da faculdade, porém estou com um problema dentro dele: eu preciso comparar 2 variáveis tipo: se o usuário cadastrar uma aluno com uma determinada ela irá ficar armazenada numa lista encadeada, e se ele digitar outra matrícula mas usando o mesmo valor , o programa impede de ele cadastrar, até aí eu conseguir fazer , mas quando o usuário cadastrar outro aluno com outro número de matrícula , na hora de tentar cadastrar a terceira matrícula e suando a mesma segunda matrícula ele deixa fazer o cadastro , pois o certo era impedir e apresentar , MATRÍCULA JÁ FOI CADASTRADA..Exemplo.. Cadastrando matricula nº 1 ok , ele não deixa se você tentar usar novamente , mas ao cadastrar a matrícula nº 2 , se tentar usar ele na terceira gravação o programa deixa , e vi que precisava percorrer , pois no while dando printf ele mostra as matrículas 1 e 2 , e vi quando tento fazer a comparação usando o o while ele compara pelo primeiro da lista e não percorrer para o segundo, segue o código... #include<stdio.h> #include<stdlib.h> #include<locale.h> #include<string.h> #define MAX 3 typedef struct lista{ int matricula; int cod; int NovaMatricula; char aluno[50]; char disciplina1[50]; char disciplina2[50]; char disciplina3[50]; float nota1; float nota2; float nota3; float nota4; float nota5; float nota6; float nota7; float nota8; float nota9; int vazio; struct lista *prox; lista *anterior; lista *inicio; lista *novo; lista *atual; lista *ultimo; lista *aux; }Tlista; Tlista registros[MAX]; void flush_in(){ int ch; while( (ch = fgetc(stdin)) != EOF && ch != '\n' ){} } int verifica_pos( Tlista *dados ) { int cont = 0; Tlista *aux = dados->inicio; while ( aux !=NULL) { cont++; aux = aux->prox; } return(cont); } void inicializa(Tlista *dados){ dados-> inicio = NULL; dados-> ultimo = NULL; dados-> atual = NULL; dados-> aux = NULL; } // AQUI É O CÓDIGO QUE COMPARA A MATRÍCULA// //aqui seria a função que teria que comparar todas as matrículas ou códigos se são iguais...// //FUNÇÃO VERIFICA CÓDIGO int verifica_cod( Tlista *dados, lista *novo){ lista *aux=NULL; printf("\na matricula nova nova %d\n\n", novo->matricula); aux=dados->inicio; if(aux==NULL){ printf("entrou no primero IF %d",novo->matricula); return (1); } dados->atual=dados->inicio; if(novo->matricula==aux->matricula){ while(aux!=NULL){ printf("%d",aux->matricula); aux=aux->prox; } return(0); } printf("\n\n Matricula no FOR: %d\n",dados->atual->matricula); printf("entrou no segundo IF %d", novo->matricula); return (1); }//Final da Função Verifica Código void cadastrar(Tlista *dados, lista *novo){ lista* aux=NULL; if (!novo){ printf("\nNao existe espaco na memoria!"); exit(1); } printf("\n\t\t Digite Nome do Aluno: "); scanf("%s",&novo->aluno); printf("\n\t\t Digite a 1º Disciplina : "); scanf("%s",&novo->disciplina1); flush_in(); printf("\n\t\t Nota do 1º Bimestre: "); scanf("%f",&novo->nota1); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: "); scanf("%f",&novo->nota2); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: "); scanf("%f",&novo->nota3); printf("\n\t\t Digite a 2º Disciplina : "); scanf("%s",&novo->disciplina2); fflush(stdin); printf("\n\t\t Nota do 1º Bimestre: "); scanf("%f",&novo->nota4); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: "); scanf("%f",&novo->nota5); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: "); scanf("%f",&novo->nota6); printf("\n\t\t Digite a 3º Disciplina : ",setlocale(LC_ALL,"")); scanf("%s",&novo->disciplina3); fflush(stdin); printf("\n\t\t Nota do 1º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&novo->nota7); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&novo->nota8); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&novo->nota9); printf("NOVA %d\n\n", &aux->matricula); printf("\nA matricula e : %d\n\n",novo->matricula); novo->prox=NULL; if(dados->inicio==NULL){ dados->inicio=novo; dados->ultimo=novo; }else{ dados->ultimo->prox=novo; dados->ultimo=novo; } printf("\nMatricula Cadastrada com sucesso !\n\n"); system("pause"); } void listar(Tlista *dados){ Tlista*aux; aux=dados->inicio; if(aux==NULL){ printf("\n Lista Vazia ! \n\n"); }else{ dados->atual=dados->inicio; while(aux!=NULL){ printf("\n\nMatricula %d\n\n", aux->matricula); aux=aux->prox; } } system("pause"); } void consultar(Tlista *dados){ int matbusca,encontrou=0; printf("\n\nDigite a matricula para busca: "); scanf("%d",&matbusca); if (dados->inicio==NULL){ printf("\nLista vazia! Busca nao pode ser processada!\n"); }else{ for (dados->atual=dados->inicio; dados->atual!=NULL;dados->atual=dados->atual->prox){ if (matbusca==dados->atual->matricula){ printf("\n\nMatricula: %d\n",dados->atual->matricula); encontrou=1; break; } if (dados->atual->prox==NULL && encontrou==0) printf("\n\nRegistro nao encontrado!\n\n"); } } system("pause"); } void excluir(Tlista *dados){ lista *anterior ,*atual; int numMatricula,encontrou=0; if(dados->inicio==NULL){ printf("Não existe dados para excluir !\n\n"); system("pause"); }else{ int numMatricula; printf("\nDigite um numero de matricula : ",setlocale(LC_ALL,"")); scanf("%d", &numMatricula); anterior=dados->inicio; atual=dados->inicio; while(atual!=NULL) { if(atual->matricula==numMatricula){ if(atual==dados->inicio){ dados->inicio=dados->inicio->prox; free(atual); break; }else{ if(atual==dados->ultimo){ dados->ultimo=anterior; } //refazendo o encadeamento// anterior->prox=atual->prox; free(atual); break; } }else{ anterior=atual; atual=atual->prox; } } printf("\nMatricula excluida com sucesso !\n\n"); system("pause"); } } int main(){ Tlista inicio,*aux, L; int op=0,posicao,retorno,matricula,NovaMatricula; inicializa(&L); while(op!=6){ system("cls"); printf("--- Digite 1 para cadastrar : "); printf("\n\n--- Digite 2 para listar : "); printf("\n\n--- Digite 3 para consultar : "); printf("\n\n--- Digite 4 para excluir : "); scanf("%d", &op); switch(op) { case 1: posicao=verifica_pos(&L); printf("%d", posicao); if(posicao!=MAX){ lista *novo=NULL; novo=(lista*)malloc(sizeof(lista)); printf("\n\t\t Digite o número da matrícula para o aluno : ",setlocale(LC_ALL,"")); scanf("%d",&novo->matricula); fflush(stdin); retorno = verifica_cod(&L,novo); if ( retorno == 1 ){ cadastrar(&L,novo); }else{ printf("\n\t\tEste número de Matrícula já existe. Tente Outro !\n\n"); printf("\t\t ");system("pause\n\n"); } }else{ printf("\n Voce nao pode realizar mais cadastros !\n\n"); system("pause"); } break; case 2: listar(&L); getchar(); break; case 3: consultar(&L); break; case 4: excluir(&L); break; case '5':printf("\nFIM DE EXECUCAO!"); getchar(); exit(1); default:break; } } } Deixei comentado no código para melhor entendimento... Obrigado !
  7. Alguém poderia me dar um help, de como fazer um laço de repetição dentro de uma lista encadeada em C /C++, pois consigo normalmente sem lista de encadeamento, mas estou com dificuldades em fazer nessa situação, segue o código. int verifica_pos( void ) { int cont = 0; while ( cont <=2) { if ( registros[cont].vazio == 0 ) return(cont); cont++; } return(-1); }//Final da verifica Posição Por exemplo, neste trecho de código acima, eu chamo uma função que chama esse código e teria que fazer uma varredura em um vetor para ver quantos dados existem na lista encadeada.
  8. Saudações senhoras (es), venho por meio desta pedir um help, pois tenho esse código que exibirei abaixo que esta funcionando 99%, mas só esta faltando um porém que ainda não consigo implementar, tipo: Tenho esse código , um menu de nota de alunos, que insere, deleta, imprime e busca por código, até aí esta funcionando de boa, só que, por exemplo se eu cadastrar 2 alunos, um com a matrícula 1 e o outro com a matrícula 2, ele mostra normalmente na tela quando eu peço para listar , mas se eu deletar a matrícula 1 e deixar apenas a matrícula 2 , ele já não lista mais, e pelo que vi e li em vários fóruns é que teria que colocar um ponteiro, ou uma opção recursiva de uma função chamando ela mesma, e gostaria de saber como faço , e se preciso que ao deletar a matrícula 1, este espaço de memória ficará vazio e se tem como realocar a matrícula 2 para o espaço 1 da memória, pois mesmo eu fazendo o laço nessa variável ela não busca a segunda cadastrada, segue o código: A senha de acesso é 1 #include<stdio.h> #include<stdlib.h> #include<locale.h> #include<string.h> #define SENHA 1 #define MAX 3 #ifndef COLORS_H #define COLORS_H #define foreground(color) FORE##color #define background(color) BACK##color #define style(style_) style_ /** Foreground Colors **/ #define FOREBLACK printf("\033[30m") #define FORERED printf("\033[31m") #define FOREGREEN printf("\033[32m") #define FOREYELLOW printf("\033[33m") #define FOREBLUE printf("\033[34m") #define FOREMARGENTA printf("\033[35m") #define FORECYAN printf("\033[36m") #define FOREWHITE printf("\033[37m") #define FORENORMAL_COLOR printf("\033[39m") /** Background Colors **/ #define BACKBLACK printf("\033[40m") #define BACKRED printf("\033[41m") #define BACKGREEN printf("\033[42m") #define BACKYELLOW printf("\033[43m") #define BACKBLUE printf("\033[44m") #define BACKMAGENTA printf("\033[45m") #define BACKCYAN printf("\033[46m") #define BACKWHITE printf("\033[47m") #define BACKNORMAL printf("\033[49m") /** Style **/ #define BRIGHT printf("\033[1m") #define DIM printf("\033[2m") #define NORMAL printf("\033[22m") #define RESETALL printf("\033[0m") #define UNDERLINE printf("\033[4m") #define BLINKSLOW printf("\033[5m") #define BLINKRAPID printf("\033[6m") #define ITALIC printf("\033[3m") #define NEGATIVE printf("\033[7m") #endif /* COLORS_H */ //CONSTRUTOR DE VARIÁVEIS struct cadastro { int matricula; char aluno[50]; char disciplina1[50]; char disciplina2[50]; char disciplina3[50]; float nota1; float nota2; float nota3; float nota4; float nota5; float nota6; float nota7; float nota8; float nota9; int codaux[20]; int vazio; int cod; }; struct cadastro registros[MAX]; void flush_in(){ int ch; while( (ch = fgetc(stdin)) != EOF && ch != '\n' ){} } void gotoxy (int x, int y); //Funçoes que serao usadas void cadastrar(int cod, int pos); //Funçao para consulta void listar( void ); //Funçao para consulta void consultar( void ); //Funçao para exibir relatorio int relatorio( void ); //Função para verificar posição int verifica_pos( void ); //Função para verificar codigo int verifica_cod( int cod ); //Função para verificar posição do codigo int verifica_pos( void ); //Função para excluir cadastro void zerar( void ); //Função para excluir cadastro void excluir( void ); //FUNÇÃO DO MAIN QUE CHAMA TODAS AS FUNÇÕES int main(void){ system ("color 1f"); int op = 0,senha=SENHA,posicao, matricula, retorno; printf("######### SISTEMA DE NOTAS DE ALUNOS: ##############\n\n "); do { printf ("\t\t ----------------------------------\n"); printf ("\n\t\t\t INSIRA A SUA SENHA : "); fflush(stdin); scanf ("%d",&senha); if(senha!=SENHA) { system ("color 1E"); printf("\n\n\t\t\t Senha incorreta. Tente Novamente !\n\n"); printf("\t\t ");system("pause"); system("cls"); } } while(senha!=SENHA); while(op!=5){ system("cls"); printf ("\t\t\t *** MENU DE NOTAS DE ALUNO: ***\n\n ",setlocale(LC_ALL,"")); printf ("\n\n\n\t\t\t DIGITE UMA OPÇÃO ABAIXO: \n\n\n\n ",setlocale(LC_ALL,"")); printf ("\t\t\t -----------------------------\n",setlocale(LC_ALL,"")); printf ("\t\t\t| 1 - Matrícula do Aluno |\n",setlocale(LC_ALL,"")); printf ("\t\t\t| 2 - Listar todos os Alunos |\n",setlocale(LC_ALL,"")); printf ("\t\t\t| 3 - Pesquisar por Matrícula |\n",setlocale(LC_ALL,"")); printf ("\t\t\t| 4 - Excluir Aluno |\n",setlocale(LC_ALL,"")); printf ("\t\t\t| 5 - Sair |\n",setlocale(LC_ALL,"")); printf ("\t\t\t -----------------------------\n",setlocale(LC_ALL,"")); scanf ("%d", &op); switch(op) { case 1: // FUNÇÃO VERIFICA A MATRÍCULA AO CADASTRAR { posicao=verifica_pos(); if ( posicao !=2) { printf("\n\t\t Digite o número da matrícula para o aluno : "); scanf("%d",&matricula); fflush(stdin); retorno = verifica_cod( matricula); if ( retorno == 1 ) { cadastrar( matricula, posicao ); }else{ printf("\n\t\tEste número de Matrícula já existe. Tente Outro !\n\n"); printf("\t\t ");system("pause\n\n"); } }else printf("\n\n\t\t Não é possível realizar mais cadastros !\n\n"); printf("\t\t ");system("pause\n\n"); break; } case 2: // LISTAR { listar(); break; } case 3:// CONSULTAR { consultar(); break; } case 4:// EXCLUIR { excluir(); system ("pause"); break; } // SAIR case 5: { printf("\n\n\t\t Saindo do Sistema - Tchau"); getchar(); printf("\t\t ");return 0; break; } default :// OPÇÃO INVÁLIDA printf("\n\t\t Opcão Inválida\n\n",setlocale(LC_ALL,"")); printf("\t\t ");system("pause\n\n"); break; } } getchar(); }//Final da Função Verifica se a matrícula ja esta sendo usada //FIM DO MAIN // FUNÇAO CADASTRAR void cadastrar( int cod, int pos ) { pos = verifica_pos(); registros[pos].cod = cod; printf("\n\t\t Digite Nome do Aluno: "); scanf("%s",&registros[pos].aluno); printf("\n\t\t Digite a 1º Disciplina : "); scanf("%s",&registros[pos].disciplina1); flush_in(); printf("\n\t\t Nota do 1º Bimestre: "); scanf("%f",&registros[pos].nota1); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: "); scanf("%f",&registros[pos].nota2); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: "); scanf("%f",&registros[pos].nota3); printf("\n\t\t Digite a 2º Disciplina : "); scanf("%s",&registros[pos].disciplina2); fflush(stdin); printf("\n\t\t Nota do 1º Bimestre: "); scanf("%f",&registros[pos].nota4); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: "); scanf("%f",&registros[pos].nota5); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: "); scanf("%f",&registros[pos].nota6); printf("\n\t\t Digite a 3º Disciplina : ",setlocale(LC_ALL,"")); scanf("%s",&registros[pos].disciplina3); fflush(stdin); printf("\n\t\t Nota do 1º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota7); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota8); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota9); registros[pos].vazio = 1; printf("\n\t\t Cadastro Realizado com Sucesso!\n\n",setlocale(LC_ALL,"")); printf("\t\t ");system("pause"); } //Final da Função Cadastrar // FUNÇAO LISTAR DADOS void listar(void) { int i,cod,posicao,pos,total; setlocale(LC_ALL," "); pos = verifica_pos(); if (cod>MAX) { system("cls"); printf("\nRESULTADO DA BUSCA: \n"); printf("\nForam encontrado (s) o total de :"); for(i=0; i<pos; i++){ total=pos; } printf(" %d Aluno (s) :\n",total); printf("________________________________________________\n\n"); } if (pos>=1) { for (i=0; i<pos; i++ ) { printf("\n\t |Matrícula : %d\n",registros[i].cod); printf("\n\t |Nome do Aluno é: %s\n" ,registros[i].aluno); printf("\n\t |Disciplina : %s\n",registros[i].disciplina1); printf("\n\t |Nota do 1º Bimestre: %.1f\t",registros[i].nota1); printf("\n\t |Nota do 2º Bimestre: %.1f\t",registros[i].nota1); printf("\n\t |Nota do 3º Bimestre: %.1f\n",registros[i].nota3); printf("\n\t |Disciplina : %s\n",registros[i].disciplina2); printf("\n\t |Nota do 1º Bimestre: %.1f\t",registros[i].nota4); printf("\n\t |Nota do 2º Bimestre: %.1f\t",registros[i].nota5); printf("\n\t |Nota do 3º Bimestre: %.1f\n",registros[i].nota6); printf("\n\t |Disciplina : %s\n",registros[i].disciplina3); printf("\n\t |Nota do 1º Bimestre: %.1f\t",registros[i].nota7); printf("\n\t |Nota do 2º Bimestre: %.1f\t",registros[i].nota8); printf("\n\t |Nota do 3º Bimestre: %.1f\n",registros[i].nota9); printf("___________________________________________________\n\n"); } }else{ if (pos<=0) { printf("\n\n\t\t\t Não existe Aluno cadastrado !\n\n"); printf("\t\t ");system("pause"); return; getchar(); } } printf("\t\t ")/system("pause"); }//Final da Função Listar //FUNÇÃO CONSULTAR DADOS void consultar( void ) { int cont = 0, cod,posicao, retorno,codaux; printf("\n\n\t\t\tEntre com o número de Matrícula : ",setlocale(LC_ALL,"")); scanf("%d",&cod); while ( cont <=2) { if (registros[cont].cod==cod) { if (registros[cont].vazio==1) { system("cls"); printf("\nRESULTADO DA BUSCA: \n\n"); printf("_____________________________________________\n\n"); printf("\nMatrícula : %d\n",registros[cont].cod); printf("\nNome do Aluno é: %s\n" ,registros[cont].aluno); printf("\nDisciplina : %s\n",registros[cont].disciplina1); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota3); printf("\nDisciplina : %s\n",registros[cont].disciplina2); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota4); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota5); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota6); printf("\nDisciplina : %s\n",registros[cont].disciplina3); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota7); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota8); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota9); printf("\n\n"); system ("pause"); break; } } cont++; } if (registros[cont].vazio==0) { printf("\n\t\t Esta Matrícula não existe. Tente novamente !\n\n",setlocale(LC_ALL,"")); printf("\t\t ")/system("pause"); } } //Final da Função Consultar Dados //FUNÇÃO VERIFICA POSIÇÃO int verifica_pos( void ) { int cont = 0; while ( cont <=MAX) { if ( registros[cont].vazio == 0 ) return(cont); cont++; } return(-1); }//Final da verifica Posição int zerar(int cod) { int cont; for ( cont = 0; cont <= MAX; cont++ ) registros[cont].vazio = 0; } //FUNÇÃO VERIFICA CÓDIGO int verifica_cod( int cod ) { int cont = 0; while ( cont <= MAX ) { if ( registros[cont].cod == cod ) return(0); cont++; } return(1); }//Final da Função Verifica Código //FUNÇÃO EXCLUIR void excluir( void ) { int cod, cont = 0; char resp; printf("\n\t Entre com o código do registro que deseja excluir :",setlocale(LC_ALL,"")); scanf("%d", &cod ); while ( cont <= MAX) { if ( registros[cont].cod == cod ) { // FALTOU if ( registros[cont].vazio == 1 ) { printf("\n\n\nRESULTADO DA BUSCA: \n\n"); printf("\nForam encontrado (os) Aluno (s) : %d\n" ,registros[cont].cod); printf("**********************************************\n\n"); printf("\nMatrícula : %d\n",registros[cont].cod); printf("\nNome do Aluno é: %s\n" ,registros[cont].aluno); printf("\nDisciplina : %s\n",registros[cont].disciplina1); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota3); printf("\nDisciplina : %s\n",registros[cont].disciplina2); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota4); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota5); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota6); printf("\nDisciplina : %s\n",registros[cont].disciplina3); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota7); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota8); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota9); getchar(); printf("\nDeseja realmente excluir ? S/N:"); scanf("%c",&resp); if ( ( resp == 'S' ) || ( resp == 's' ) ) { registros[cont].cod=0; registros[cont].aluno[50]=0; registros[cont].disciplina1[50]=0; registros[cont].nota1=0; registros[cont].nota1=0; registros[cont].nota3=0; registros[cont].disciplina2[50]=0; registros[cont].nota4=0; registros[cont].nota5=0; registros[cont].nota6=0; registros[cont].disciplina3[50]=0; registros[cont].nota7=0; registros[cont].nota8=0; registros[cont].nota9=0; registros[cont].vazio=0; printf("\nExclusão feita com sucesso\n\n"); break; } else { if ( ( resp == 'N' ) || ( resp == 'n' ) ) { printf("Exclusão cancelada!\n"); break; } } } } cont++; if ( cont > 2) printf("\n\n\t\t Código não encontrado . Tente Outro !\n"); } printf("\n\t\t ");return;system("pause"); system("cls"); }//Final da Função Excluir Desde já eu agradeço o espaço..
  9. Jeovane Carvalho

    Erro ao imprimir dados armazenados na memória em C

    Valeu itlpps , mas mesmo assim ele só apresenta um resultado de 2 ou mais que estiverem cadastrados, eu trabalho mais com php e tenho pouco conhecimento em programação em C..
  10. Jeovane Carvalho

    Erro ao imprimir dados armazenados na memória em C

    Valeu itlpps , mas mesmo assim ele só apresenta um resultado de 2 ou mais que estiverem cadastrados, eu trabalho mais com php e tenho pouco conhecimento em programação em C..
  11. Olá Senhores , estou aqui para um help dos senhores mais experientes, e estou com um problema em meu código, pois desenvolvi um menu em C, e esta funcionando praticamente em tudo, e só não consegui imprimi todos os dados na tela .. Por exemplo, se eu cadastrar mais de 1 aluno em meu sistema eu consigo visualizar de boa buscando pela matrícula, mas se eu pedi para listar todos os alunos cadastrados, ele só busca o primeiro e os outros ele não retorna, segue abaixo o código.... #include<stdio.h> #include<stdlib.h> #include<locale.h> #include<string.h> struct cadastro { int matricula; char aluno[50]; char disciplina1[50]; char disciplina2[50]; char disciplina3[50]; float nota1; float nota2; float nota3; float nota4; float nota5; float nota6; float nota7; float nota8; float nota9; int codaux[20]; int vazio; int cod; }; struct cadastro registros[50]; void flush_in(){ int ch; while( (ch = fgetc(stdin)) != EOF && ch != '\n' ){} } //Funçoes que serao usadas void cadastrar(int cod, int pos); //Funçao para consulta void listar( void ); //Funçao para consulta void consultar( void ); //Funçao para exibir relatorio int relatorio( void ); //Função para verificar posição int verifica_pos( void ); //Função para verificar codigo int verifica_cod( int cod ); //Função para verificar posição do codigo int verifica_pos( void ); //Função para excluir cadastro void excluir( void ); int main(void){ int op = 0,senha,posicao, matricula, retorno; printf("######### SISTEMA DE NOTAS DE ALUNOS: ##############\n\n "); do { printf(" DIGITE UMA SENHA : "); scanf ("%d",&senha); if(senha!=1) { printf("Senha incorreta. Tente Novamente \n\n"); system("pause"); system("cls"); } } while(senha!=1); while(op!=5){ system("cls"); printf ("\n\n *** MENU DE NOTAS DE ALUNO: ***\n\n ",setlocale(LC_ALL,"")); printf ("| 1 - Matrícula do Aluno |\n",setlocale(LC_ALL,"")); printf (" | 2 - Lista de Alunos |\n",setlocale(LC_ALL,"")); printf (" | 3 - Listar dados do Aluno |\n",setlocale(LC_ALL,"")); printf (" | 4 - Pesquisar por Matrícula |\n",setlocale(LC_ALL,"")); printf (" | 5 - Sair |\n",setlocale(LC_ALL,"")); scanf ("%d", &op); switch(op) { case 1: // CADASTRAR { posicao=verifica_pos(); if ( posicao != -1 ) { printf("\nDigite o número da matrícula para o aluno : "); scanf("%d",&matricula); fflush(stdin); retorno = verifica_cod( matricula); if ( retorno == 1 ) cadastrar( matricula, posicao ); else printf("\nCodigo ja existente\n"); system ("pause"); } else printf("\nNao e possivel realizar mais cadastros!\n"); break; } case 2: // LISTAR { listar(); break; } case 3:// CONSULTAR { consultar(); break; } case 4:// EXCLUIR { excluir(); system ("pause"); break; } // SAIR case 5: { printf("\n Saindo do Sistema - Tchau"); getchar(); return 0; break; } default :// OPÇÃO INVÁLIDA printf("Opcão Inválida",setlocale(LC_ALL,"")); break; } } getchar(); } // FUNÇAO CADASTRAR void cadastrar( int cod, int pos ) { pos = verifica_pos(); registros[pos].cod = cod; printf("\nDigite Nome do Aluno: "); scanf("%s",&registros[pos].aluno); printf("\nDigite a 1º Disciplina : "); scanf("%s",&registros[pos].disciplina1); flush_in(); printf("\nNota do 1º Bimestre: "); scanf("%f",&registros[pos].nota1); fflush(stdin); printf("\nNota do 2º Bimestre: "); scanf("%f",&registros[pos].nota2); fflush(stdin); printf("\nNota do 3º Bimestre: "); scanf("%f",&registros[pos].nota3); printf("\nDigite a 2º Disciplina : "); scanf("%s",&registros[pos].disciplina2); fflush(stdin); printf("\nNota do 1º Bimestre: "); scanf("%f",&registros[pos].nota4); fflush(stdin); printf("\nNota do 2º Bimestre: "); scanf("%f",&registros[pos].nota5); fflush(stdin); printf("\nNota do 3º Bimestre: "); scanf("%f",&registros[pos].nota6); printf("\nDigite a 3º Disciplina : ",setlocale(LC_ALL,"")); scanf("%s",&registros[pos].disciplina3); fflush(stdin); printf("\nNota do 1º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota7); fflush(stdin); printf("\nNota do 2º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota8); fflush(stdin); printf("\nNota do 3º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota9); registros[pos].vazio = 1; printf("\nCadastro Realizado com Sucesso!\n\n",setlocale(LC_ALL,"")); getchar(); system("cls"); } //Final da Função Cadastrar // FUNÇAO LISTAR void listar() { setlocale(LC_ALL," "); int i,j,cod,posicao,pos, retorno; pos = verifica_pos(); for (i=0; i<pos; i++ ) { if (registros[i].vazio==1) { printf("\n\n\nRESULTADO DA BUSCA: \n\n"); printf("\nForam encontrado (os) Aluno (s) : %d\n" ,registros[i].cod); printf("**********************************************\n\n"); printf("\nMatrícula : %d\n",registros[i].cod); printf("\nNome do Aluno é: %s\n" ,registros[i].aluno); printf("\nDisciplina : %s\n",registros[i].disciplina1); printf("\nNota do 1º Bimestre: %.1f\t",registros[i].nota1); printf("\nNota do 2º Bimestre: %.1f\t",registros[i].nota1); printf("\nNota do 3º Bimestre: %.1f\n",registros[i].nota3); printf("\nDisciplina : %s\n",registros[i].disciplina2); printf("\nNota do 1º Bimestre: %.1f\t",registros[i].nota4); printf("\nNota do 2º Bimestre: %.1f\t",registros[i].nota5); printf("\nNota do 3º Bimestre: %.1f\n",registros[i].nota6); printf("\nDisciplina : %s\n",registros[i].disciplina3); printf("\nNota do 1º Bimestre: %.1f\t",registros[i].nota7); printf("\nNota do 2º Bimestre: %.1f\t",registros[i].nota8); printf("\nNota do 3º Bimestre: %.1f\n",registros[i].nota9); printf("\n\n"); printf("**********************************************\n\n"); system("pause"); getchar(); break; } i++; } if (registros[i].vazio==0) { printf("\nCódigo não encontrado\n\n"); system("pause"); system("cls"); return ; } } //FUNÇÃO CONSULTAR void consultar( void ) { int cont = 0, cod,posicao, retorno,codaux; printf("\nEntre com o código: ",setlocale(LC_ALL,"")); scanf("%d",&cod); system("cls"); while ( cont <= 100 ) { if (registros[cont].cod==cod) { if (registros[cont].vazio==1) { printf("\n\n\nRESULTADO DA BUSCA: \n\n"); printf("\nForam encontrado (os) Aluno (s) : %d\n" ,registros[cont].cod); printf("**********************************************\n\n"); printf("\nMatrícula : %d\n",registros[cont].cod); printf("\nNome do Aluno é: %s\n" ,registros[cont].aluno); printf("\nDisciplina : %s\n",registros[cont].disciplina1); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota3); printf("\nDisciplina : %s\n",registros[cont].disciplina2); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota4); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota5); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota6); printf("\nDisciplina : %s\n",registros[cont].disciplina3); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota7); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota8); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota9); printf("\n\n"); system ("pause"); system("cls"); break; } } cont++; if (registros[cont].vazio==0) { printf("\nCódigo não encontrado\n\n",setlocale(LC_ALL,"")); system("pause"); system("cls"); return ; } } } //FUNÇÃO VERIFICA POSIÇÃO int verifica_pos( void ) { int cont = 0; while ( cont <= 100 ) { if ( registros[cont].vazio == 0 ) return(cont); cont++; } return(-1); } //FUNÇÃO ZERAR void zerar( void ) { int cont; for ( cont = 0; cont <= 100; cont++ ) registros[cont].vazio = 0; } //FUNÇÃO VERIFICA CODIGO int verifica_cod( int cod ) { int cont = 0; while ( cont <= 100 ) { if ( registros[cont].cod == cod ) return(0); cont++; } return(1); } //FUNÇÃO EXCLUIR void excluir( void ) { int cod, cont = 0; char resp; printf("\nEntre com o código do registro que deseja excluir\n",setlocale(LC_ALL,"")); scanf("%d", &cod ); while ( cont <= 100 ) { if ( registros[cont].cod == cod ) { // FALTOU if ( registros[cont].vazio == 1 ) { printf("\n\n\nRESULTADO DA BUSCA: \n\n"); printf("\nForam encontrado (os) Aluno (s) : %d\n" ,registros[cont].cod); printf("**********************************************\n\n"); printf("\nMatrícula : %d\n",registros[cont].cod); printf("\nNome do Aluno é: %s\n" ,registros[cont].aluno); printf("\nDisciplina : %s\n",registros[cont].disciplina1); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota3); printf("\nDisciplina : %s\n",registros[cont].disciplina2); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota4); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota5); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota6); printf("\nDisciplina : %s\n",registros[cont].disciplina3); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota7); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota8); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota9); getchar(); printf("\nDeseja realmente excluir ? S/N:"); scanf("%c",&resp); if ( ( resp == 'S' ) || ( resp == 's' ) ) { registros[cont].vazio=0; printf("\nExclusão feita com sucesso\n\n"); break; } else { if ( ( resp == 'N' ) || ( resp == 'n' ) ) { printf("Exclusão cancelada!\n"); break; } } } } cont++; if ( cont > 100 ) printf("\nCodigo nao encontrado\n"); } system("pause"); system("cls"); } Como eu disse, ele roda de boa só não lista todos os alunos e apenas 0 1º, um #trabalhozinho de faculdade.. Obrigado !
  12. Jeovane Carvalho

    Fazer um select no banco de dados com um array

    Cara valew , eu uso uma paginação dinâmica e consegui resolver meu outro problema , mas tenho outro que é de java script que não consigo enviar várias variáveis, mas jpa abri outro tópico https://forum.imasters.com.br/topic/557904-enviar-várias-variáveis-para-php-dentro-do-java-script/#comment-2225892
  13. Olá senhores boa noite, estou enfrentando um pequeno problema para enviar algumas variáveis dentro do java script para um php, e o que acontece, tenho um filtro de busca no site (combobox) com os select FINALIDADE,TIPO,CIDADE, BAIRROS, e preciso pegar cada ID destes selects que são vetores (array) e enviar para outro arquivo e pegar via POST... Até aí eu consegui ,mas não estou conseguindo enviar todas as variáveis dentro do java , e das 3 que envio só chegam 2 e a última não chega e da UNDEFINED , que seria variável indefenida, e segue os scripts: <script type="text/javascript"> $(document).ready(function() { $("select").change(function() { var negocio = $("#negocio").val(); alert(negocio); AJAXBAIRROS("Pesq_Bairros","combo_cidades.php?id_negocio="+negocio); var tipos = $("#tipo").val(); alert(tipos); var cidades = $("#cidade").val(); alert(cidades); AJAXBAIRROS("Pesq_Bairros","combo_cidades.php?id_negocio="+negocio,"id_tipo="+tipos,"id_cidade="+cidades); }); }); $(document).ready(function(){ $('select[name=bairro]').click(function(e){ if(document.getElementById('cidade') && document.busca.cidade.value==""){ AJAXBAIRROS("Pesq_Bairros","combo_cidades.php?id_cidade="); }else{ e.preventDefault(); var id_tipo=1; }}); }); </script> Este primeiro script eu fiz algumas adaptações e não sei se esta correto , mas notem que na linha onde esta a URL tem 3 variáveis +negocio + tipos + cidades, mas a última cidade não chega, e seu eu tirar a primeira que seria negócio a variável cidade chega normalmente , e notem que a chamada deste link é AJAXBAIRROS é chama através deste script abaixo: ////FUNCAO PRA CRIAR AJAX function createXMLHTTP() { var ajax; try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); alert(ajax); } catch(ex) { try { ajax = new XMLHttpRequest(); } catch(exc) { alert("Esse browser não tem recursos para uso do Ajax"); ajax = null; } } return ajax; } var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]; for (var i=0; i < arrSignatures.length; i++) { try { var oRequest = new ActiveXObject(arrSignatures[i]); return oRequest; } catch (oError) { } } throw new Error("MSXML is not installed on your system."); } function AJAXBAIRROS(xDiv, xPagina, xVariaveis){ var ajax = createXMLHTTP(); ajax.open("post", xPagina, true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ document.getElementById(xDiv).innerHTML = unescape(ajax.responseText. replace(/\+/g," ",/\+/g," ")); } } ajax.send(xVariaveis); } E vendo este script, eu percebi que pode ou não ser por causa das expressões regulares, e sei que precisa aumentar as regras para chamar mais variáveis, não sei se é isso mesmo, mas fiz isso em meu htaccess, mas se puderem me ajudar, desde já eu agradeço...
  14. Jeovane Carvalho

    Fazer um select no banco de dados com um array

    Pow cara valew mesmo pela ajuda, resolveu um dos meus problemas de consultar dados de um array, e consegui resgatar os dados , agora só falta resolver a paginação dinâmica (sem reload) na página, pois ela não pega o resto da busca mas isso já foi de grande ajuda.. Eu consegui resolver uns casos mais complexos e as vezes por causa de uma vírgula ou parênteses a gente se mata .. Valew...
  15. Jeovane Carvalho

    Fazer um select no banco de dados com um array

    EdCesar Obrigado por responder , eu já tinha tentado usar o IN, mas tinha usado sem tirar o sinal de igual = , estou no trampo e vou tentar isso quando chegar em casa depois da facu, eu rodei a net inteira mas não encontrei nenhum tópico ou tutorial com alguém com este mesmo problema que tenha sido solucionado, vou ver se consigoda maneira que você disse.. Os outros selects tbm irão vir com arrays , só que se eu resolver esse já consigo manipular os demais, vou tentar e posto se conseguir a solução aqui...
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.