PHP - problema con metodo modificar y consultar

 
Vista:

problema con metodo modificar y consultar

Publicado por miguel (1 intervención) el 22/11/2005 21:34:28
hola,no puedo consultar los datos en la base de datos,para luego modificarlos,
cuando consulto me muestra una pantalla en blanco y no salen los valores que deberia mostrar con la pagina cliente_modificar,la cual llamo con un include,todo esto en el archivo cliente_proceso_modificar.
Cuando ingreso un valor para modificar, sin antes consultar,me sale el mensaje registro modificado,pero cuando reviso la base de datos,todo sigue igual,sin a ver llevado a efecto la modificacion,tambien coloque las variables que deseo modificar dentro de un echo,para ver si contienen los valores,y si llas variables estan con los valores que ingreso en el formulario.Pero la variable nombre queda en blanco,la variable nombre la utilizo en el formulario de ingreso,para mostrar los nombre de cliente en una lista.

Cual puede ser el problema y como puedo solucionarlo?

aqui coloco el codigo para que se entienda mejor mi problema.
gracias.

archivo conexion
Código PHP:
<?

$servidor = "localhost";
$usuario = "root";
$password = "";

mysql_connect($servidor, $usuario, $password);
?>


formulario para ingresar los datos y consultar
Código PHP:
<html>
<head>
<title>modificar_cliente</title>

<script>

function formul()
{

if ((document.formulario.telefono.value == "") || (document.formulario.telefono.value== null)) {
alert("Debe ingresar el telefono ");
document.formulario.telefono.focus();
return false;
}

else
if(document.formulario.mail1.value == "")
{
return true;
}
else
if((formulario.mail1.value.indexOf ('@', 0) == -1)||
(formulario.mail1.value.length < 5)) {
alert("direccion de correo invalida");
return false;
}

else
return true;
}
</script>
</head>

<body>
<table align=center border=0>
<FORM name=formulario action="cliente_proceso_modificar.php" method="POST">

<?
include("conexion.php");
$sSQL="select * from cliente where cli_rut_empresa='$rut'";
$sSQL="select cli_nom_empresa as Empresa from cliente";

$result=mysql_db_query("ventas",$sSQL);
echo "Nombre Empresa:";
echo "    <select name='nombre'>";

echo "<option>seleccionar";
while ($row=mysql_fetch_array($result))
{
echo "<option value=".$row['cli_rut_empresa'].">"." ".$row['Empresa']."</option>";
}
mysql_free_result($result);
echo "</select>";
mysql_close();
?>

<tr>
<td>
Telefono:
               
<INPUT type="text" name="telefono" size="10" maxlength="20" <?echo "value='$telefono'"?>>
</td>
</tr>
<tr>
<td>
Fax:
                  
    
<INPUT type="text" name="fax" size="10" maxlength="20" <?echo "value='$fax'"?>>
</td>
</tr>
<td>

E_mail:
                  
<INPUT type="text" name="mail1" size="15" maxlength="30" <?echo "value='$mail1'"?>>
</td>
</tr>
<tr>
<td>
<center>

<input type="submit" value="modificar" name="Modificar" onclick="return formul(this.formulario)">
<input type="submit" name="Accion" value='consultar'>
<input type="reset" value="Borrar">
</td></tr>
</FORM>
</table>
</body>
</html>


archivo para ingresar y sacar la informacion de la base de datos
Código PHP:
<?

