Foros del Web » Programando para Internet » PHP »

Problema al actualizar o borrar registros de una base de datos

Estas en el tema de Problema al actualizar o borrar registros de una base de datos en el foro de PHP en Foros del Web. Buenos días a todos/as, Como siempre estoy liado con una aplicaciión web en php, en estos momentos cuando voy a actualizar o a borrar un ...
  #1 (permalink)  
Antiguo 06/06/2011, 04:49
 
Fecha de Ingreso: febrero-2011
Mensajes: 33
Antigüedad: 13 años, 2 meses
Puntos: 0
Problema al actualizar o borrar registros de una base de datos

Buenos días a todos/as,
Como siempre estoy liado con una aplicaciión web en php, en estos momentos cuando voy a actualizar o a borrar un registro que se encuentra en la BBDD me da el siguiente error:

Código:
Notice: Undefined index: i in C:\EasyPHP5.2.10\www\professionals7.php on line 8

Notice: Undefined index: i in C:\EasyPHP5.2.10\www\professionals7.php on line 10

Warning: mssql_query() [function.mssql-query]: message: Error al convertir el tipo de datos varchar a numeric. (severity 16) in C:\EasyPHP5.2.10\www\professionals7.php on line 10

Warning: mssql_query() [function.mssql-query]: Query failed in C:\EasyPHP5.2.10\www\professionals7.php on line 10

Fatal error: Call to undefined function mssql_error() in C:\EasyPHP5.2.10\www\professionals7.php on line 10
El codigo que he realizado en es siguiente:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<?php 
    
// Reallitzam la conexió amb el servidor 
    
$conection mssql_connect("servidor","usuario","password") or die ("No es pot connectar amb el servidor"); 
    
// Es selecciona la BBDD amb la que es treballarà. 
    
mssql_select_db("desempeno"$conection); 
    
// Realitzam la consulta 
    
$sql mssql_query("select * from competencias") or die ('Invalid query: ' mssql_error()); 
?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <meta http-equiv = "refresh" content = "30"/>
        <link type="text/css" media="screen" rel="stylesheet" rev="stylesheet" href="../../imagenes/estilos.css" /> 
        <title>Evaluaci&oacute;n del desempeño</title> 
    </head> 
    <body> 
        <div name="logo"> 
            <img src="../../imagenes/aaa.jpg" alt="logo" width="500" height="122" align="middle" name="log"/> 
        </div>
        <div name = "titol" id = "titul">
            <h2> Mantenimenieto de Competencias </h2>  
        </div> 
        <div name = "informacio" id="infor"> 
            <?php
                
                
echo "<table border = '1'> \n"
                echo 
"<tr> \n";
                echo 
"<td><b>Identificador</b></td> \n"
                echo 
"<td><b>Codigo</b></td> \n"
                echo 
"<td><b>Descripcion</b></td> \n";
                echo 
"<td><b>Deficiente</b></td> \n";
                echo 
"<td><b>Mejorable</b></td> \n";
                echo 
"<td><b>Satisfactorio</b></td> \n";
                echo 
"<td><b>Notable</b></td> \n";
                echo 
"<td><b>Optima</b></td> \n";
                echo 
"<td><b>Descripcion Ampliada</b></td> \n";
                echo 
"<td><b>Tipo</b></td> \n";
                echo 
"<td><b>Texto</b></td> \n";
                echo 
"<td><b>Acciones Posibles</b></td> \n";
                echo 
"</tr> \n"
                while(
$row=mssql_fetch_array($sql)) 
                {     
                    echo 
"<tr> \n";
                    echo 
"<td>$row[0]</td> \n"
                    echo 
"<td>$row[1]</td> \n";
                    echo 
"<td>$row[2]</td> \n";
                    echo 
"<td>$row[3]</td> \n";
                    echo 
"<td>$row[4]</td> \n";
                    echo 
"<td>$row[5]</td> \n";
                    echo 
"<td>$row[6]</td> \n";
                    echo 
"<td>$row[7]</td> \n";
                    echo 
"<td>$row[8]</td> \n";
                    echo 
"<td>$row[9]</td> \n";
                    echo 
"<td>$row[10]</td> \n";
                    echo 
"<td><button onclick=\"window.open('http://127.0.0.1/professionals6.php?id=".$row[0]."','','')\"> <img src='../../imagenes/actualitzar.jpg' width = '25' height = '25' alt = 'actualitzar registros'/></button> 
                    <button onclick=\"window.open('http://127.0.0.1/professionals4.php?id="
.$row[0]."','','')\"> <img src='../../imagenes/papelera.jpg' width = '25' height = '25' alt = 'borrar registros'/></button></td> \n"
                    echo 
"</tr> \n"
                }
                echo 
