Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/07/2011, 16:00
oscarbt
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Reemplazar foreach por while?

Buenas a todos, resulta que estoy grabando, modificando y eliminando desde php, un archivo xml, para eliminar y modificar no tengo problema, pero al insertar, debo validar que no se repitan valores...algo que realmente no lo he podido hacer

Lo hago asi:
Recibo una variable, antes de agregar en el archivo xml, utilizo el foreach para mostrar el valor de los elementos:

Código PHP:
Ver original
  1. <?php
  2. //Primero recibo la variable que me trae el valor a agregar
  3. $codigo=trim($_POST['idsugg']);
  4.  
  5. //Aca cargo el documento xml
  6.  $x = new SimpleXMLElement($archivo, null, true);
  7. //Y ahora comparo:
  8.  foreach( $x->diagno as $diagno ) {
  9. $coddia=$diagno['cod'];
  10.  $princi=$diagno['prin'];
  11. echo $coddia;
  12.   echo "</br>";
  13. echo $codigo;
  14.   if($coddia==$codigo)
  15.   echo "<font color='red'>Ya existe este diagnostico</font>";
  16.  else
  17.   echo "se graba";
  18.  }
  19. ?>

El problema es el siguiente:
Yo tengo dos datos en el archivo xml:
AB11 y AB12

Al insertar envio AB11 Y pasa lo siguiente:

Me compara con AB11 y como son iguales me dice: Ya existe este diagnostico

Pero luego me compara con AB12 y como no es igual, me hace el ingreso....
Entonces, q podria hacer ?
Como puedo utilizar un while en vez del foreach?....Agradezco me puedan colaborar....gracias