Foros del Web » Programando para Internet » PHP »

ayuda modificar datos

Estas en el tema de ayuda modificar datos en el foro de PHP en Foros del Web. hola de nuevo compañeros tengo una duda, resulta que tengo un formulario y de ahi quiero hacer una modificacion, la modificacion q ago es conforme ...
  #1 (permalink)  
Antiguo 09/02/2010, 11:19
 
Fecha de Ingreso: febrero-2010
Mensajes: 27
Antigüedad: 14 años, 9 meses
Puntos: 0
ayuda modificar datos

hola de nuevo compañeros tengo una duda, resulta que tengo un formulario y de ahi quiero hacer una modificacion, la modificacion q ago es conforme a un numero, pero lo q ahora quiero hacer es la modificacion mediante un texto, pense q era igual pero no me hace la consulta.

les dejo mis codigos y espero q alguien me pueda ayudar

FORMULARIO DONDE PIDO EL DATO

<div align="center">
<p>ARTICULO A MODIFICAR </p>
<p>no_articulo :
<input type="Text" name="marca">
<br>
</p>
<p>
<input type="Submit" name="enviar" value="Aceptar">

</p>
<a href=index.php>Cancelar... </a>
</div>


FORMULARIO DONDE EJECUTO Y MUESTRO LO Q TIENE MI BASE DE DATOS

<div id="Layer1">


<div align="center">
<?php
$link = mysql_connect("localhost", "root","necaxa");
mysql_select_db("ejemplo",$link);

$result=mysql_query("select * from ejem where marca = $_POST[marca]",$link);

if ($no_articulo=="")
{
echo "Faltan valores <br>";
echo " <br>";
echo "<a href=modificacion.php>Regresar...</a> <br>";
}
else
{

if ($row=mysql_fetch_array($result))
{
?>
</div>
<form name="form1" method="POST" action="modifica.php">
<p>&nbsp;</p>

<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1 ALIGN=CENTER>
<TR>
<TD>&nbsp;no_articulo&nbsp;</TD>
<TD>&nbsp;nom_articulo&nbsp;</TD>
<TD>&nbsp;cmarca&nbsp;</TD>
<TD>&nbsp;talla&nbsp;</TD>
</TR>

<p align="center">
<input type="submit" name="Submit" value="Modificar">
</p>


<div align="center">
<?php
printf("<tr>
<td><INPUT TYPE='text' NAME='no_articulo' SIZE='6' MAXLENGTH='11' value='%d'></td>
<td>&nbsp;<INPUT TYPE='text' NAME='nom_articulo' SIZE='14' MAXLENGTH='30' value='%s'>&nbsp;</td>
<td>&nbsp;<INPUT TYPE='text' NAME='marca' SIZE='14' MAXLENGTH='20' value='%s'>&nbsp;</td>
<td>&nbsp;<INPUT TYPE='text' NAME='talla' SIZE='6' MAXLENGTH='11' value='%s'>&nbsp;</td>
</tr>",
$row["no_articulo"],$row["nom_articulo"],$row["marca"],$row["talla"]);
}
else
{
echo "No hay registros <br>";
echo " <br>";
echo "<a href=modificacion.php>Regresar...</a> <br>";
}

}
?>
</div>
</form>

<p>&nbsp;</p>
<div align="center">
</div>



FORMULARIO DONDE MUESTRO LA CONSULTA ASI COMO LA MODIFICACION


<div id="Layer1">
<?php
$link = mysql_connect("localhost", "root","necaxa");
mysql_select_db("ejemplo",$link);

