Estoy recorriendo bien?

Iniciado por Skeletron, 3 Diciembre 2009, 00:41 AM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

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:



Código (php) [Seleccionar]
<?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!!!

[u]nsigned

#1
Yo lo haria asi:

Código (php,8) [Seleccionar]
<?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:
Código (php) [Seleccionar]
<?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

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

Skeletron

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?

Skeletron

#3
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..

[u]nsigned

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...;)

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!