Foros del Web » Programando para Internet » PHP »

problemas con UPDATE

Estas en el tema de problemas con UPDATE en el foro de PHP en Foros del Web. hola chicos/as estoy intentando modificar una base de datos a partir de un formulario el problema esta en ke cuando pongo una sola condicion en ...
  #1 (permalink)  
Antiguo 01/06/2009, 02:19
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
problemas con UPDATE

hola chicos/as
estoy intentando modificar una base de datos a partir de un formulario el problema esta en ke cuando pongo una sola condicion en el WHERE se cambia pero cuando pongo varias no hace nada al introducir los nuevos datos no se porke?



mysql_query("UPDATE tprodusu SET nomprod='".$producto."',version='".$version."',fec hainicio='".$fechainicio."', fechafin='".$fechafin."'
WHERE codigocliente ='".$cod."' AND nomprod ='".$prodant."' AND version ='".$versant."'");

gracias por adelantado
perdonad la ignorancia
  #2 (permalink)  
Antiguo 01/06/2009, 02:26
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: problemas con UPDATE

Buenas yassir. Tienes que usar paréntesis en la cláusula WHERE para que sea efectiva.
Otra cosa... yo no concatenaría las variables. Puedes hacerlo de la siguiente forma:
mysql_query("UPDATE tprodusu SET nomprod='$producto',version='$version',fechainicio ='$fechainicio',fechafin='$fechafin' WHERE ((codigocliente='$cod') AND (nomprod='$prodant') AND (version='$versant'))");

Prueba y me dices algo.

Un saludo.
__________________
Dando cabezados se aprende...
  #3 (permalink)  
Antiguo 01/06/2009, 02:39
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
gracias por tu respuesta Aliza
hice lo ke me dijiste pero todavia nada

mysql_query("UPDATE tprodusu SET nomprod='$producto',version='$version',fechainicio ='$fechainicio',fechafin='$fechafin'
WHERE ((codigocliente='$cod') AND (nomprod='$prodant') AND (version='$versant'))");

puse unos echo's para comprobar ke los datos son correctos, y si lo son, pero al llegar al Update
falla

aki dejo mi codigo

function conectarse() {

$db_host="localhost";
$db_nombre="bdsage";
$db_user="root";
$db_pass="";

mysql_connect(localhost,$db_user,$db_pass)

or die("error conectando");

mysql_select_db($db_nombre ) or die("Error seleccionando la base de datos.");

}
conectarse();

$cod=$_POST['cod'];
$nombre=$_POST['id_cliente'];
$prodant=$_POST['prodant'];
$producto=$_POST['select'];
$versant=$_POST['versant'];
$version=$_POST['select2'];
$fechainicio=$_POST['fechaini'];
$fechafin=$_POST['fechafin'];

echo "$cod</br>";
echo "$nombre</br>";
echo "datos anteriores.\n</br>";
echo "$prodant</br>";
echo "$versant</br>";
echo "datos nuevos.\n</br>";
echo "$producto</br>";
echo "$version</br>";
echo "$fechainicio</br>";
echo "$fechafin</br>";

mysql_query("UPDATE tprodusu SET nomprod='$producto',version='$version',fechainicio ='$fechainicio',fechafin='$fechafin'
WHERE ((codigocliente='$cod') AND (nomprod='$prodant') AND (version='$versant'))");

echo "datos modificados.\n";

Última edición por GatorV; 01/06/2009 a las 09:38
  #4 (permalink)  
Antiguo 01/06/2009, 03:32
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: problemas con UPDATE

Creo que el problema está en la conexión. Tienes que poner mysql_connect('localhost',$db_user,$db_pass) o mysql_connect($db_host,$db_user,$db_pass), pero no mysql_connect(localhost,$db_user,$db_pass).
Si es una variable va sin comillas, pero si es un valor tienes que ponérselas.
Prueba con eso.
__________________
Dando cabezados se aprende...
  #5 (permalink)  
Antiguo 01/06/2009, 03:48
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problemas con UPDATE

gracias por responder
el problema no esta el la conexion porke me va con una sola condicion en where

mysql_query("UPDATE tprodusu SET nomprod='$producto',version='$version',fechainicio ='$fechainicio',fechafin='$fechafin'
WHERE ((codigocliente='$cod'))");(pero claro no me sirve porque modifica todo)

y ademas asi lo tengo en otras paginas y va de maravilla(la conexion).
pero aun asi lo cambie por las dudas y nada
el problema esta cuando pongo varias condiciones en where.
ya me esta saliendo humo por las orejas.
gracias y saludos
  #6 (permalink)  
Antiguo 01/06/2009, 03:53
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: problemas con UPDATE

Comprueba que obtienes bien las variables, no sea que solo rescates bien $cod y por eso solo te va con esa.
Prueba cambiando la condición del WHERE por nomprod o version en vez de cod.
También prueba metiendole dos condiciones al WHERE.
Saludos.
__________________
Dando cabezados se aprende...
  #7 (permalink)  
Antiguo 01/06/2009, 04:21
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
puse los echo's para saber si rescato bien las variables,y asi es ,todo bien
como dijiste cambie el "cod" por "nomprod" y "version" pero con ninguna va

mysql_query("UPDATE tprodusu SET nomprod='$producto',version='$version',fechainicio ='$fechainicio',fechafin='$fechafin'
WHERE ((version='$versant'))");



mysql_query("UPDATE tprodusu SET nomprod='$producto',version='$version',fechainicio ='$fechainicio',fechafin='$fechafin'
WHERE ((nomprod='$prodant'))");

para dos condiciones claro esta tampoco va.
gracias y saludos.

si kieres te pongo el codigo de la pagina.php de donde envio los datos

Última edición por GatorV; 01/06/2009 a las 09:38
  #8 (permalink)  
Antiguo 01/06/2009, 04:51
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: problemas con UPDATE

Por poner...a ver si así sacamos algo.
__________________
Dando cabezados se aprende...
  #9 (permalink)  
Antiguo 01/06/2009, 04:57
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problemas con UPDATE

$cod = $_GET['cod'];
$id = $_GET['login'];
$prod = $_GET["nomprod"];
$vers = $_GET["version"];

echo "$cod</br>";
echo "$id</br>";
echo "$prod</br>";
echo "$vers</br>";


function conectarse() {

$db_host="localhost";
$db_nombre="bdsage";
$db_user="root";
$db_pass="";

mysql_connect(localhost,$db_user,$db_pass)

or die("error conectando");

mysql_select_db($db_nombre ) or die("Error seleccionando la base de datos.");

}
conectarse();


$result = mysql_query (" select * from tprodusu where login = '" . $id ."' and nomprod = '" . $prod ."' and version = '" . $vers ."' ") or die(mysql_error());
if (mysql_num_rows($result)!=0){

while($consulta = mysql_fetch_array($result)){

echo $consulta['login']." ---- ".$consulta['nomprod']." ---- ".$consulta['version']." ---- ".$consulta['fechainicio']." ---- ".$consulta['fechafin']."<br>";

echo "introduce nuevos datos del cliente.\n";
$prodanterior=$consulta[nomprod];
$versionanterior=$consulta[version];

echo "$prodanterior";
echo "$versionanterior";
?>


<form name="form1" method="post" action="modcondprod.php">
<select name="select" onchange="slctryole(this,this.form.select2)">
<option>- - Seleccionar - -</option>
<option value="contaplus">Contaplus</option>
<option value="facturaplus">Facturaplus</option>
<option value="nominaplus">Nominaplus</option>
<option value="tpvplus">Tpvplus</option>
</select>

<select name="select2">
<option>- - - - - -</option>
</select>

fechainicio<input size="10" id="fc_1243535810" type="text" READONLY name="fechaini" title="YYYY-MM-DD" >
<input type="button" value="ver" onclick="displayCalendarFor('fc_1243535810');">

fechafin<input size="10" id="fc_1243518445" type="text" READONLY name="fechafin" title="YYYY-MM-DD" >
<input type="button" value="ver" onclick="displayCalendarFor('fc_1243518445');">

<input type="hidden" name="id_cliente" id="id_cliente" value=" <?=$id ?>"
<input type="hidden" name="cod" id="cod" value=" <?=$cod ?>"
<input type="hidden" name="prodant" id="prodant" value=" <?=$prodanterior ?>"
<input type="hidden" name="versant" id="versant" value=" <?=$versionanterior ?>"

<INPUT TYPE="submit" NAME="accion" VALUE="Grabar">

</form>



gracias por tu paciencia
  #10 (permalink)  
Antiguo 01/06/2009, 07:06
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: problemas con UPDATE

y si le kitas los parentesis al WHERE y le pones un or die a tu update

mysql_query("UPDATE tprodusu SET nomprod='$producto',version='$version',fechainicio ='$fechainicio',fechafin='$fechafin'
WHERE nomprod='$prodant'") or die ("el error es: ".mysql_error);
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #11 (permalink)  
Antiguo 01/06/2009, 09:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problemas con UPDATE

gracias por tu respuesta By_George
acabo de probarlo
no ha cambiado nada sigue sin actualizar la bd
  #12 (permalink)  
Antiguo 01/06/2009, 09:06
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: problemas con UPDATE

ok, en la parte del or die le faltan los parentesis al mysql_error()

quedaria asi:

or die ("el error es: ".mysql_error());

checalo y nos dices que error te marca
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #13 (permalink)  
Antiguo 02/06/2009, 01:17
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problemas con UPDATE

hola by_george
perdon por el retraso
sigue sin darme nada nuevo,me pone bien lo ke hay en los echo's hasta lo de "datos modificados",no da ningun error pero no actualiza nada.
  #14 (permalink)  
Antiguo 03/06/2009, 04:20
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problemas con UPDATE

hola chicos/chicas
estoy todavia con lo mismo
pleeeeeeeeease help
  #15 (permalink)  
Antiguo 04/06/2009, 01:10
 
Fecha de Ingreso: mayo-2009
Mensajes: 74
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problemas con UPDATE

bueno ,pues nada, hasta otra
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 16:40.