mysql_query("update ejem set no_articulo='$no_ariculo', nom_articulo='$nom_articulo', marca='$marca', talla='$talla'
where
marca='$marca'",$link);
echo "¡Datos modificados.\n";
//echo "<a href=index.php>Menú Principal</a>";
mysql_close($link);
?>
<p>&nbsp; </p>
<div align="center"><a href=index.php>Menú Principal... </a>
</div>
</div>


ESPERO SU AYUDA COMPAÑEROS
  #2 (permalink)  
Antiguo 09/02/2010, 11:31
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: ayuda modificar datos

Ten claro esto:
Si es un campo INT (número) no lleva comillas.
Si es un campo VARCHAR , TEXT, etc SÍ lleva comillas.
Código PHP:
Ver original
  1. $sql="SELECT * FROM tabla WHERE campoNum=1";
  2. $sql="SELECT * FROM tabla WHERE campoNum={$variablePHP}";
  3. $sql="SELECT * FROM tabla WHERE campoTxt='texto'";
  4. $sql="SELECT * FROM tabla WHERE campoTxt='{$variablePHP}'";

Ahora fíjate en esto que pusiste:
Código PHP:
Ver original
  1. $result=mysql_query("select * from ejem where marca = $_POST[marca]",$link);

Y compara. Por cierto: $_POST[marca] ==> $_POST['marca']
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 09/02/2010, 11:46
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: ayuda modificar datos

@CHuLoSoY en realidad lo que tu dices es lo "optimo" por decirlo asi, pero php si interpreta esas lineas .. solo lo doy como dato

Código PHP:
Ver original
  1. echo "hola $_POST[nombre] , como estas"; // si funciona
Código PHP:
Ver original
  1. $nombre = $_POST["nombre"];
  2. echo "hola $nombre , como estas"; // tambien funciona aunque no lleve  los {} por estar entre comillas dobles
__________________
More about me...
~ @rhyudek1
~ Github
  #4 (permalink)  
Antiguo 09/02/2010, 12:13
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: ayuda modificar datos

Cita:
Iniciado por Hidek1 Ver Mensaje
@CHuLoSoY en realidad lo que tu dices es lo "optimo" por decirlo asi, pero php si interpreta esas lineas .. solo lo doy como dato

Código PHP:
Ver original
  1. echo "hola $_POST[nombre] , como estas"; // si funciona
Código PHP:
Ver original
  1. $nombre = $_POST["nombre"];
  2. echo "hola $nombre , como estas"; // tambien funciona aunque no lleve  los {} por estar entre comillas dobles
Ya bueno, pero lo del campo numérico y texto en la base de datos (que seguro que es el motivo del error) es lo que me refería. La segunda parte es optimización y descarte de problemas. Pero si a una consulta SQL a un campo texto le pasas una cadena sin comillas......
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 09/02/2010, 13:08
 
Fecha de Ingreso: febrero-2010
Mensajes: 27
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: ayuda modificar datos

gracias por el comentario, ya modifique las sentencias con las siguientes instrucciones

EN EL FORMULARIO DE CAPTURA

<div align="center">
<?php
$link = mysql_connect("localhost", "root","necaxa");
mysql_select_db("ejemplo",$link);

$result=mysql_query("select * from ejem where marca = '".$_POST['marca']."'",$link);


Y EN EL FORMULARIO DE MODIFICACION

?php
$link = mysql_connect("localhost", "root","necaxa");
mysql_select_db("ejemplo",$link);

mysql_query("update ejem set no_articulo='$no_ariculo', nom_articulo='$nom_articulo', marca='$marca', talla='$talla' where marca='".$_POST['marca']."'",$link);
echo "¡Datos modificados.\n";
//echo "<a href=index.php>Menú Principal</a>";
mysql_close($link);
?>


AHORA EL PROBLEMA ES Q SOLO ME MODIFICA UN SOLO REGISTRO Q ES EL PRIMERO, ADEMAS DE ESTO NO ME PERMITE MODIFICAR EL CAMPO DE MARCA,

ALGIUEN SABE PORQ Y COMO SOLUCIONARLO.

GRACIAS
  #6 (permalink)  
Antiguo 09/02/2010, 13:24
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: ayuda modificar datos

Haz un bucle
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Etiquetas: modificar
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 21:59.