Foros del Web » Programando para Internet » PHP »

problem con el modificar

Estas en el tema de problem con el modificar en el foro de PHP en Foros del Web. hola amigos estoy de vuelta y tengo otro problema es con el combo del modificar q la pagina me dice q no sean ingresado datos ...
  #1 (permalink)  
Antiguo 20/10/2005, 10:13
 
Fecha de Ingreso: noviembre-2004
Mensajes: 181
Antigüedad: 20 años
Puntos: 1
problem con el modificar

hola amigos estoy de vuelta y tengo otro problema es con el combo del modificar q la pagina me dice q no sean ingresado datos en el COMBO cuando tiene valores y no se como se hace para q me recocnosca que tiene un valor .....miren les embio el codigo....


$sql1 = "SELECT * FROM GRUPO_USUARIO where ID=$id_grupo";
$res1 = mysql_query($sql1) or die("La consulta falló: " . mysql_error());
$num1=mysql_numrows($res1);

for ($i=0; $i<$num1; $i++)
{
$txtid=mysql_result($res1,$i,"ID");

}



$sql = "SELECT * FROM GRUPO_USUARIO";
$res = mysql_query($sql) or die("La consulta fall&oacute;: " . mysql_error());
$num=mysql_numrows($res);


echo"<tr> \n";
echo"<td width='33%'><font face='Verdana'><b>GRUPO</b></font></td>\n";
echo"<td width='33%' align='center'><font face='Verdana'><b>:</b></font></td>\n";
echo"<td width='34%' align='left'>";
echo"<select name='cmblocal' size='1' id='cmblocal'>\n";
echo "<option value='$txtid'>$txtid</option>";
for ($i=0; $i<$num; $i++)
{
$txt=mysql_result($res,$i,"ID");
$nombre_grupo=mysql_result($res,$i,"GRUPO");
echo "<option value=$txtid>$nombre_grupo</option>";
}
echo"</select></td>\n";
echo"</tr>\n";

y lo otro es que cuando aparcece en la pagina de actualisar aparece un uno que es del grupo admin EN EL COMBO Y NO DEVERIAN APARECER NUMEROS SOLO EL NOMBRE Q TENIA DE GRUPO que deveria parecer el nombre admin y no 1 como aparece por fa ayuda please
disculpen las molestias

Última edición por blackrocha; 20/10/2005 a las 10:19
  #2 (permalink)  
Antiguo 20/10/2005, 10:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Que lio te haces con mysql_result() .. te viene mejor para estos casos usar:

Código PHP:
echo"<select name='cmblocal' size='1' id='cmblocal'>\n";
while (
$row=mysql_fetch_array($res)){
   echo 
"<option value=\"".row['ID']."\">".row['GRUPO']."</option>\n";
}
echo
"</select>\n"
Fijate en el código HTML que se genera (en tu navegador ver ->código fuente) y mira a ver si es lo que esperas (no sé si pasas el ID de ese registro al seleccionarlo o el nombre .. lo lógico sería ese "ID" no el nombre que se visualiza en esos "option's")

Un saludo,
  #3 (permalink)  
Antiguo 20/10/2005, 11:10
 
Fecha de Ingreso: noviembre-2004
Mensajes: 181
Antigüedad: 20 años
Puntos: 1
problemom

Código PHP:
<?php
echo"<html>\n";
echo
"<head>\n";
echo
"<title>Modificarauto</title>\n";
echo
"</head>\n";

