Hola gente..
Les comento que en la base de datos, tengo una tabla llamada SERVICIOS.
En una web, necesito agregar items, para seleccionar, y cada item, tiene que ser cada uno de los items que aparece en la base de datos en la tabla SERVICIOS...
Me dicen si el codigo está bien?:
he renegado mucho, ahora funciona.. pero les pregunto lo mismo:
<?php
mysql_connect("0000000000", "0000000000", "00000000000");
mysql_select_db("asdfasdfasdfasf");
$res = mysql_query("SELECT tipo FROM servicios");
$cant = mysql_num_rows($res);
for($i=0;$i<$cant;$i++){
$ser = mysql_fetch_array($res);
echo "<input type='checkbox' name='servicios' value='" . ($i+1) . "' />" . $ser[0];
}
mysql_close();
?>
Me refiero a como estoy utilizando el mysql_fetch_array, y eso..
AGREGO:
Mis 1.000 posts!!!
Yo lo haria asi:
<?php
mysql_connect("0000000000", "0000000000", "00000000000");
mysql_select_db("asdfasdfasdfasf");
$res = mysql_query("SELECT tipo FROM servicios");
while($row = mysql_fetch_array($res)){
echo "<input type='checkbox' name='servicios' value='" . ++$i . "' />" . $row['tipo'];
}
@mysql_free_result($res);
mysql_close();
?>
Pero es solo otra forma...y si de tu forma te funciona entonces esta bien..aunque podria ver cual es mejor (mas eficiente), por ejemplo midiendo el tiempo de ejecucion con microtime:
<?php
$tiempo_inicio = microtime(true);
// Aca iria todo el script //
$tiempo_final = microtime(true);
echo "Tiempo usado: " . ($tiempo_final - $tiempo_inicio);
?>
Saludos
Edito:
Te lo digo nuevamente, acostumbrate a liberar la memoria usada por las consultas SQL ;D
Perfecto, lo haré..
Ahora voy a probar que conviene.. Ya te digo...
En la pagina, lo que hago, es repetir ese codigo 2 veces..
hago la liberacion de memoria 2 veces?? total utilizo las mismas variables.. las sobreescribo..
O será mejor hacer la liberacion en la ultima vez que repito ese script?
Que cagada..
las 2 oscilan en 0.029
Pero son MUY IGUALES.. de verdad..
Y otra pregunta:
al $row, no le tengo que ahcer el @mysql_free_result($row); ???
Igualmente, utilizo lo que tu dices.. ya que se usan muchas menos variables..
lo que debes liberar con mysql_free_result son a las variables que le asignas el valor de una consulta (con $var = mysql_query();), en ese ejemplo seria $var.
para obtener una edicion mas realista podrias hacer el recorrdio tomando todos los campos de una tabla de 2000 registors, por decir algo.. porque en 10 o 15 no habra demasiada diferencia...;)