"</table> \n"
            
?> 
        </div>
        <br />
        <div name = "boto" id="botons">
            <button onclick="window.open('http://127.0.0.1/professionals2.php','','fullscreen=yes')"> <img src="../../imagenes/insertar.jpg" width="50" height="50" alt="insetar nuevos registros"/> </button>
        </div> 
    </body> 
    <? 
        mssql_close
($conection); 
    
?> 
</html>
Cuando pulso el botón de actualizar llegamos al siguiente codigo:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<?php
    
// Reallitzam la conexió amb el servidor 
    
$conection mssql_connect("servidor","usuario","password") or die ("No es pot connectar amb el servidor"); 
    
// Es selecciona la BBDD amb la que es treballarà. 
    
mssql_select_db("desempeno"$conection);
    
// Deman el id
    
$_GET['id']; 
    
// Realitzam la consulta 
    
$sql mssql_query("select * from competencias where id= '".$_GET['id']."'") or die ('Invalid query: ' mssql_error()); 
    while (
$row mssql_fetch_array($sql))
    {
            
$i=$row["id"];
            
$c=$row["codigo"];
            
$d=$row["descripcion"];
            
$def=$row["deficiente"];
            
$m=$row["mejorable"];
            
$s=$row["satisfactorio"];
            
$n=$row["notable"];
            
$o=$row["optimo"];
            
$des=$row["des_ampliada"];
            
$t=$row["tipo"];
            
$te=$row["texto"];        
    }
 
?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <link type="text/css" media="screen" rel="stylesheet" rev="stylesheet" href="../../imagenes/estilos.css" />
        <script type = "text/javascript" src = "scripts/funciones.js"></script> 
        <title>Evaluaci&oacute;n del desempeño</title> 
    </head> 
    <body>
        <form name = "competencies" action = "professionals7.php" method = "post"> 
            <div name="logo"> 
                <img src="../../imagenes/aag.jpg" alt="logo" width="500" height="122" align="middle" name="log"/> 
                </div>
            <div name = "titol" id = "titul">
                <h2> Mantenimenieto de Competencias </h2>  
            </div> 
            <div name = "introduccio" id="intro"> 
                <span>
                    <input type="hidden" value="<?php $i;?>" />
                    <label for="codi">Codigo</label> <input type="text" name="codic" size="" maxlength="3" id="cod" class="caixa" readonly="true" value="<?php echo $c;?>"/>
                    <div id="desc"><label for="descripcio"> Descripci&oacute;n </label><textarea name="descripci" id="descripc" cols="40" rows="5"><?php echo $d;?></textarea></div>
                </span> 
                <span> 
                    <div id="def"><label for="deficient"> Deficiente </label> <textarea name="deficien" id="deficie" cols="40" rows="5"><?php echo $def;?></textarea></div>
                    <div id="mill"><label for="millorable"> Mejorable </label> <textarea name="millorabl" id="millorab" cols="40" rows="5"><?php echo $m;?></textarea></div>
                </span>
                <span> 
                    <div id="sat"><label for="satisfactori"> Satisfactorio </label> <textarea name="satisfactor" id="satisfacto" cols="40" rows="5"><?php echo $s;?></textarea></div>
                    <div id="not"><label for="notable"> Notable </label> <textarea name="notabl" id="notab" cols="40" rows="5"><?php echo $n;?></textarea></div>
                </span>
                <span> 
                    <div id="opt"><label for="optim"> Optimo </label> <textarea name="opti" id="opt" cols="40" rows="5"><?php echo $o;?></textarea></div>
                    <div id="desa"><label for="desampl"> D.A </label> <textarea name="desamp" id="desam" cols="40" rows="5"><?php echo $des;?></textarea></div>
                </span> 
                <span> 
                    <div id="rd"><label for="especifica"> Espec&iacute;fica / Gen&eacute;rica </label> <input type="text" name="tipo" id="tipo_e" value="<?php echo $t;?>"/></div>                
                    <br />
                    <br /> 
                    <br />
                    <div id="txt"><label for="test"> Texto </label>  <textarea name="tex" id="te" cols="40" rows="5"><?php echo $te;?></textarea></div>
                </span> 
            </div>
            <div name = "boto" id="botons">
                <span>
                    <button onclick="actualitzar();"> <img src='../../imagenes/actualitzar.jpg' width ="50" height ="50" alt="Acutlizar registro"/></button>
                </span>
            </div>
        </form> 
    </body> 
    <? 
        mssql_close
($conection); 
    
?> 
</html>
Y cuando le doy al boton actualizar salta el siguiente codigo y es cuando me da el error:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<?php 
    
// Reallitzam la conexió amb el servidor 
    
$conection mssql_connect("servidor","usuario","password") or die ("No es pot connectar amb el servidor"); 
    
// Es selecciona la BBDD amb la que es treballarà. 
    
mssql_select_db("desempeno"$conection); 
    
//Recuperam el id
    
$_GET['i']; 
    
// Realitzam la consulta 
    
$sql mssql_query("select * from competencias where id = '".$_GET['i']."'") or die ('Invalid query: ' mssql_error()); 
        
    while (
$row mssql_fetch_array($sql))
    {
            
$i=$row["id"];
            
$codic=$row["codigo"];
            
$descripci=$row["descripcion"];
            
$deficien=$row["deficiente"];
            
$millorabl=$row["mejorable"];
            
$satisfactor=$row["satisfactorio"];
            
$notabl=$row["notable"];
            
$opti=$row["optimo"];
            
$desamp=$row["des_ampliada"];
            
$tipo=$row["tipo"];
            
$tex=$row["texto"];        
    }
    
    
mssql_query("update competencias set codigo='$codic',descripcion='$descripci',deficiente='$deficien',mejorable='$millorabl',satisfactorio='$satisfactor',notable='$notabl',optimo='$opti',des_ampliada='$desamp',tipo='$tipo',texto='$tex' where id=".$_GET['i']."'",$conection);
    
    
//echo $descripci;
    
mssql_close($conection); 
?>
<script> window.close(); </script>
Alguien me puede ayudar, es que me estoy quedando ya sin ideas, he realizado multitud de pruebas y no consigo salir adelante.
Gracias
  #2 (permalink)  
Antiguo 06/06/2011, 05:06
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 1 mes
Puntos: 22
Respuesta: Problema al actualizar o borrar registros de una base de datos

El mismo error te dice que tienes algo indefinido, probablemente el $_GET['i'] que parece que no le pasas por la url por lo que no tiene de donde sacarlo. O eso me parece a mi.
  #3 (permalink)  
Antiguo 23/06/2011, 07:27
 
Fecha de Ingreso: febrero-2011
Mensajes: 33
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problema al actualizar o borrar registros de una base de datos

Actualizar Registros

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<?php
    
    $conection 
mssql_connect("servidor","usuari","password") or die ("No es pot connectar amb el servidor"); 
    
    
mssql_select_db("desempeno"$conection);
    
    
$_GET['id']; 
    
    
$sql mssql_query("select * from competencias where id= '".$_GET['id']."'") or die ('Invalid query: ' mssql_error()); 
    while (
$row mssql_fetch_array($sql))
    {
            
$i=$row["id"];
            
$c=$row["codigo"];
            
$d=$row["descripcion"];
            
$def=$row["deficiente"];
            
$m=$row["mejorable"];
            
$s=$row["satisfactorio"];
            
$n=$row["notable"];
            
$o=$row["optimo"];
            
$des=$row["des_ampliada"];
            
$t=$row["tipo"];
            
$te=$row["texto"];        
    }
 
?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <link type="text/css" media="screen" rel="stylesheet" rev="stylesheet" href="../../imagenes/estilos.css" />
        <script> window.onload = function() {window.moveTo(0,0); window.resizeTo(screen.width,screen.height);} </script>
        <script type = "text/javascript" src = "scripts/funciones.js"></script> 
        <title>Evaluaci&oacute;n del desempeño</title> 
    </head> 
    <body>
        <form name = "competencies" action = "professionals7.php" method = "post"> 
            <div name="logo"> 
                <img src="../../imagenes/S.jpg" alt="logo" width="500" height="122" align="middle" name="log"/> 
                </div>
            <div name = "titol" id = "titul">
                <h2> Mantenimenieto de Competencias </h2>  
            </div> 
            <div name = "introduccio" id="intro"> 
                <span>
                    <input name = "identificador" type="hidden" value="<?php echo $i;?>" />
                    <label for="codi">Codigo</label> <input type="text" name="codica" size="" maxlength="3" id="cod" class="caixa" readonly="true" value="<?php echo $c;?>"/>
                    <div id="desc"><label for="descripcio"> Descripci&oacute;n </label><textarea name="descripci" id="descripc" cols="40" rows="5"><?php echo $d;?></textarea></div>
                </span> 
                <span> 
                    <div id="def"><label for="deficient"> Deficiente </label> <textarea name="deficien" id="deficie" cols="40" rows="5"><?php echo $def;?></textarea></div>
                    <div id="mill"><label for="millorable"> Mejorable </label> <textarea name="millorabl" id="millorab" cols="40" rows="5"><?php echo $m;?></textarea></div>
                </span>
                <span> 
                    <div id="sat"><label for="satisfactori"> Satisfactorio </label> <textarea name="satisfactor" id="satisfacto" cols="40" rows="5"><?php echo $s;?></textarea></div>
                    <div id="not"><label for="notable"> Notable </label> <textarea name="notabl" id="notab" cols="40" rows="5"><?php echo $n;?></textarea></div>
                </span>
                <span> 
                    <div id="opt"><label for="optim"> Optimo </label> <textarea name="opti" id="opt" cols="40" rows="5"><?php echo $o;?></textarea></div>
                    <div id="desa"><label for="desampl"> D.A </label> <textarea name="desamp" id="desam" cols="40" rows="5"><?php echo $des;?></textarea></div>
                </span> 
                <span> 
                    <div id="rd"><label for="especifica"> Espec&iacute;fica / Gen&eacute;rica </label> <input type="text" name="tipo" id="tipo_e" value="<?php echo $t;?>"/></div>                
                    <br />
                    <br /> 
                    <br />
                    <div id="txt"><label for="test"> Texto </label>  <textarea name="tex" id="te" cols="40" rows="5"><?php echo $te;?></textarea></div>
                </span> 
            </div>
            <div name = "boto" id="botons">
                <span>
                    <!--<button onclick="actualitzar();"> <img src='../../imagenes/actualitzar.jpg' width ="50" height ="50" alt="Acutlizar registro"/></button>-->
                     <input type="submit" value = "enviar" class="boton" />
                </span>
            </div>
        </form> 
    </body> 
    <? 
        mssql_close
($conection); 
    
?> 
</html>
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<?php 
    $conection 
mssql_connect("servidor","usuari","password") or die ("No es pot connectar amb el servidor"); 
    
mssql_select_db("desempeno"$conection); 
    echo 
"El valor del identificador es: ".$_POST['identificador']; 
    
$sql mssql_query("select * from competencias where id = '".$_POST['identificador']."'") or die ('Invalid query: ' mssql_error()); 
    while (
$row mssql_fetch_array($sql))
    {
            
$i=$row["id"];
            
$c=$row["codigo"];
            
$d=$row["descripcion"];
            
$def=$row["deficiente"];
            
$m=$row["mejorable"];
            
$s=$row["satisfactorio"];
            
$n=$row["notable"];
            
$o=$row["optimo"];
            
$des=$row["des_ampliada"];
            
$t=$row["tipo"];
            
$te=$row["texto"];    
    }
    
mssql_query("update competencias set codigo='".$_POST['codica']."', descripcion='".$_POST['descripci']."', deficiente='".$_POST['deficien']."', mejorable='".$_POST['millorabl']."', satisfactorio='".$_POST['satisfactor']."', notable='".$_POST['notabl']."', optimo='".$_POST['opti']."', des_ampliada='".$_POST['desamp']."', tipo='".$_POST['tipo']."', texto='".$_POST['tex']."' where id='".$_POST['identificador']."'" ,$conection);
    
    
mssql_close($conection); 
?>
<script> window.close(); </script>
  #4 (permalink)  
Antiguo 23/06/2011, 07:28
 
Fecha de Ingreso: febrero-2011
Mensajes: 33
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problema al actualizar o borrar registros de una base de datos

Borrar registros

Solucinado

Eliminar registros


Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<?php
    
    $conection 
mssql_connect("servidor","usuari","password") or die ("No es pot connectar amb el servidor"); 
    
    
mssql_select_db("desempeno"$conection);
    
$_GET['id'];  
    
    
$sql mssql_query("select * from competencias where id= '".$_GET['id']."'") or die ('Invalid query: ' mssql_error());
    while (
$row mssql_fetch_array($sql))
    {
            
$i=$row["id"];    
            
$c=$row["codigo"];
            
$d=$row["descripcion"];
            
$def=$row["deficiente"];
            
$m=$row["mejorable"];
            
$s=$row["satisfactorio"];
            
$n=$row["notable"];
            
$o=$row["optimo"];
            
$des=$row["des_ampliada"];
            
$t=$row["tipo"];
            
$te=$row["texto"];        
    }