$enlace mysql_connect("localhost""root""") or die("No pudo conectarse : " mysql_error());
echo 
"Conexi&oacute;n exitosa";
mysql_select_db("automotora") or die("No pudo seleccionarse la BD.");

        if (isset(
$btnmodificar))
            {
                if (!
$txtnumero)
                {
                  echo 
"Debe ingresar valores para el numero de usuario. Vuelva atras con su browser e ingrese los datos.\n";
                  exit;
                }
                if (!
$txtnombre)
                {
                  echo 
"Debe ingresar valores para el nombre de ususario. Vuelva atras con su browser e ingrese los datos.\n";
                  exit;
                }

                
//if (!$grupo)
                //{
                 // echo "Debe ingresar el grupo de usuario. Vuelva atras con su browser e ingrese los datos.\n";
                 // exit;
                //}
                
if (!$txtapellido)
                {
                  echo 
"Debe ingresar el apellido. Vuelva atras con su browser e ingrese los datos.\n";
                  exit;
                }
                if (!
$txtlogin)
                {
                  echo 
"Debe ingresar el login. Vuelva atras con su browser e ingrese los datos.\n";
                  exit;
                }
                if (!
$txtpas)
                {
                  echo 
"Debe ingresar el pas. Vuelva atras con su browser e ingrese los datos.\n";
                  exit;
                }

            
$sql "
               UPDATE usuario SET ID_USUARIO="
.$txtnumero.",
                                              ID_GRUPO="
.$grupo.",
                                              NOMBRE='"
.$txtnombre."',
                                              APELLIDO='"
.$txtapellido."',
                                              LOGIN='"
.$txtlogin."',
                                              PAS='"
.$txtpas."',
                                              
                                  WHERE ID_USUARIO='$txtnumero'
                              ;
          "
;
              echo 
"SQL GENERADO:$sql<br>\n";
            
//echo "SQL GENERADO:$sqlq<br>\n";
        
$ress=mysql_db_query("automotora",$sql);
         
    if (!
$ress)
        {
          echo 
"<center><h3><b>no se pudo modificar en la base de datos</b></h3></center>\n<br>";
          echo 
"<center><h3><b>vuelva atras e intente de nuevo</b></h3></center><br>";
        }
    else
        {
        
//echo"<center><h3><b>El registo fue modificado en la base de datos</b></h3></center><br><br>";
        
mysql_close();
        
//echo "<a href='../filtro.php'><center><h3><b>ver listado</b></h3></center></a>";
        //echo "<a href='../subir.php'><center><h3><b>subir la foto</b></h3></center></a>";
        
}


}
else
{
echo
"<body>\n";
echo
"<center><h2><b>MODIFICAR USUARIO</b></h2></center>\n";
echo
"<form action='$_SERVER' method='post' name=''>\n";

$sql ="SELECT * FROM USUARIO WHERE ID_USUARIO='$txtnumero'";
$res mysql_query($sql) or die("La consulta fall&oacute;: " mysql_error());
$num=mysql_numrows($res);

for(
$i=0;$i<$num;$i++)
    {
        
$id_usuario=mysql_result($res,$i,"ID_USUARIO");
        
$id_grupo=mysql_result($res,$i,"ID_GRUPO");
        
$nombre=mysql_result($res,$i,"NOMBRE");
        
$apellido=mysql_result($res,$i,"APELLIDO");
        
$login=mysql_result($res,$i,"LOGIN");
        
$pas=mysql_result($res,$i,"PAS");
        

    }

      echo
"<center>\n";
    echo
"<table border='0' width='100' height='391'>\n";

    echo
"<tr> \n";
    echo
"<td width='33%' height='19'><font face='Verdana'><b>ID_USUARIO</b></font></td>\n";
    echo
"<td width='33%' height='19' align='center'><font face='Verdana'><b>:</b></font></td>\n";
    echo
"<td width='34%' height='19'><input name='txtid' type='text'  value='$id_usuario'size='20' maxlength='20'></td>\n";
    echo
"</tr>\n";

          
$sql1  "SELECT * FROM grupo where ID_GRUPO=$id_grupo";
          
$res1 mysql_query($sql1) or die("La consulta fall&oacute;: " mysql_error());
          
$num1=mysql_numrows($res1);

                  for (
$i=0$i<$num1$i++)
                                {
                                 
$txtid_grup=mysql_result($res1,$i,"ID_GRUPO");
                                 
                                }



          
$sql  "SELECT * FROM GRUPO";
          
$res mysql_query($sql) or die("La consulta fall&oacute;: " mysql_error());
          
$num=mysql_numrows($res);


       echo
"<tr> \n";
       echo
"<td width='33%'><font face='Verdana'><b>GRUPO</b></font></td>\n";
       echo
"<td width='33%' align='center'><font face='Verdana'><b>:</b></font></td>\n";
       echo
"<td width='34%' align='left'>";
       echo
"<select name='cmblocal' size='1' id='cmblocal'>\n"
        while (
$row=mysql_fetch_array($res))
        { 
           echo 
"<option value=\"".$row['txtid_grup']."\">".$row['GRUPO']."</option>\n"
        } 
        echo
"</select>\n"






   echo
"<tr>\n";
    echo
"<td width='33%'><font face='Verdana'><b>NOMBRE</b></font></td>\n";
    echo
"<td width='33%' align='center'><font face='Verdana'><b>:</b></font></td>\n";
    echo
"<td width='34%' align='center'> <div align='left'>\n";
    echo
"<input name='txtnombre' type='text' value='$nombre' size='15' maxlength='10'>\n";
    echo
"</div></td>\n";
    echo
"</tr>\n";
               

    echo
"<tr> \n";
    echo
"<td><strong><font face='Verdana'>APELLIDO</font></strong></td>\n";
    echo
"<td align='center'><strong><font face='Verdana'>:</font></strong></td>\n";
    echo
"<td align='center'><div align='left'> \n";
    echo
"<input name='txtapellido' type='text' value='$apellido' size='20' maxlength='20'>\n";
    echo
"</div></td>\n";
    echo
"</tr>\n";

    echo
"<tr> \n";
    echo
"<td width='33%'><font face='Verdana'><b>LOGIN </b></font></td>\n";
    echo
"<td width='33%' align='center'><font face='Verdana'><b>:</b></font></td>\n";
    echo
"<td width='34%' align='center'><div align='left'> \n";
    echo
"<input name='txtlogin' type='text' value='$login' size='20' maxlength='10'>\n";
    echo
"</div></td>\n";
    echo
"</tr>\n";


    echo
"<tr> \n";
    echo
"<td width='33%'><font face='Verdana'><b>PAS</b></font></td>\n";
    echo
"<td width='33%' align='center'><font face='Verdana'><b>:</b></font></td>\n";
    echo
"<td width='34%' align='center'><div align='left'> \n";
    echo
"<input name='txtpas' type='text' value='$pas' size='20' maxlength='10'>\n";
    echo
"</div></td>\n";
    echo
"</tr>\n";



      echo
"<tr> \n";
      echo
"<td width='100%' colspan='3' height='25'> <p align='center'>\n";
      echo
"<input type='submit' value='Modificar' name='btnmodificar'>\n";
      echo 
"<input type='hidden' name='txtnumero' value='$txtnumero'>";
      echo
"</td>\n";
      echo
"</tr>\n";

      echo
"</table>\n";
      echo
"</center>\n";
      echo
"</form>\n";
      echo
"</body>\n";
      echo
"</html>\n";
}
?>
codigo actual que tengo en la pagina