$accion = $_POST['Accion'];
if($accion=="consultar")
{

$nombre = $_POST['nombre'];

include("conexion.php");//conexion a la base de datos

mysql_db_query("ventas","select cli_telefono as Telefono
,cli_fax as Fax
,cli_e_mail as Email from cliente where cli_rut_empresa='$rut'");


mysql_Close();//se cierra la conexion
include("cliente_modificar.php");
}
?>




<?
$accion = $_POST['Modificar'];
if($accion=="modificar")
{

$nombre = $_POST['Empresa'];

include("conexion.php");

mysql_db_query ("ventas","UPDATE cliente set cli_telefono='$telefono',
cli_fax='$fax',cli_e_mail='$mail1' where cli_nom_empresa='$nombre'
and cli_rut_empresa='$rut' ");

echo "<br>telefono:".$telefono;
echo "<br>fax:".$fax;
echo "<br>email:".$mail1;
echo "<br>nombre:".$nombre;
echo "<br>rut:".$rut;
mysql_close();
echo "<script>";
echo "alert('registro modificado')";
echo "</script>";
include("cliente_modificar.php");
}

?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema con metodo modificar y consultar

Publicado por FiSiCo (403 intervenciones) el 23/11/2005 04:48:04
lo que pasa es que tu codigo esta mal por ejemplo cuando tu quieres modificar seleccionas una empresa

$accion = $_POST['Accion'];
if($accion=="consultar")
{

$nombre = $_POST['nombre'];

include("conexion.php");//conexion a la base de datos

mysql_db_query("ventas","select cli_telefono as Telefono
,cli_fax as Fax
,cli_e_mail as Email from cliente where cli_rut_empresa='$rut");

//Porque $rut si como enviaste un formulario la variable $rut que valor tiene? si nunca le asignas ninguno la que tiene el id de la empresa es $nombre porque ahi esta el combo

//otra cosa de donde sacas los valores de las variables $telefono y $fax si tu haces una consulta
mysql_db_query("ventas","select cli_telefono as Telefono
,cli_fax as Fax
,cli_e_mail as Email from cliente where cli_rut_empresa='$rut");

cuando asignaste valores a las variables $fax y $telefono si cuando haces la consulta esta abajo de donde estan las variables

mysql_Close();//se cierra la conexion
include("cliente_modificar.php");

}

tu codigo esta mal lo que quieres hacer es algo asi
/////////////////////////////////////////////////////////////esto val al principio de la pagina////////////////////////////
<?
include("conexion.php");

$accion = $_POST['Accion'];
if($accion=="consultar")
{

$nombre = $_POST['nombre']; //nombre tiene el id de la empresa

include("conexion.php");//conexion a la base de datos

mysql_db_query("ventas","select cli_telefono as Telefono
,cli_fax as Fax
,cli_e_mail as Email from cliente where cli_rut_empresa='$nombre");

mysql_Close();//se cierra la conexion
include("cliente_modificar.php"); //esta pagina no se que que hace
}

$accion = $_POST['Modificar'];
if($accion=="modificar")
{

$nombre = $_POST['nombre'];//Otra vez nombre tiene el id de la empresa

mysql_db_query ("ventas","UPDATE cliente set cli_telefono=$_POST['telefono'],
cli_fax=$_POST['fax'],cli_e_mail=$_POST['mail1'] where cli_rut_empresa='$nombre' ");//Otra vez el campo nombre del formulario tiene el id de la empresa no etiendo porque pones $rut si rut nunca le asignas nada

echo "<br>telefono:".$_POST['telefono'];
echo "<br>fax:".$_POST['fax'],;
echo "<br>email:".$_POST['mail1'] ;
mysql_close();
echo "<script>";
echo "alert('registro modificado')";
echo "</script>";
include("cliente_modificar.php"); //No se que haces esta pagina
}

?>

<html>
<head>
<title>modificar_cliente</title>

<script>

function formul()
{

if ((document.formulario.telefono.value == "") || (document.formulario.telefono.value== null)) {
alert("Debe ingresar el telefono ");
document.formulario.telefono.focus();
return false;
}

else
if(document.formulario.mail1.value == "")
{
return true;
}
else
if((formulario.mail1.value.indexOf ('@', 0) == -1)||
(formulario.mail1.value.length < 5)) {
alert("direccion de correo invalida");
return false;
}

else
return true;
}
</script>
</head>

<body>
<table align=center border=0>
<FORM name=formulario action="cliente_proceso_modificar.php" method="POST">

<?
//$sSQL="select * from cliente where cli_rut_empresa='$rut'";//No entiendo que es $rut
$sSQL="select cli_nom_empresa as Empresa from cliente"; //Seleccionas cli_nom_empresa solamente

$result=mysql_db_query("ventas",$sSQL);
echo "Nombre Empresa:";
echo " <select name='nombre'>";

echo "<option>seleccionar";
while ($row=mysql_fetch_array($result))
{
echo "<option value=".$row['cli_rut_empresa'].">"." ".$row['Empresa']."</option>";
//$row['cli_rut_empresa'] esto de donde lo sacas si solo pusiste en el select cli_nom_empresa
}
mysql_free_result($result);
echo "</select>";
mysql_close();

//LA VERDAD ES QUE ESTA MAL LA LOGICA Y EL CODIGO DE TU PAGINA LO CONVENIENTE ES QUE HAGAS ES ESTO

1.- UN IF PARA VER SI SELECCIONARON CONSULTAR SI ES ASI ENTONCES HACES LA CONSULTA Y ASIGNAS A LAS VARIABLES $FAX $MAIL $EMPRESA LOS VALORES QUE LES CORRESPONDEN

2.- OTRO IF ES PARA MODIFICAR QUE LOS VALORES QUE VAS A SE SON $_POST['telefono'] PARA TELEFONO $_POST['fax'] PARA FAX Y $_POST['mail1']
PARA MAIL

3.- NO SE QUE HACES CON include("cliente_modificar.php");
CUALQUIER DUDA MANDAME UN MAIL
?>

<tr>
<td>
Telefono:

<INPUT type="text" name="telefono" size="10" maxlength="20" <?echo "value='$telefono'"?>>
</td>
</tr>
<tr>
<td>
Fax:


<INPUT type="text" name="fax" size="10" maxlength="20" <?echo "value='$fax'"?>>
</td>
</tr>
<td>

E_mail:

<INPUT type="text" name="mail1" size="15" maxlength="30" <?echo "value='$mail1'"?>>
</td>
</tr>
<tr>
<td>
<center>

<input type="submit" value="modificar" name="Modificar" onclick="return formul(this.formulario)">
<input type="submit" name="Accion" value='consultar'>
<input type="reset" value="Borrar">
</td></tr>
</FORM>
</table>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con metodo modificar

Publicado por Jesus (1 intervención) el 05/09/2011 18:02:25
hola muy buenos dias, soy nuevo en este tipo de lenguage pues solo tengo duda en cualto el metodo de modificar lo que haces este meto es modificar todo lo que tiene el registro de la base de datos, es decir, cuando le digo que modifique solo el nombre digamos del usuario con el id 05794039 si lo mo difica solo que lo hace todo lo de este capmpo que es nombre le envio mi codigo para saber en que estoy mal espero que me pueda ayudar se lo agradesere.

<?php
$idalumno=$_REQUEST["idalumno"];
$nombre=$_REQUEST["nombre"];
$con=mysql_connect("localhost","root","")or die("No hay conexion");
mysql_select_db("padron",$con)or die ("No se encuentra la base de datos");
$col=mysql_query("select nombre from alumnos where idalumno=".$idalumno);
if(mysql_num_rows($col)>0)
{
while($dato=mysql_fetch_object($col))
{
$midi=mysql_query("update alumnos nombre='$nombre' set where $idalumno='$idalumno'");
echo "Se ha modificado correctamente ";
}
}
?>
este es un codigo sensillo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar