Foros del Web » Programando para Internet » PHP »

Insertar registro numérico desde un buscador

Estas en el tema de Insertar registro numérico desde un buscador en el foro de PHP en Foros del Web. Hola, Haber si me podeis ayudar. Se trata de un buscador que me muestra el producto, el stock i el sutmit de insertar. Queria hacer ...
  #1 (permalink)  
Antiguo 16/04/2013, 08:11
 
Fecha de Ingreso: abril-2013
Mensajes: 10
Antigüedad: 11 años
Puntos: 0
Insertar registro numérico desde un buscador

Hola,

Haber si me podeis ayudar. Se trata de un buscador que me muestra el producto, el stock i el sutmit de insertar. Queria hacer que en el misma busqueda yo cambie el stock y al dar insertar se haga el update en msql.
El codigo de searh.php:

<h2>Resultados</h2>
<table border='0' id='content' cellspacing='0' cellpadding='0'>
<tr>
<th>Modelo</th>
<th>Stock</th>
</tr>
<?while ($row = mysql_fetch_assoc($rsd)){?>
<tr>
<form action="modificar.php" method="post">
<td><input type="text" name="nom" size="40" value="<?=$row['PRDDSC']?>"/></td>
<td><input type="text" name="valor" size="2" maxlength="1"
onKeyPress="return acceptNum(event)" value="<?=$row['STOCK']?>"/></td>
<td><input type="submit" value="Insertar" /></td>
</tr></form>
<?

}

la llamada a modificar.php:

$rsd = mysql_query($sql);
$total = mysql_num_rows($rsd);

while ($row = mysql_query($rsd)){
if ($row['STOCK'] != $stock){
$sql = "UPDATE productos SET STOCK = $stock WHERE PRDDSC = $model";
echo "Stock introduït";
}
}

Queria saber donde tengo el fallo que me impide actualizar el registro
.
De antemano gracias.
  #2 (permalink)  
Antiguo 16/04/2013, 08:48
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Insertar registro numérico desde un buscador

no veo que ejecutes la consulta del UPDATE, declarar la cadena $sql no basta
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 17/04/2013, 03:07
 
Fecha de Ingreso: abril-2013
Mensajes: 10
Antigüedad: 11 años
Puntos: 0
Respuesta: Insertar registro numérico desde un buscador

Hola maycolalvarez, gracias por responder.

la variable $sql es un select * from productos te muestro todo el codigo de modificar.php para que lo veas mas claro:

$model=$_POST['PRDDSC'];
$stock=$_POST['STOCK'];

include("dbcon.php");

$sql = "select * from productos ORDER BY PRDDSC";

$rsd = mysql_query($sql);
$total = mysql_num_rows($rsd);

while ($row = mysql_query($rsd)){
if ($row['STOCK'] != $stock){
$sql = "UPDATE productos SET STOCK = $stock WHERE PRDDSC = $model";
$total=mysql_query($sql);
}
}

Al cambiar el valor de stock y darle a los botones de sudmit en el buscador, no entra en el if.

Gracias.
  #4 (permalink)  
Antiguo 17/04/2013, 08:02
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Insertar registro numérico desde un buscador

necesitas extraer los datos con mysql_fetch_assoc, no lo había visto al fijarme en lo anterior, consulte bien la documentación.

además le informo que dichas librerías mysql están obsoletas, planee en un futuro migrar a PDO
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 17/04/2013, 09:29
 
Fecha de Ingreso: abril-2013
Mensajes: 10
Antigüedad: 11 años
Puntos: 0
Respuesta: Insertar registro numérico desde un buscador

He cambiado el mysql_fetch_assoc. Pero me he dado cuenta que al poner un echo $stock en modificar.php no me devuelve nada. A que puede ser debido?
En principio la variable se recoge bien el formulario. Puede ser porque hay varios sudmits?

Gracias.
  #6 (permalink)  
Antiguo 17/04/2013, 11:37
 
