Foros del Web » Programando para Internet » PHP »

consulta

Estas en el tema de consulta en el foro de PHP en Foros del Web. Hola estoy obeniendo registros de una base de datos, pero estos pueden ser cada vez diferentes cantidades como resultado, entonces necesito que haga la misma ...
  #1 (permalink)  
Antiguo 14/07/2008, 15:16
 
Fecha de Ingreso: marzo-2005
Mensajes: 156
Antigüedad: 19 años, 1 mes
Puntos: 0
consulta

Hola

estoy obeniendo registros de una base de datos, pero estos pueden ser cada vez diferentes cantidades como resultado, entonces necesito que haga la misma cantidad de insert según la devulstos por la base de datos, como se podria manejar en una funcion.

desde ya muchas gracias
  #2 (permalink)  
Antiguo 14/07/2008, 18:58
Avatar de Sensorium  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo-Uruguay
Mensajes: 207
Antigüedad: 16 años, 9 meses
Puntos: 7
Respuesta: consulta

Hola cearriag, podrias crear una fanciona a la que le pasas el mysql_num_rows($consulta), esto te devolvera un número, luego, con ese número un for() en donde insertas los registros que creas convenientes, la sintaxis del for podria ser
[CODE]
for($i=1;$i>=$cantidad_registros;$i++){
realizo el insert
}
o algo asi, me explico?
__________________
Artis
  #3 (permalink)  
Antiguo 15/07/2008, 12:06
 
Fecha de Ingreso: marzo-2005
Mensajes: 156
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: consulta

Hola.
La idea es buena, pero además yo debo pasar el parametro del campo según su cantidad de registro. Pero como pordria hacerlo???, please por favor.
Agrdesco cometarios.
  #4 (permalink)  
Antiguo 15/07/2008, 12:12
Avatar de jago86  
Fecha de Ingreso: abril-2008
Ubicación: Ibarra - Ecuador
Mensajes: 77
Antigüedad: 16 años
Puntos: 1
Respuesta: consulta

Explícate mejor, que es el parámetro que quieres pasar???
__________________
echo "i > u"
  #5 (permalink)  
Antiguo 15/07/2008, 13:02
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: consulta

la funcion mysql_num_fields te da el numero de columnas en una consulta
la funcion mysql_num_rows te da el numero de filas de una consulta

esto para mysql
__________________
My path is lit by my own fire, I only go where I desire
  #6 (permalink)  
Antiguo 15/07/2008, 13:08
Avatar de Sensorium  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo-Uruguay
Mensajes: 207
Antigüedad: 16 años, 9 meses
Puntos: 7
Respuesta: consulta

Explica un poco mejor el tema de "Pasar Registro", donde quieres pasarlo, si es 1 o N registros en fin
__________________
Artis
  #7 (permalink)  
Antiguo 15/07/2008, 13:09
 
Fecha de Ingreso: marzo-2005
Mensajes: 156
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: consulta

hola.
mira tengo esta consulta:

if ($pasar==1)
{

// acá debo realizar el insert dependiendo las cantidad de resultados que me trajo el listar. el parametro va ser el campo atra_alum_id, el cual debo pasarlo
según la cantidad de registro que me entrego el listar debo hacer el insert por cada uno, o sea pasando el id de cada atraso.
}