?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <link type="text/css" media="screen" rel="stylesheet" rev="stylesheet" href="../../imagenes/estilos.css" />
        <script> window.onload = function() {window.moveTo(0,0); window.resizeTo(screen.width,screen.height);} </script>
        <script type = "text/javascript" src = "scripts/funciones.js"></script> 
        <title>Evaluaci&oacute;n del desempeño</title> 
    </head> 
    <body>
          <form name = "competencies" action = "professionals5.php" method = "post">
            <div name="logo"> 
                <img src="../../imagenes/S.jpg" alt="logo" width="500" height="122" align="middle" name="log"/> 
                </div>
            <div name = "titol" id = "titul">
                <h2> Mantenimenieto de Competencias </h2>  
            </div> 
            <div name = "introduccio" id="intro"> 
                <span>
                    <input name = "identificador" type="hidden" value="<?php echo $i;?>" />
                    <label for="codi"> Codigo </label> <input type="text" name="codic" size="" maxlength="3" id="cod" class="caixa" readonly="true" value="<?php echo $c;?>"/>
                    <div id="desc"><label for="descripcio"> Descripci&oacute;n </label><textarea name="descripci" id="descripc" cols="40" rows="5"><?php echo $d;?></textarea></div>
                </span> 
                <span> 
                    <div id="def"><label for="deficient"> Deficiente </label> <textarea name="deficien" id="deficie" cols="40" rows="5"><?php echo $def;?></textarea></div>
                    <div id="mill"><label for="millorable"> Mejorable </label> <textarea name="millorabl" id="millorab" cols="40" rows="5"><?php echo $m;?></textarea></div>
                </span>
                <span> 
                    <div id="sat"><label for="satisfactori"> Satisfactorio </label> <textarea name="satisfactor" id="satisfacto" cols="40" rows="5"><?php echo $s;?></textarea></div>
                    <div id="not"><label for="notable"> Notable </label> <textarea name="notabl" id="notab" cols="40" rows="5"><?php echo $n;?></textarea></div>
                </span>
                <span> 
                    <div id="opt"><label for="optim"> Optimo </label> <textarea name="opti" id="opt" cols="40" rows="5"><?php echo $o;?></textarea></div>
                    <div id="desa"><label for="desampl"> D.A </label> <textarea name="desamp" id="desam" cols="40" rows="5"><?php echo $des;?></textarea></div>
                </span> 
                <span> 
                    <div id="rd"><label for="especifica"> Espec&iacute;fica / Gen&eacute;rica </label> <input type="text" name="tipo" id="tipo_e" value="<?php echo $t;?>" /></div>
                    <br />
                    <br />
                    <br />
                    <div id="txt"><label for="test"> Texto </label>  <textarea name="tex" id="te" cols="40" rows="5"><?php echo $te;?></textarea></div>
                </span> 
            </div>
            <div name = "boto" id="botons">
                <span>
                    <!--<button onclick="eliminar();" > <img src='../../imagenes/papelera.jpg' width ="50" height ="50" alt="Eliminar registro"/></button>-->
                    <input type="submit" value = "enviar" class="boton" />
                </span>
            </div>
        </form> 
    </body> 
    <? 
        mssql_close
($conection); 
    
?> 
</html>
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<?php 
    
    $conection 
mssql_connect("servidor","usuario","password") or die ("No es pot connectar amb el servidor"); 
    
    
mssql_select_db("desempeno"$conection);
    echo 
"El valor del identificador es: ".$_POST['identificador'];
    
    
$sql mssql_query("select * from competencias where id = '".$_POST['identificador']."'") or die ('Invalid query: ' mssql_error()); 
    
    while (
$row mssql_fetch_array($sql))
    {
            
$i=$row["id"];
            
$c=$row["codigo"];
            
$d=$row["descripcion"];
            
$def=$row["deficiente"];
            
$m=$row["mejorable"];
            
$s=$row["satisfactorio"];
            
$n=$row["notable"];
            
$o=$row["optimo"];
            
$des=$row["des_ampliada"];
            
$t=$row["tipo"];
            
$te=$row["texto"];        
    }
    
    
//mssql_query("delete from competencias where id = $i", $conection);
    
     /*if(isset($_GET['id']))
    {  
           $a = "DELETE FROM competencias WHERE id= '".$_GET['id']."'"; mssql_query($a); 
    }*/
    
mssql_query("delete from competencias where id = '".$_POST['identificador']."'"$conection);
    
mssql_close($conection); 
?>
<script> window.close(); </script>

Etiquetas: borrar, registros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:58.