Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: edr89 en 7 Abril 2015, 06:47 am



Título: Agregar entradas a base de datos
Publicado por: edr89 en 7 Abril 2015, 06:47 am
Hola, estoy trabajando con unas plantillas y  necesito modificarlas pero mi conocimiento de php es nulo. La página despliega una tabla con distintos productos, entonces hay un checkbox para comprar, al hacer click redirecciona a otra página.

Me gustaria que cuando alguien de click en comprar se ejecutara un INSERT into TABLA values(...).
Tengo otro archivo con un formulario y quise copiar la parte donde hace los inserts into pero las estructuras de ambos archivos son diferentes y no se aquí como introducir las sentencias para que se agreguen entradas a la base de datos.

Si alguien me puede orientar al respecto se los agradeceré.
Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Articulos</title>
  6. <style type="text/css">
  7. .titulo {
  8. font-family: Tahoma, Geneva, sans-serif;
  9. font-size: 24pt;
  10. color: #09F;
  11. }
  12. .titulo {
  13. color: #C00;
  14. }
  15. .encabezado1 {
  16. font-family: Georgia, "Times New Roman", Times, serif;
  17. font-weight: bold;
  18. font-size: 16pt;
  19. }
  20. .bienvenida {
  21. font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
  22. font-style: italic;
  23. color: #933;
  24. }
  25. </style>
  26. <script src="SpryAssets/SpryValidationCheckbox.js" type="text/javascript"></script>
  27. <link href="SpryAssets/SpryValidationCheckbox.css" rel="stylesheet" type="text/css" />
  28. </head>
  29.  
  30. <body>
  31. <h1 align="center" class="titulo"><img src="images/header-object.png" width="879" height="88" alt="logo" /> </h1>
  32. <h1 align="center" class="titulo">Itianguis</h1>
  33. <p>&nbsp;</p>
  34. <p class="encabezado1">LISTA DE ARTICULOS</p>
  35. <p>&nbsp;</p>
  36. <p class="bienvenida">Bienvenido estos son los articulos que tenemos disponibles para ti
  37. </p>
  38. <table width="881" border="1">
  39.  <tr>
  40.    <td width="293">Imagen del articulo</td>
  41.    <td width="107">ID del articulo</td>
  42.    <td width="75">Costo</td>
  43.    <td width="255">Descripcion</td>
  44.    <td width="117">Comprar</td>
  45.  </tr>
  46.  <tr>
  47.    <th><img src="images/productos/asha 303.jpg" alt="asha" name="asha" width="225" height="225" id="asha" /></th>
  48.    <td>Asha_303</td>
  49.    <td>$1200</td>
  50.    <td>Smartphone listo para comunicarte cuenta con sistema propio. watsaap, camara de 3 megapixeles</td>
  51.    <th><label><a href="compraexitosa.php"><span id="sprycheckbox1">
  52.      <input type="checkbox" name="checkbox1" id="checkbox1" />
  53.      <span class="checkboxRequiredMsg">Realice una selección.</span></span>Comprar</a></label>
  54.    <label for="compra">      </label></th>
  55.  </tr>
  56.  <tr>
  57.    <td><img src="images/productos/galaxy s3.jpg" width="194" height="224" alt="galaxy" /></td>
  58.    <td>GalaxyS3</td>
  59.    <td>$3000</td>
  60.    <td>Nuevo samsung galaxy S3mini con android 4.2 camara de 3 megapixeles y nuevas aplicaciones</td>
  61.    <td><label><a href="compraexitosa.php"><span id="sprycheckbox2">
  62.      <input type="checkbox" name="checkbox2" id="checkbox2" />
  63.    <span class="checkboxRequiredMsg">Realice una selección.</span></span>Comprar</a></label></td>
  64.  </tr>
  65.  <tr>
  66.    <td><img src="images/productos/galaxy fame.jpg" width="275" height="183" alt="fame" /></td>
  67.    <td>Galaxy_fame</td>
  68.    <td>$1500</td>
  69.    <td>Galaxy fame cuenta con sistema android camara de 2 megapixeles</td>
  70.    <td><label><a href="compraexitosa.php"><span id="sprycheckbox4">
  71.      <input type="checkbox" name="checkbox4" id="checkbox4" />
  72.    <span class="checkboxRequiredMsg">Realice una selección.</span></span>Comprar</a></label></td>
  73.  </tr>
  74.  <tr>
  75.    <td><img src="images/productos/lumia 900.jpg" width="281" height="171" alt="lumia" /></td>
  76.    <td>Lumia</td>
  77.    <td>$3500</td>
  78.    <td>Nuevo Nokia Lumia con sistema windows Phone cuenta con whatsapp correo electronico y muchas aplicaciones mas</td>
  79.    <td><a href="compraexitosa.php"><span id="sprycheckbox5">
  80.      <input type="checkbox" name="checkbox5" id="checkbox5" />
  81.    <span class="checkboxRequiredMsg">Realice una selección.</span></span>Comprar</a></td>
  82.  </tr>
  83.  <tr>
  84.    <td><img src="images/productos/pavilon dv4.jpg" width="303" height="204" alt="pavilon" /></td>
  85.    <td>Pavilon</td>
  86.    <td>$5000</td>
  87.    <td>Lap top HP pavilon procesador core i3 ram 4GB DD 500 GB OS Windows 7 Home Basic</td>
  88.    <td><a href="compraexitosa.php"><span id="sprycheckbox6">
  89.      <input type="checkbox" name="checkbox6" id="checkbox6" />
  90.    <span class="checkboxRequiredMsg">Realice una selección.</span></span>Comprar</a></td>
  91.  </tr>
  92.  <tr>
  93.    <td><img src="images/productos/pavilon dv7.jpg" width="189" height="159" alt="pavilon1" /></td>
  94.    <td>Pavilon_dv7</td>
  95.    <td>$6000</td>
  96.    <td>Lap top HP pavilon dv7procesador core i3 ram 3GB DD 500 GB OS Windows 7 Home Premium</td>
  97.    <td><a href="compraexitosa.php"><span id="sprycheckbox7">
  98.      <input type="checkbox" name="checkbox7" id="checkbox7" />
  99.    <span class="checkboxRequiredMsg">Realice una selección.</span></span>Comprar</a></td>
  100.  </tr>
  101.  <tr>
  102.    <td><img src="images/productos/pavilon dv600.jpg" width="282" height="179" alt="pav" /></td>
  103.    <td>Pavilon_dv600</td>
  104.    <td>$5500</td>
  105.    <td>Lap top HP pavilon procesador pentium dual core ram 2GB DD 500 GB OS Windows 7 Home Premium</td>
  106.    <td><a href="compraexitosa.php"><span id="sprycheckbox8">
  107.      <input type="checkbox" name="checkbox8" id="checkbox8" />
  108.    <span class="checkboxRequiredMsg">Realice una selección.</span></span>Comprar</a></td>
  109.  </tr>
  110.  <tr>
  111.    <td><img src="images/productos/toshiba satelite.jpg" width="270" height="186" alt="toshiba" /></td>
  112.    <td>Toshiba</td>
  113.    <td>$6000</td>
  114.    <td>Lap top Toshiba Satellite procesador core i5 ram 4GB DD 500 GB OS Windows 7 Home Premium</td>
  115.    <td><a href="compraexitosa.php"><span id="sprycheckbox9">
  116.      <input type="checkbox" name="checkbox9" id="checkbox9" />
  117.    <span class="checkboxRequiredMsg">Realice una selección.</span></span>Comprar</a></td>
  118.  </tr>
  119.  <tr>
  120.    <td><img src="images/productos/toshiba.jpg" width="262" height="192" alt="toshi" /></td>
  121.    <td>Toshiba_Sate</td>
  122.    <td>$7000</td>
  123.    <td>Lap top Toshiba Satellite procesador core i5 ram 4GB DD 500 GB OS Windows 7 Profesional</td>
  124.    <td><a href="compraexitosa.php"><span id="sprycheckbox10">
  125.      <input type="checkbox" name="checkbox10" id="checkbox10" />
  126.    <span class="checkboxRequiredMsg">Realice una selección.</span></span>Comprar</a></td>
  127.  </tr>
  128.  <tr>
  129.    <td><img src="images/productos/Toshiba1.jpg" width="261" height="170" alt="tosii" /></td>
  130.    <td>Toshiba_sat</td>
  131.    <td>$9250</td>
  132.    <td>Lap top Toshiba Satellite procesador core i7 ram 4GB DD 500 GB OS Windows 7 Profesional</td>
  133.    <td><a href="compraexitosa.php"><span id="sprycheckbox11">
  134.      <input type="checkbox" name="checkbox11" id="checkbox11" />
  135.    <span class="checkboxRequiredMsg">Realice una selección.</span></span>Comprar</a></td>
  136.  </tr>
  137. </table>
  138. <p class="bienvenida">&nbsp;</p>
  139. <script type="text/javascript">
  140. var sprycheckbox1 = new Spry.Widget.ValidationCheckbox("sprycheckbox1");
  141. </script>
  142. </body>
  143. </html>
  144.  


