Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
O código abaixo atravez de uma query string salva em um XML as informações que ele encontra por meio da QUERYSTRING, porem por causa do FOR que percorre o numero de linhas encontradas no caso "select * from supernews" ele está colocando no XML informações repetidas... Como solucionar?
EXEMPLO: Se no banco tem 5 coisas cadastradas, se eu colocar a query string = "ajuda" e só tiver uma ocorrencia de ajuda no banco, ele vai colocar no XML 5 vezes..................... vejam o código e irão entender.
como solucionar?
<? header('Content-type: text/xml'); $this->connection = mysql_connect('localhost', '', '') or die(mysql_error()); mysql_select_db('vasp', $this->connection) or die(mysql_error()); @$consulta = $_REQUEST['q']; $sql = @mysql_query("SELECT * FROM supernews") or die("Erro na conexão com o banco de dados"); $row = mysql_num_rows($sql); if($row > 0){ $arquivo = "noticias.xml"; $ponteiro = fopen($arquivo, "w"); fwrite($ponteiro, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"); fwrite($ponteiro, "<ul class=\"LSRes\">\r\n"); for($i = 0; $i < $row; $i++){ $titulo = mysql_result($sql,$i,"titulo"); $corpo = mysql_result($sql,$i,"conteudo"); $data = mysql_result($sql,$i,"data"); if(eregi($consulta, $corpo) || strpos($corpo, $consulta)) { $conteudo = "<li class=\"LSRow\">\r\n"; $conteudo .= "<titulo>$titulo</titulo>\r\n"; $conteudo .= "<data>$data</data>\r\n"; $conteudo .= "<corpo>$corpo</corpo>\r\n"; $conteudo .= "</li>\r\n"; } fwrite($ponteiro, $conteudo); } fwrite($ponteiro, "</ul>"); fclose($ponteiro); } print file_get_contents('noticias.xml'); ?>Carregando comentários...