Última edición por Cluster; 21/10/2005 a las 10:46
  #4 (permalink)  
Antiguo 20/10/2005, 11:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Me equivoqué con las comillas y sus escapes (\)? .. creo que no .. lo que pasa que me dejé los $ ... (disculpa .. pero también debes ir fijandote tu mismo en estos detalles).

Código PHP:
echo "<option value=\"".$row['ID_GRUPO']."\">".$row['GRUPO']."</option>\n"
Por cierto .. modifica el resto de consultas .. usa el "while" con el mysql_fetch_array() ..

Un saludo,
  #5 (permalink)  
Antiguo 20/10/2005, 21:44
 
Fecha de Ingreso: noviembre-2004
Mensajes: 181
Antigüedad: 20 años
Puntos: 1
buya sabes que no me deja modificar y me dice q no se puede insertar en la bd y le coloque un imprimir al sql y me muestra esto mira

Conexión exitosaSQL GENERADO: UPDATE usuario SET ID_USUARIO=3, ID_GRUPO=, NOMBRE='CLAUDIA', APELLIDO='CLAUDIA', LOGIN='CLAUDIA', PAS='CLAUDIA', WHERE ID_USUARIO='3' ;

no se pudo modificar en la base de datos


vuelva atras e intente de nuevo


en el grupo no esta pasando nada
y el codigo que tengo arriva en verde es el q tengo actualmente en la pagina y no me esta pasando el parametro del combo a y otra cosa tuve q sacarle esa verificacion del combo por si estava vacia porq no me dejava pasar por eso la deje con comentario no creo q tenga problemas con eso....
porfa cual es el error q no me pasa ese parametro del combo

