Foros del Web » Programando para Internet » PHP »

no me guarda los datos en la bd

Estas en el tema de no me guarda los datos en la bd en el foro de PHP en Foros del Web. Hola! necesito ayuda. Estoy haciendo una pagina de pedidos pero (ahora ya no me da ningun error despues de leer un par de temas por ...
  #1 (permalink)  
Antiguo 08/05/2013, 15:33
Avatar de Crezh  
Fecha de Ingreso: mayo-2013
Mensajes: 9
Antigüedad: 10 años, 11 meses
Puntos: 0
no me guarda los datos en la bd

Hola! necesito ayuda. Estoy haciendo una pagina de pedidos pero (ahora ya no me da ningun error despues de leer un par de temas por aqui) no me guarda los datos en la bd. simplemente al pulsar enviar me vuelve a la misma pagina.
Alguien podria decirme que estoy haciendo mal? merci!





<?PHP

if (isset ($_REQUEST['Enviar']))
{
$quantitat=array();
$id=array();
}

if (isset($_REQUEST['Enviar']))
{
for($i=1;$i<count($quantitat);$i++){
if($quantitat[$i]>0){

$connexio=mysql_connect("localhost","root","") or die("Error de conectividad");
mysql_select_db("tommymeal",$connexio) or die("Error con la base de datos");
mysql_query("insert into conte (id_comanda, id_producte, quantitat) values
($_REQUEST[comanda],'".$id[$i]."','".$quantitat[$i]."')",
$connexio) or die("Problemas en el select".mysql_error());
mysql_close($connexio);
echo "Alta exitosa.";
?>
<br>

<?PHP
}
}
}

?>
<form method="POST">
<div class="box-4">

<div>
<h4>Sencilla pollo</h4>
<div class="img-border"><img src="../images/hamburguesa 1.jpg" alt=""></div>
<h4>1.30€</h4>
<input type="checkbox" value="1" name="$id[1]"/>Añadir a la cesta
<br>Cantidad: <input type="text" name="$quantitat[1]" size="2"><br>
</div>

<div>
<h4>Sencilla ternera</h4>
<div class="img-border"><img src="../images/hamburguesa 2.jpg" alt=""></div>
<h4>1.30€</h4>
<input type="checkbox" value="2" name="id2"/>Añadir a la cesta
<br>Cantidad: <input type="text" name="$quantitat[2]" size="2"><br>

</div>
<div>

</div>

Numero del pedido:
<input type="number" name="comanda">
<br>
<br>
<input type="submit" name="Enviar" value="Enviar datos">
</div>
</form>
<?php

?>

</div>
</div>
  #2 (permalink)  
Antiguo 08/05/2013, 15:59
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: no me guarda los datos en la bd

Mira lee y lee y lee y re leee muuucho porque no funciona porque tu codigo es un desastre!!!

Para empezar no abras y cierres conexiones dentro del for... hazlo asi..

Código PHP:
Ver original
  1. if(isset ($_REQUEST['Enviar'])){
  2.     $quantitat=array();
  3.     $id=array();
  4.     $connexio=mysql_connect("localhost","root","") or die("Error de conectividad");
  5.     mysql_select_db("tommymeal",$connexio) or die("Error con la base de datos");
  6.     for($i=1;$i<count($quantitat);$i++){
  7.         if($quantitat[$i]>0){
  8.             mysql_query("insert into conte (id_comanda, id_producte, quantitat) values(".$_REQUEST[comanda].",'".$id[$i]."','".$quantitat[$i]."')",$connexio)or die("Problemas en el select".mysql_error());
  9.             echo "Alta exitosa.";
  10.             ?>
  11.             <br>
  12.             <?PHP
  13.         }
  14.     }
  15.     mysql_close($connexio);
  16. }

Luego todo esto no sirve

Código HTML:
Ver original
  1. <form method="POST">
  2. <div class="box-4">
  3.  
  4. <div>
  5. <h4>Sencilla pollo</h4>
  6. <div class="img-border"><img src="http://www.forosdelweb.com/f18/images/hamburguesa 1.jpg" alt=""></div>
  7. <h4>1.30</h4>
  8. <input type="checkbox" value="1" name="$id[1]"/>Añadir a la cesta
  9. <br>Cantidad: <input type="text" name="cantidad" size="2"><br>
  10. </div>
  11.  
  12. <div>
  13. <h4>Sencilla ternera</h4>
  14. <div class="img-border"><img src="http://www.forosdelweb.com/f18/images/hamburguesa 2.jpg" alt=""></div>
  15. <h4>1.30</h4>
  16. <input type="checkbox" value="2" name="id2"/>Añadir a la cesta
  17. <br>Cantidad: <input type="text" name="$quantitat[2]" size="2"><br>
  18.  
  19. </div>
  20. <div>
  21.  
  22. </div>
  23.  
  24. Numero del pedido:
  25. <input type="number" name="comanda">
  26. <br>
  27. <br>
  28. <input type="submit" name="Enviar" value="Enviar datos">
  29. </div>
  30. </form>

No tienes definido el action de formulario, no has definido los nombres de las cajas de texto, y en resumen lee primero hacerca de como construir y enviar formularios html .... luego pues podriamos hablar mas...
  #3 (permalink)  
Antiguo 08/05/2013, 16:07
Avatar de Crezh  
Fecha de Ingreso: mayo-2013
Mensajes: 9
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: no me guarda los datos en la bd

bff! vaya cacao mental, gracias. tienes toda la razon sobre el formulario. eso me pasa por copiar de oto php que tenia...lo puebo y te cuento. Mil gracias Alex!
  #4 (permalink)  
Antiguo 08/05/2013, 16:15
Avatar de Crezh  
Fecha de Ingreso: mayo-2013
Mensajes: 9
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: no me guarda los datos en la bd

Cita:
Iniciado por alex1084 Ver Mensaje

No tienes definido el action de formulario, no has definido los nombres de las cajas de texto, y en resumen lee primero hacerca de como construir y enviar formularios html .... luego pues podriamos hablar mas...
a que te refieres con los nombres de las cajas de texto?
  #5 (permalink)  
Antiguo 08/05/2013, 16:21
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: no me guarda los datos en la bd

Lee esto

http://www.htmlquick.com/es/referenc...nput.html#text

Esto es una caja de texto

Código HTML:
Ver original
  1. <input type="text" name="cantidad" size="2">
Sus atributos son type="text" que la define como caja de texto
name que le define el nombre mediante el cual la vas a identificar
.....

Tu la tienes definida de la siguiente forma
Código HTML:
Ver original
  1. <input type="text" name="$quantitat[1]" size="2">
Lo cual no sirve ya que en el name le colocas ="$quantitat[1]" que es un arreglo php y lo estas colocando como si fuera html puro lo cual es un error... quiza la intension sea buena pero lo estas haciendo mal.....
  #6 (permalink)  
Antiguo 08/05/2013, 16:41
Avatar de Crezh  
Fecha de Ingreso: mayo-2013
Mensajes: 9
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: no me guarda los datos en la bd

si, eso lo entiendo. Me he pasado toda la tarde averiguando como tengo que poner eso... pensaba que ya lo habia encontrado pero parece que no...

Tienes alguna solución a esto?
Esque al tratarse de arreglos con base de datos...
He estado buscando y no encuentro nada...

Quizas (no lo se), podria poner donde declaro los array algo estilo:

$quantitat[1] =$_REQUEST['quantitat1'];

y luego poner algo asi:

<input type="text" name="quantitat1" size="2">


No lo se, pregunto. Seria muy largo pero weno, me serviría para salir del paso.

Este trabajo me tiene frita ya...xd
  #7 (permalink)  
Antiguo 08/05/2013, 16:45
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: no me guarda los datos en la bd

Mira tranquila, ok ordena tu codigo para empezar, corrige los errores básicos y poco a poco trata de ir depurandolo..

Luego exactamente que es lo que quieres hacer??

Porque no puedes poner los nombres de las cajas de texto desde html porque hacerlo con arreglos php??

Que es lo que quieres hacer realmente?? porque no entiendo tu coplicacion
  #8 (permalink)  
Antiguo 08/05/2013, 16:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no me guarda los datos en la bd

Eso lo puedes consultar en una referencia de HTML y en el manual de PHP, como sea es HTML básico.

Para tratar los campos como un array debe ser así:
Código HTML:
<input name="foo[]">
<input name="foo[]"> 
Y al recibirlos:
Código PHP:
echo gettype($_POST['foo']); // array 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 08/05/2013, 17:16
Avatar de Crezh  
Fecha de Ingreso: mayo-2013
Mensajes: 9
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: no me guarda los datos en la bd

haver, lo que pretendo es hacer un "pedido" de una manera que yo entienda. Que tu tengas quizas 30 hamburguesas y selecciones dos con el checkbox y pongas la cantidad. Solamente quiero que me introduzca en la base de datos aquellos los cuales la cantidad es mayor que 0.
Por eso lo del arreglo y el bucle. Se que me estoy complicando pero he estado mirando carritos por la web y no he encontrado ninguno que entienda.

La culpa es de los profesores de este año....si te contara...XD. Les pagan por no enseñar y tu pagas para que te enseñen!!
  #10 (permalink)  
Antiguo 08/05/2013, 17:30
Avatar de Crezh  
Fecha de Ingreso: mayo-2013
Mensajes: 9
Antigüedad: 10 años, 11 meses
Puntos: 0
Respuesta: no me guarda los datos en la bd

Cita:
Iniciado por Crezh Ver Mensaje
haver, lo que pretendo es hacer un "pedido" de una manera que yo entienda. Que tu tengas quizas 30 hamburguesas y selecciones dos con el checkbox y pongas la cantidad. Solamente quiero que me introduzca en la base de datos aquellos los cuales la cantidad es mayor que 0.
Por eso lo del arreglo y el bucle. Se que me estoy complicando pero he estado mirando carritos por la web y no he encontrado ninguno que entienda.

La culpa es de los profesores de este año....si te contara...XD. Les pagan por no enseñar y tu pagas para que te enseñen!!
Me rindo!! si el trabajo tiene parte de redes, de seguridad, de base de datos, de sistemas operativos y de web y lo tenia que hacer en un mes, me he pasado media o mes haciendo la pagina web y lo demás nada. Me quedo con el 8 de web y ya esta. Si no que me lo expliquen.
(Esque una ya se cansa d ir a clase y tener que buscarlo todo porque los señores profesores no quieren hacer ni el huevo)

Merci de todos modos ;)
  #11 (permalink)  
Antiguo 09/05/2013, 10:18
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: no me guarda los datos en la bd

Hola entonces te das por vencida?, ya no continuarás con este proyecto???

Etiquetas: bd, mysql, select, 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 17:11.