Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/02/2010, 16:30
Chevi
 
Fecha de Ingreso: febrero-2010
Mensajes: 7
Antigüedad: 14 años, 2 meses
Puntos: 0
Sistema de noticias: Edición de tags (no consigo que funcione)

¡Hola a todos! Llevo programando mi blog un par de semanas y estoy actualmente atascado (llevo casi 3 días con ello y no hay narices) en la edición de TAGS para las noticias. Voy a explicar brevemente el código y si alguien es tan amable de ayudarme, lo agradecería infinitamente !


Tengo 3 BBDD: noticias, tags y cat. La BBDD relacional de las 3 es tags; 'cat' va definiendo las categorías. En principio es un sistema sencillo y cada vez que se añaden y borran no hay problema. El gran problema es cuando entra a la edición de TAGS, de momento respeta la primera norma de que si no se edita algún tag, lo deja como está. Cuando cambias un tag ya pasa a otro if y ahí es donde no consigo que pase, para ello primero tengo que comparar lo insertado con el tag existente, si existe le borra y le vuelve a añadir (un editar sin más). No se si me he explicado adecuadamente ya que soy bastante novel programando y hago lo que puedo, aprovecho para decir que el código seguramente no esté muy depurado y se pueda rehacer algunos detalles más.

$CFG_tagslimite viene del config general, es para limitar los tags. Cada vez que se crea un input, se crea con el nombre de 'cat'+'número de 0 en adelante puesto automáticamente' (por ej.: cat3). ¡Cualquier duda preguntármela!

Código PHP:
$e3 0;
            while(
$e3 $CFtagslimite) {
                                        
                                        
$pcat "cat$e3";
                                        
$rep3 $_POST['cat'.$e3.''];
                                        
                                        if(!empty(
$rep3)){                                
                                        
                                                
// Editando...
                                                
$queryET mysql_query("SELECT * FROM cat where categoria = '$_POST[$pcat]'"$conexion);
                                                while(
$rowET=mysql_fetch_array($queryET)) {
                                                    
$categoriaET $rowET['categoria'];
                                                    
$catET $rowET['id'];
                                                }
                                                
                                                if(
mysql_num_rows($queryET)==0) { 
                                                
// Si no existe se crea...
                                                    
$queryT "INSERT INTO tags (id_noticia, id_cat) values ('$_GET[id]', '$catET')";
                                                    
mysql_query($queryT) or die(mysql_error());    
                                                    
                                                    
$queryT0 "INSERT INTO cat (categoria) values ('$_POST[$pcat]')";
                                                    
mysql_query($queryT0) or die(mysql_error());    
                                                                                                
                                                } else {
                                                
// Si existe se elimina y se vuelve a crear...
                                                    
$queryET2 mysql_query("SELECT * FROM cat where categoria = '$_POST[$pcat]'"$conexion);
                                                    while(
$rowET2=mysql_fetch_array($queryET2)) {
                                                        
$categoriaET2 $rowET2['categoria'];
                                                        
$catET2 $rowET2['id'];
                                                    }
                                                    
                                                    if(
mysql_num_rows($queryET2)==0) {     
                                                    
                                                                    
$queryT1 "DELETE FROM cat WHERE id = '$catET3'";
                                                                    
mysql_query($queryT1) or die(mysql_error());
                                                                            
                                                                    
$queryT2 "DELETE FROM tags WHERE id_noticia = '$_GET[id]' and id_cat = '$catET'";
                                                                    
mysql_query($queryT2) or die(mysql_error());
                                                                                                                            
                                                                    
$queryT3 "INSERT INTO tags (id_noticia, id_cat) values ('$_GET[id]', '$catET')";
                                                                    
mysql_query($queryT3) or die(mysql_error());    
                                                                            
                                                                    
$queryT4 "INSERT INTO cat (categoria) values ('$_POST[$pcat]')";
                                                                    
mysql_query($queryT4) or die(mysql_error());    
                                                    }    
                                                        
                                                }    
                                                         

                                        }
                                        
$e3++;
                            } 
¡Gracias a todos por la ayuda de antemano!