Fecha de Ingreso: abril-2013
Mensajes: 10
Antigüedad: 11 años
Puntos: 0
Respuesta: Insertar registro numérico desde un buscador

He hecho unas nuevas modificaciones.
search.php:

<h2>Resultados</h2>
<table border='0' id='content' cellspacing='0' cellpadding='0'>
<tr>
<th>Id</th>
<th>Modelo</th>
<th>Stock</th>
</tr>
<?while ($row = mysql_fetch_assoc($rsd)){
$i++; ?>
<tr>
<form action="" method="post">
<td><input name="id" size="5" value="<?=$row['IDPRD']?>"/></td>
<td><?=$row['PRDDSC']?></td>
<td><input type="text" name="valor" size="2" maxlength="1"
onKeyPress="return acceptNum(event)" value="<?=$row['STOCK']?>"/></td>
<input type="hidden" name="stock_<?PHP echo $i; ?>" value="<?echo $row['STOCK'];?>"/>
<input type="hidden" name="id_<?PHP echo $i; ?>" value="<?echo $row['IDPRD'];?>"/>
</tr>

<?
}?>
<tr>
<td><br /></td>
</tr>
<tr>
<td> <input type="submit" value="Actualizar" /></td>
</tr></form>

La variable $i Tiene valor -1.

modificar.php:

include("dbcon.php");

$sql = "select * from productos ORDER BY PRDDSC";

$rsd = mysql_query($sql);
$total = mysql_num_rows($rsd);
$i=-1;
while ($row = mysql_fetch_assoc($rsd)){
$i++;
$stock [$i]= $_POST['stock_[$i]'];
$id[$i]= $_POST['id_[$i]'];
$sql = "UPDATE productos SET STOCK = $stock[$i] WHERE PRDDSC = $id[$i]";
$result=mysql_query($sql);
}
echo "STOCK ACTUALIZADO";
?>

Pero tampoco he tenido exito. He cambiado todos los sudmits por 1 solo y lo he convertido en una array. No se si es mejor o me estoy complicando.
  #7 (permalink)  
Antiguo 17/04/2013, 12:00
 
Fecha de Ingreso: abril-2013
Mensajes: 10
Antigüedad: 11 años
Puntos: 0
Respuesta: Insertar registro numérico desde un buscador

La variable $_POST no me recoge nada del formulario.
  #8 (permalink)  
Antiguo 17/04/2013, 12:53
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Insertar registro numérico desde un buscador

ésto no es válido: $_POST['id_[$i]'];

esto si: $_POST['id_'][$i];

revise bien la estructura de su HTML
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #9 (permalink)  
Antiguo 17/04/2013, 13:54
 
Fecha de Ingreso: abril-2013
Mensajes: 10
Antigüedad: 11 años
Puntos: 0
Respuesta: Insertar registro numérico desde un buscador

He hecho la corrección que me dijo, pero sigo sin recibir las variables al archivo modificar.php. El código html funciona bien, porque me muestra la búsqueda de los registros. Y tengo un echo "Stock introducido" que se muestra al dar al sudmit.
La verdad que no se que hacer mas, llevo ya días con esto y no hay manera.

Gracias
  #10 (permalink)  
Antiguo 17/04/2013, 14:01
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Insertar registro numérico desde un buscador

realiza un var_dump($_POST); y verifica como php interpreta los datos post, si lo puedes mostrar mejor
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #11 (permalink)  
Antiguo 17/04/2013, 16:15
 
Fecha de Ingreso: abril-2013
Mensajes: 10
Antigüedad: 11 años
Puntos: 0
Respuesta: Insertar registro numérico desde un buscador

Las variables en var_dump me muestra NULL.
  #12 (permalink)  
Antiguo 17/04/2013, 16:17
 
Fecha de Ingreso: abril-2013
Mensajes: 10
Antigüedad: 11 años
Puntos: 0
Respuesta: Insertar registro numérico desde un buscador

Y var_dump[$_POST] me muestra array(0) { }

Etiquetas: buscador, mysql, registro, sql
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 23:01.