Foros del Web » Programando para Internet » PHP »

Creacion de tablas y consultas con mysqli

Estas en el tema de Creacion de tablas y consultas con mysqli en el foro de PHP en Foros del Web. Buenas, estoy intentando hacer un script, un poco complejo para mi nivel, ya que soy nuevo en esto de la programacion en general.. El script ...
  #1 (permalink)  
Antiguo 19/11/2013, 05:55
 
Fecha de Ingreso: octubre-2013
Ubicación: Torrelavega
Mensajes: 23
Antigüedad: 10 años, 6 meses
Puntos: 0
Creacion de tablas y consultas con mysqli

Buenas, estoy intentando hacer un script, un poco complejo para mi nivel, ya que soy nuevo en esto de la programacion en general..

El script crea en una base de datos una tabla con un rango de ips, el equipo al que esta asignada, y si esta libre, en caso que no tenga equipo.

La cosa es que el la base de datos es creada correctamente, pero luego cuando quiero modificar esos datos con un formulario, no lo consigo, a parte de no saber muy bien como hacerlo..

Bueno, os dejo el codigo, a ver que os parece, y si me podeis echar una mano :)
Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <title>Prueba SQL</title>
  4. </head>
  5. <body>
  6.  
  7. <!--Formulario IP's validas-->
  8.  
  9. <form action='' method='POST' name='valiform'>
  10.  
  11. <table id='form' border='1'>
  12. <tbody>
  13. </tr>
  14.  
  15. <tr>
  16.     <td>
  17.         <input type='text' name='ip' value='0.0.0.0/00'/>
  18.     </td>
  19.     <td>
  20.         <input type='submit' value='Validar' name='validar'/>
  21.     </td>
  22.     </tr>
  23. </form></table>
  24. <form action='' method='POST' name='modiform'>
  25. <table border='1'>
  26.     <tr>
  27.         <?php
  28.         //Funcion IP
  29.         $range=$_POST['ip'];
  30.  
  31.         function rango($range){
  32.             $parts = explode('/',$range);
  33.             $exponent = 32-$parts[1].'-';
  34.             $count = pow(2,$exponent);
  35.             $start = ip2long($parts[0]);
  36.             $end = $start+$count;
  37.             return array_map('long2ip', range($start+1, $end-2) );
  38.         }
  39.  
  40.  
  41.  
  42.         //Conexion a la Base de datos
  43.         $mysqli = new mysqli("localhost", "root", "", "ips");
  44.         if ($mysqli->connect_errno) {
  45.             echo "Falló la conexión con MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
  46.         }
  47.  
  48.         //Elimina la tabla si existe
  49.         if ($mysqli->query("DROP TABLE IF EXISTS prueba4") AND $mysqli->query("CREATE TABLE prueba4(ip VARCHAR(30), estado VARCHAR(30), equipo VARCHAR(30))")){
  50.             //Inserta valores en la tabla
  51.  
  52.             foreach((rango($range)) as $i)
  53.             {
  54.               $query = $mysqli->query("INSERT INTO prueba4 (ip, estado, equipo) VALUES ('". $i ."', 'Libre', 'No asignado')");
  55.                 if($query){
  56.                   echo "Inserted " . $i . "<br/>";
  57.                 }else{
  58.                   echo "error ...(" . $mysqli->errno . ") " . $mysqli->error . "<br />";
  59.                 }
  60.             }
  61.  
  62.             /*!$mysqli->query("INSERT INTO prueba3(ip, estado) VALUES ('192.168.3.1', 'Libre')")) { */
  63.             //Si falla la creacion de la tabla
  64.  
  65.         }else{
  66.           echo "Falló la creación de la tabla: (" . $mysqli->errno . ") " . $mysqli->error;
  67.         }
  68.  
  69.         $query = "SELECT ip, estado FROM prueba4";
  70.  
  71.     ?>
  72.     <td>
  73.         <select name='list'>
  74.     <?php
  75.  
  76.         if ($result = mysqli_query($mysqli, $query))
  77.         {
  78.             /* fetch associative array */
  79.             while ($row = mysqli_fetch_row($result))
  80.             {
  81.                 echo "<option value='". $row[0] . "'>" . $row[0] . " " . $row[1] .  "</option>";
  82.             }
  83.         }  
  84.     ?>
  85.     <td>
  86.         <select name='list2'>
  87.             <option name='libre' value='libre'>Libre</option>
  88.             <option name='ocupado' value='ocupado'>Ocupado</option>
  89. </td>
  90.  
  91. <?php
  92.  
  93. $updestado= ( isset ( $_POST['list2'])) ? $_POST['list2'] :false;
  94.  
  95. $estado="Update ips SET estado=$updestado"
  96.  
  97. $equipo= ( isset ( $_POST['equipo'])) ? $_POST['equipo'] :false;
  98.  
  99. $updequipo="Update ips SET equipo='$equipo' WHERE ip='$row[0]'";
  100.  
  101. echo $update;
  102.  
  103. ?>
  104.  
  105. <td>
  106. <input type='text' value='' name='equipo'/>
  107. </td>
  108. <td>
  109. <button type='submit' value='' name='modificar'>Modificar</button>
  110. </td>
  111. </tr></table></form>
  112. </body>
  113. </html>
  #2 (permalink)  
Antiguo 20/11/2013, 06:03
 
Fecha de Ingreso: octubre-2013
Ubicación: Torrelavega
Mensajes: 23
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Creacion de tablas y consultas con mysqli

Siempre que le doy al boton de modificar refresca toda la pagina, y al no tener ningun valor, no me carga nada..Me estoy liando muchisimo..
  #3 (permalink)  
Antiguo 20/11/2013, 06:17
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: Creacion de tablas y consultas con mysqli

Al ptincipio estas usando mysqli orientado a objetos y despues procedural puede que ahi parte de ty problema
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #4 (permalink)  
Antiguo 25/11/2013, 02:45
 
Fecha de Ingreso: octubre-2013
Ubicación: Torrelavega
Mensajes: 23
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Creacion de tablas y consultas con mysqli

Y como lo debo poner? Es que acabo de empezar con mysqli, y no se muy bien como funciona.. :S
Llevo con estos unos dias ya y no hay manera de arreglarlo..

Etiquetas: form, mysqli, update
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 14:39.