else
{
// consulta para ver datos del alumno
$sql="select inscripcion_alumno__inal.ALUM_RUT,
alumnos__alum.ALUM_NOMBRES,
alumnos__alum.ALUM_APELLIDO_PATERNO,
alumnos__alum.ALUM_APELLIDO_MATERNO,
inscripcion_alumno__inal.CURS_CURSO_ALUMNO
from alumnos__alum,inscripcion_alumno__inal
where inscripcion_alumno__inal.ALUM_RUT=alumnos__alum.AL UM_RUT
and alumnos__alum.ALUM_RUT='".$rut."'";

$res = mysql_query($sql) or die("La consulta falló: " . mysql_error());
$num=mysql_numrows($res);
//echo"$res";
for($i=0;$i<$num;$i++)
{
$rut=mysql_result($res,$i,"ALUM_RUT");
$nombres=mysql_result($res,$i,"ALUM_NOMBRES");
$txtapellidopaterno=mysql_result($res,$i,"ALUM_APE LLIDO_PATERNO");
$txtapellidomaterno=mysql_result($res,$i,"ALUM_APE LLIDO_MATERNO");
$txtcursoalumno=mysql_result($res,$i,"CURS_CURSO_A LUMNO");
}

//////////////////tabla para vizualizar los atrasos del Alumno
echo"<div>";
echo"<h2><center><strong><pre>Justifici&oacute;n del Alumno</pre></center></strong></h3>\n";
echo "<table width='41%' border='0' cellspacing='0' cellpadding='1'>";
echo "</table>";

//datos del alumno a justificar
echo"<table border='0' width='21%' align ='center'>\n";
echo"<tr bgcolor='#FFFFCC'>\n";
echo "<tr>";
echo"<td width='15%' cels><pre><strong>Alumno nombre:</strong> $nombres $txtapellidopaterno $txtapellidomaterno,</pre></td>\n";
echo"<td width='25%'><pre>con el <strong>Rut Alumno:</strong> $rut,</pre></td>\n";
echo "</tr>";
echo"<tr>";
echo"<td width='15%' colspan='2'><pre>el cual cual posee los siguientes atrasos:</strong></pre></td>\n";
echo "</tr>";
echo "</table>";

//----------------------------------------------------------------------------------------------------
//Select para mostrar información de los atrasos
$sql2="select atraso_alumnos__atra_alum.ATRA_ALUM_ID,
atraso_alumnos__atra_alum.ATRA_ALUM_MOTIVO,
atraso_alumnos__atra_alum.ATRA_ALUM_FECHA_REGISTRO ,
atraso_alumnos__atra_alum.ATRA_ALUM_HORA_REGISTRO,
atraso_alumnos__atra_alum.ATRA_ALUM_OBSERVACION
from inscripcion_alumno__inal, atraso_alumnos__atra_alum, alumnos__alum
where inscripcion_alumno__inal.ALUM_RUT=alumnos__alum.AL UM_RUT
and atraso_alumnos__atra_alum.ALUM_RUT=alumnos__alum.A LUM_RUT
and atraso_alumnos__atra_alum.ALUM_RUT='$rut'
and atraso_alumnos__atra_alum.ESTA_ATRA_ID =0 ";

$res2 = mysql_query($sql2) or die("La consulta fall&oacute;: " . mysql_error());
$num2=mysql_numrows($res2);
mysql_close();

//echo"<center>\n";
echo"<form action='Apoderado_Justifica'pasar=1' method='post' name='Volver'>\n";
echo "<table width='900' height='88' border='1' cellpadding='2' cellspacing='2'>\n";
echo "<!--DWLayoutDefaultTable-->\n";
$semasforo=FALSE;
echo"<table width='41%' border='0' bgcolor='#FFFFCC' align='center' cellpadding='0' cellspacing='5'>\n";
echo"<tr> \n";
echo"<td width='25%'><div align='center'><pre><strong>Id Atraso</strong></pre></div></td>\n";
echo"<td width='25%'><div align='center'><pre><strong>Motivo Atraso</strong></pre></div></td>\n";
echo"<td width='25%'><div align='center'><pre><strong>Fecha Registro</strong></pre></div></td>\n";
echo"<td width='25%'><div align='center'><pre><strong>Hora Registro</strong></pre></div></td>\n";
echo"<td width='25%'><div align='center'><pre><strong>Obervaci&oacute;n</strong></pre></div></td>\n";

echo"</tr>\n";

$a=0;
while ($a < $num2) {
if ($semasforo)
{
$color="#0033FF";
}
else
{
$color="#74CEFA";
}

$idatraso=mysql_result($res2,$a,"ATRA_ALUM_ID");
$motivoatraso=mysql_result($res2,$a,"ATRA_ALUM_MOT IVO");
$fecharegistro=mysql_result($res2,$a,"ATRA_ALUM_FE CHA_REGISTRO");
$horaregistro=mysql_result($res2,$a,"ATRA_ALUM_HOR A_REGISTRO");
$obsersacion=mysql_result($res2,$a,"ATRA_ALUM_OBSE RVACION");
echo"<tr bgcolor=$color>\n";
$c= $a+1;
echo"<td><pre>$c</pre></td>" ;
echo"<td><pre>$motivoatraso</pre></td>" ;
echo"<td><pre>$fecharegistro</pre></td>";
echo"<td><pre>$horaregistro</pre></td>" ;
echo"<td><pre>$obsersacion</pre></td>" ;
echo"<tr>\n";
$a++;
$semasforo=!$semasforo;
}//cierre if($semaforo)
echo"</table> \n";
echo "<br>";
echo"<table border=0 width=42% align='center'>";
echo"<tr>";
echo"<td><strong><pre>Registo de la justificaci&oacute;n</pre></strong></td>";
echo"</tr>";
echo "</table>";
echo"<table border='0' width='19%' align='center' cellspacing='1'>\n";

echo"<tr>\n";
echo"<td width='15%'><pre>Justificaci&oacute;n</pre></td>\n";
echo"<td width='34%' align='center'> <div align='left'>\n";
echo"<input name='txtcodJustificacion' type='text' value='' size='15'>\n";

echo"<td width='15%'><pre>Rut Apoderado</pre></td>\n";
echo"<td width='34%' align='center'> <div align='left'>\n";
echo"<input name='txtcurso' type='text' value='' size='15' maxlength='4'>\n";
echo"</div></td>\n";
echo"</tr>\n";

echo"<tr>\n";
// echo"<td width='15%'><pre>Atrasos</pre></td>\n";
//echo"<td width='34%' align='center'> <div align='left'>\n";
//echo"<input name='txtdescripcion' type='text' value='' size='15' maxlength='200'>\n";
echo"<td width='15%'><pre>Fecha justificaci&oacute;n</pre></td>\n";
echo"<td width='34%' align='center'> <div align='left'>\n";
echo"<input name='txtdescripcion' type='text' value='' size='15' maxlength='200'>\n";
echo"</div></td>\n";
echo"</tr>\n";

echo"<tr>\n";
echo"<td width='15%'><pre>Descripci&oacute;n<br>justificaci &oacute;n</pre></td>\n";
echo"<td width='34%' align='center' colspan='3'> <div align='left' >\n";

//echo"&lt;textarea name='txtdescripcion' rows=5 cols=10 style=&quot;overflow:auto;&quot; &gt;&lt;/textarea&gt;";

echo"<textarea maxlength='200' name='txtdescripcion' cols='47' rows='3' onkeyup='return ismaxlength(this)'></textarea>";
echo"</div></td>\n";
echo"</tr>\n";
echo"</table>";
//echo "<p align='center'>\n";
echo "<br>";
echo "<center><input type='submit' name='btnjustificar' value='Justificar Alumno'></center>\n";

echo"</form>\n";
echo"</body>\n";
echo"</html>\n";

el cuan me extrae un listado con todos los registros existentes.
  #8 (permalink)  
Antiguo 15/07/2008, 13:20
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: consulta

bueno se me ocurre que tal vez en alguna parte de la tabla pongas un campo oculto, es decir

<input type='hidden' name='ids[]' value='EL_ID'>

luego preguntas por el array 'ids' en el $_REQUEST.

es decir: count($_REQUEST["ids"]) te dara la cantidad de registros que se te listaron
__________________
My path is lit by my own fire, I only go where I desire
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 18:44.