Título: Re: Agregar entradas a base de datos
Publicado por: engel lex en 7 Abril 2015, 06:50 am
recomiendo repasar y revisar estos tutoriales (http://phpya.com.ar/) para que tengas idea sobre que vas haciendo, y si llegas a tener una duda al respecto avisa, un lenguaje de programación no se puede andar llevando así a ciegas


Título: Re: Agregar entradas a base de datos
Publicado por: edr89 en 7 Abril 2015, 07:00 am
un lenguaje de programación no se puede andar llevando así a ciegas

Gracias. Es un problemon cuando no conoces la sintaxis ni nada, se supone que es un curso de MySQL pero a ultima hora nos pidieron php.

Pregunta: Si ya tengo el sitio con la base creada puedo leerme los tutoriales y hacer sitios simples que sustituyan a las plantillas pero sin modificar la base de datos?

en verdad gracias por la liga!


Título: Re: Agregar entradas a base de datos
Publicado por: engel lex en 9 Abril 2015, 01:43 am
si, realmente necesitas solo lo basico del curso, el mysql lo lees con mucha facilidad y un par de funciones pasandole un query mysql normal y con un par de echo por aquí y por allá está listo


Título: Re: Agregar entradas a base de datos
Publicado por: edr89 en 9 Abril 2015, 02:59 am
 ;-) gracias, de hecho he encontrado ejemplos sencillos pero de PHP 5.0 y a veces no corren o dice que algunas funciones son obsoletas :-X.

Por ejemplo, ahora tengo un registro mas sencillo,  dos campos que el usuario llena member_id y password, cuando el usuario da click en siguiente se guarda la info en la base de datos.


Puedo agregar un tercer dato en la función sprintf para que ademas se guarde la fecha con la funcion getdate(), es decir puedo modificar aca directamente?

Código
  1. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  2.  $insertSQL = sprintf("INSERT INTO sesion  VALUES (%s, %s)",
  3.                       GetSQLValueString($_POST['member_id'], "text"),
  4.                       GetSQLValueString($_POST['contrasea'], "text"));
  5.  
  6.  mysql_select_db($database_conexion1, $conexion1);
  7.  $Result1 = mysql_query($insertSQL, $conexion1) or die(mysql_error());
  8. ...
  9.  
lo que estoy pensando es que cada que alguien inicia sesion la fecha deberia guardarse para tener un registro. Intente declarar una variable con la sentencia SQL y  ejecutar el query pero con el formulario no se como ligarlo.


Título: Re: Agregar entradas a base de datos
Publicado por: engel lex en 9 Abril 2015, 03:07 am
si, esa parte ya respecta a mysql y es la función UPDATE

la cosa es que ese manejardor de mysql está obsoleto... lo siento, el toturíal que te envié usa ese...

usando el mysqli, la sintaxis es identica en casi todo
fijate en la sección de ejemplos (justo bajo la explicación), el primero es basado en objetos, si no te gusta, el segundo ("Estilo por procedimientos") es identico a mysql en casi todo

http://php.net/manual/es/mysqli.affected-rows.php (http://php.net/manual/es/mysqli.affected-rows.php)


Título: Re: Agregar entradas a base de datos
Publicado por: edr89 en 9 Abril 2015, 20:55 pm
tengo el tiempo encima y  no logro modificar la tabla de compras pero si funcionó agregar un tercer campo en la sentencia de MySQL para la sesion ;D
Tuve que bajar de versión la config de PHP y algunos scripts ya funcionan.

Código
  1.  $insertSQL = sprintf("INSERT INTO sesion  VALUES (%s, %s, NOW())",
  2.                       GetSQLValueString($_POST['member_id'], "text"),
  3.                       GetSQLValueString($_POST['contrasea'], "text"),
  4. GetSQLValueString($_POST['fecha'], "date") );
  5.