Como utilizar una consulta PHP 2 veces



En PHP es posible que necesitemos usar una consulta 2 veces. Un ejemplo práctico de ésto, sería rellenar 2 combos con la misma consulta, sin tener que copiar los combos. La solución sería que tras recorrer el array de la consulta para cargar el primer combo, volver a poner el puntero de la consulta al primer registro de ésta. Esto se hace con “mysql_data_seek

Ejemplo:

$conexion=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
if(!$conexion)
{
    echo "No se pudo conectar a la DB";
}else
{
	mysql_select_db(DB_NAME) or die ("No se puedo conectar con la base de datos");

	$resultado=mysql_query("SELECT equipo FROM equipos
                                WHERE categoria='PrimeraCategoria'",$conexion);

	if(!$resultado)
	{
		echo "La consulta no funciono";
	}else
        {
                //CARGO EL PRIMER COMBO
                echo '<label>Equipo Local:</label>';
                echo '<select style="width: 225px;" name="equipoLocal">';
                while ($row=mysql_fetch_row($resultado))
                {
                      echo'<option value="'.$row[0].'">'.$row[0].'</option>';
                }
                echo '</select>';

                //Devuelvo al array de la consulta a la posición de partida para volverlo a recorrer
               if( !mysql_data_seek($resultado, 0) )
               {
                      die( "No se pudo regresar al primer resultado" );
               }else
               {      //CARGO EL SEGUNDO COMBO
                      echo '<label>Equipo Visitante:</label><br>';
                      echo '<select name= "equipoVisitante" style="width: 225px">';
                      while ($row=mysql_fetch_row($resultado))
                      {
                            echo'<OPTION VALUE="'.$row[0].'">'.$row[0].'</OPTION>';
                      }
                      echo '</select>';
               }
       }
}

Como copiar una DateTable en C# (también DataRow)

c-sharp imagen

Si estás programando en .NET con lenguaje C# y necesitas copiar el contenido de una tabla (DataTable) a otra hay una forma muy sencilla de hacerlo.

Tenemos 2 DataTables:

DataTable tabla1 = new DataTable();
DataTable tabla2 = new DataTable();

Si hacemos tabla2 = tabla1 NO ES VÁLIDO, porque lo que hagamos en una tabla se reflejaría en la otra.

Podemos utilizar para copiarla lo siguiente:

//Clonamos la estructura
tabla2 = tabla1.Clone();
//Recorremos las filas de la tabla1 y las importamos en la tabla2
Foreach(DataRow dr in tabla1.Rows)
{
tabla2.ImportRow(dr);
}

Con esto tendríamos 2 tablas iguales pero sin estar vinculadas referencialmente. Problema resuelto