... despues de que arregle esta pagina cambio a los while
  #6 (permalink)  
Antiguo 21/10/2005, 09:51
 
Fecha de Ingreso: noviembre-2004
Mensajes: 181
Antigüedad: 20 años
Puntos: 1
buya cluster porq no me tira en volor el combo no caxo
  #7 (permalink)  
Antiguo 21/10/2005, 09:58
Avatar de PeiShar  
Fecha de Ingreso: abril-2001
Ubicación: España
Mensajes: 125
Antigüedad: 23 años, 7 meses
Puntos: 0
Hola blackrocha, aunque lo que te voy a comentar no va a solucionar tu problema no crees estas colocando demasiados echo para el código html??? Te estas dando una pecha de currar, bajo mi punto de vista el echo se debe usar solo cuando sea necesario, no se si Cluster lo comparte. Saludos
  #8 (permalink)  
Antiguo 21/10/2005, 10:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por PeiShar
Hola blackrocha, aunque lo que te voy a comentar no va a solucionar tu problema no crees estas colocando demasiados echo para el código html??? Te estas dando una pecha de currar, bajo mi punto de vista el echo se debe usar solo cuando sea necesario, no se si Cluster lo comparte. Saludos
Pues si .. la verdad que así .. usando un "echo" por línea de código HTML que presentar lo único que se hace es liarse uno mismo ..

Sería mejor que "abra" y "cierre" PHP donde realmente lo use .. así por ejemplo si visualiza ese código en algún editor de código tipo "Dreamweaver" o similar, podrá hasta ver como queda:

Código PHP:
<?
// codigo PHP
?>
HTML ....
<?
// más código PHP
?>
Un saludo,
  #9 (permalink)  
Antiguo 21/10/2005, 10:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por blackrocha
buya cluster porq no me tira en volor el combo no caxo
No sé que datos generas de tu consulta (usas mucho * para referirte a "todos los campos que tenga esa tabla") .. así que no sé como se llaman tus campos de tus tablas implicadas .. revisalo, Revisa si se generan las opciones (en tu navegador ver-> código fuente)

Un saludo,
  #10 (permalink)  
Antiguo 21/10/2005, 13:00
 
Fecha de Ingreso: noviembre-2004
Mensajes: 181
Antigüedad: 20 años
Puntos: 1
cluster arregle el error del combo ; pero no se que pasa con el update q no quiere insertar

mira el update
$sql = "
UPDATE usuario SET ID_USUARIO=".$txtnumero.",
ID_GRUPO=".$cmbgrupo.",
NOMBRE='".$txtnombre."',
APELLIDO='".$txtapellido."',
LOGIN='".$txtlogin."',
PAS='".$txtpas."',

WHERE ID_USUARIO=".$txtnumero."
;
";


y me dice esto a y tengo imprimido el sql y me arroja lo sgte
SQL GENERADO: UPDATE usuario SET ID_USUARIO=2, ID_GRUPO=1, NOMBRE='andrea', APELLIDO='merello', LOGIN='mrrello', PAS='mrello', WHERE ID_USUARIO=2 ;
SQL GENERADO:

no se pudo modificar en la base de datos


vuelva atras e intente de nuevo

porfa dime que puede ser
  #11 (permalink)  
Antiguo 21/10/2005, 13:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
mm es que lo que pretendes hacer es incoherente .. No puedes modificar un campo que usas para filtrar (WHERE ...)

Es decir . .esto:
ID_USUARIO=".$txtnumero.",

sobra!!! ..

Un saludo,
  #12 (permalink)  
Antiguo 22/10/2005, 11:28
 
Fecha de Ingreso: noviembre-2004
Mensajes: 181
Antigüedad: 20 años
Puntos: 1
update

gracias master ya lo solucione sabes lo que era el punto y coma q estava en el final de la consulta
saludos....

Última edición por blackrocha; 22/10/2005 a las 11:34
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 13:00.