Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/11/2013, 05:55
Vyrtu
 
Fecha de Ingreso: octubre-2013
Ubicación: Torrelavega
Mensajes: 23
Antigüedad: 11 años, 3 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>