Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Modificar un registro individual en una BD MySQL (https://www.clubdelphi.com/foros/showthread.php?t=52184)

fide 12-01-2008 22:56:25

Modificar un registro individual en una BD MySQL
 
Hola. Tengo el siguiente problema. Lo que necesito es que al recorrer todos los registros de una tabla con un ciclo, poder modificar un registro individual. Ahora veran lo que les digo..

Código PHP:

<?php
    $link 
mysql_connect ("localhost:3306""root");

    
mysql_select_db ("mysql");

    
$query "SELECT * FROM priv_user WHERE username = '".$_POST['usrname']."' and password = '".$_POST['usrpass']."'";
    
#print $query; //Imprimir la consulta a ver como queda!
    
$result mysql_query ($query);
    
    if( 
mysql_affected_rows($link) <= 0) {
        print 
'<h2><font Color="#FF0000">Login Incorrecto</font></h2>';
    }
    else {
    
    
$query "SELECT * FROM estudiantes";
    
$result mysql_query ($query);

    
# Extraer los registros en orden inverso

    
print('<b>Estudiantes actualmente guardados en la BD</b>');
    print(
'<br> --------------------------------------------------------- <br>');
    
        for (
$i mysql_num_rows ($result) - 1$i >=0$i--) {
        if (!
mysql_data_seek ($result$i)) {
            
printf ("No se ha podido acceder al registro # %d\n"$i);
            continue;
        }

        if(!(
$row mysql_fetch_object ($result)))
            continue;

                
$fname $row->Nombre$lname $row->Apellidos$group $row->Grupo;
    
#quitar
        
if($row->Nombre == "Fidel") {
            
$row->Apellidos "Otro Apellido";  //Esto es lo que no me sale
        
};
    
#quitar            
if( $i == )    {        
print(
'<table width="75%" border="0">
  <tr>
    <td width="2%" bgcolor="#DAE8FB"><input type="checkbox" name="checkbox" value="checkbox"></td>
    <td width="98%" bgcolor="#DAE8FB">' 
$fname.' '.$lname.' - ['.$group.'] </td>
  </tr>
</table> '
);
}
    else {
print(
'<table width="75%" border="0">
  <tr>
    <td width="2%" bgcolor="#CDDDF2"><input type="checkbox" name="checkbox" value="checkbox"></td>
    <td width="98%" bgcolor="#CDDDF2">' 
$fname.' '.$lname.' - ['.$group.'] </td>
  </tr>
</table> '
);
    };                
                
    } 
#Final de While

    
print('--------------------------------------------------------- <br>');

    
mysql_free_result ($result);
  };    
?>


Justamente esta instruccion es la que no me quiere funcionar.

Código PHP:

        if($row->Nombre == "Fidel") {
            
$row->Apellidos "Otro Apellido";  //Esto es lo que no me sale
        
}; 

Si me pueden ayudar les estaré muy agradecido...

droguerman 12-01-2008 23:36:16

comprueba que tu campo se llame Apellidos a lo mejor está como apellidos, es decir en minúscula, lo mismo con "Fidel", las comparaciones son case sensitivas

fide 12-01-2008 23:39:36

Voy a probar si es eso, pero creo que no. Asi como lo puse deberia de funcionar he?????

fide 12-01-2008 23:44:17

Ya cambie eso que me dices pero como quiera no me trabaja.

fide 12-01-2008 23:50:40

A la verdad que lo que necesito saber es como puedo modificar el valor de un campo de un registro de una tabla de una conexion a una Bd MySql desde PHP...

Ademas tambien necesito poder agregar un registro a esa BD. Aunque se me ha estado ocurriendo que con una instruccion sql puedo acer eso, creo!

droguerman 13-01-2008 05:57:48

un momento, piensas que haciendo $row->Apellidos= "Otro Apellidos" ya estás modificando los registros?:eek:

culpa mía, pensé que no podías acceder a los valores, solo puedes modificar los registros usando sentencias SQL

saludos

fide 13-01-2008 06:10:19

Ok. Eso mismo fue lo que hice. Ahora modifico los registros individuales con sentencias SQL. Mas especificamente con algo como esto.

Código SQL [-]
   UPDATE estudiantes SET Nombre = 'Nuevo_Nombre' WHERE Nombre = 'Antiguo_Nombre'

y asi fue que logré solucionar el problema en cuestion.

Muchas gracias por tu ayuda amigo.

fide 13-01-2008 06:14:13

Ahora tengo otra dudita.

Mira esto:
http://www.clubdelphi.com/foros/showthread.php?t=52184

De ese enlace, esa parte que esta marcada en rojo es lo que no entiendo. Al parecer son parámetros que el navegador o no se quien mas envian al PHP. Puede ser eso???

Si eso que esta en rojo en un parametro que se envia al servidor, como puedo yo tener acceso a el?

dec 13-01-2008 06:26:58

Hola,

Hay varias formas de acceder a las variables y valores que se pasan a través de la URL, por decirlo así. Podrías echar un vistazo al manual de PHP sobre ciertas variables predefinidas, particularmente, te interesa la variable "$_GET". Echa un vistazo a ver qué te parece.

fide 13-01-2008 06:43:33

Muchas gracias dec. Mirare a ver que descubro. a la verdad que eso me hace mucha falta, ademas es de mucha utilidad...
:D

fide 13-01-2008 06:55:55

Esta funcion me parece marabillosa.

Código PHP:

function getQueryParameter ($strParam) {
  
$aParamList explode('&'$_SERVER['QUERY_STRING']);
  
$i 0;
  while (
$i count($aParamList)) {
    
$aParam split('='$aParamList[$i]);
    if (
$strParam == $aParam[0]) {
      return 
$aParam[1];
    }
  }
  return 
"";



fide 13-01-2008 07:02:20

pero esta me parece mejor aun jajajaj.

Código PHP:

print '<br>Primer Nombre: ' $_GET['fname']; 

Muchas gracias a todos por su ayuda.


La franja horaria es GMT +2. Ahora son las 02:50:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi