Foros del Web » Programando para Internet » Javascript »

php, html y javascript

Estas en el tema de php, html y javascript en el foro de Javascript en Foros del Web. holas a todos, tengo un problemita, genero un tabla con mi consulta sql y la imprimo con php, el resultado por ejemplo son 3 filas ...
  #1 (permalink)  
Antiguo 25/06/2006, 10:04
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 2 meses
Puntos: 10
php, html y javascript

holas a todos,

tengo un problemita, genero un tabla con mi consulta sql y la imprimo con php, el resultado por ejemplo son 3 filas

a---b---c---d---e---f---g
g---g---r---h---f---r---g
l----r---g---w---h---f---e

cuando hago esta consulta es par aluego modifica los datos, q pasa q quiero pasar cada fila como un array, pero despues q modifico, y no se como hacerlo, sera q me explico, (yo se pasarlo los valores de las filas coma array pero antes de modificarlos y no es la idea)


me explico,

gracias
__________________
.-._.-. [email protected]._.-.
  #2 (permalink)  
Antiguo 25/06/2006, 16:38
Avatar de juanca2626  
Fecha de Ingreso: junio-2004
Ubicación: Lima-Peru
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Hola mirovita

La verdad no esta muy clara tu consulta pero si lo esplicas mejor quizas te podamos ayudar

y si pones algo de codigo mejor ok saludos
  #3 (permalink)  
Antiguo 26/06/2006, 07:03
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 2 meses
Puntos: 10
ok mexplico mejor (espero), tengo una consulta q me genera 3 filas, y quiero modificar los valores de esas filas pero tdas juntas..
quiero q al colocar onchance me vaya a un afuncion javascript y me tome el valor y luego lo devuelva en un arreglo para enviarlo por un formulario a otra pagina, te dejo el codigo a ver si me pedes ayudar...


codigo php y html
Código PHP:
<?

$query 
"SELECT contrato, actividad, descripcion, SUM(CASE fecha WHEN '$fecha_del1' THEN horas ELSE 0 END) as lun, SUM(CASE fecha WHEN '$fecha_del2' THEN horas ELSE 0 END) as mar, SUM(CASE fecha WHEN '$fecha_del3' THEN horas ELSE 0 END) as mier, SUM(CASE fecha WHEN '$fecha_del4' THEN horas ELSE 0 END) as jue, SUM(CASE fecha WHEN '$fecha_del5' THEN horas ELSE 0 END) as vier, SUM(CASE fecha WHEN '$fecha_del6' THEN horas ELSE 0 END) as sab, SUM(CASE fecha WHEN '$fecha_del7' THEN horas ELSE 0 END) as dom FROM maestro WHERE cedula='$cedula' and fecha BETWEEN '$fecha_del' AND '$fecha_al' GROUP BY descripcion, actividad, contrato order by contrato, actividad, descripcion";


$result pg_Exec($conn,$query);
$filas=pg_num_rows($result);

if(
$row=pg_fetch_array($result))  

{

echo
"<TABLE width='800' BORDER=0 CELLPADDING=1 CELLSPACING=1 bordercolor='#003399'>";

echo
"  <tr><td colspan='2' width='225'><div align='center' class='style4'>
          CODIGOS
        </div></td>
        <td width='160' rowspan='2'><div align='center' class='style4'>DESCRIPCION DE ACTIVIDAD</div> </td>
        <td colspan='7' width='350'><div align='center' class='style4'>DIAS DE LA SEMANA</div> </td>
        <td width='350'><div align='center' class='style4'></div></td>
              </tr>
      <tr>
        <td width='75' height='29'><div align='center' class='style4'>Proy/Dpto</div></td>
        <td width='150'><div align='center' class='style4'>Actividad</div></td>
        <td width='45'><div align='center' class='style4'>LUN</div></td>
        <td width='45'><div align='center' class='style4'>MAR</div></td>
        <td width='45'><div align='center' class='style4'>MIER</div></td>
        <td width='45'><div align='center' class='style4'>JUE</div></td>
        <td width='45'><div align='center' class='style4'>VIE</div></td>
        <td width='45'><div align='center' class='style4'>SAB</div></td>
        <td width='45'><div align='center' class='style4'>DOM</div></td>
        <td width='45'><div align='center' class='style4'>Aprob</div></td></tr>"
;
do
 {

 
printf("<tr><td><div align='center'><input type='text' name='contrato' value='%s'  size='10' disabled></div></td>
            <td><div align='center'><input type='text' name='actividad' value='%s'  size='10' disabled></div></td>
            <td><div align='center'><input type='text' name='descripcion' value='%s'  size='15' disabled></div></td>
            <td><div align='center'><input type='text' name='lun' value='%d' size='2'  disabled></div></td>
            <td><div align='center'><input type='text' name='mar' value='%d' size='2'  disabled></div></td>
            <td><div align='center'><input type='text' name='mier' value='%d' size='2'  disabled></div></td>
            <td><div align='center'><input type='text' name='jue' value='%d' size='2'  disabled></div></td>
            <td><div align='center'><input type='text' name='vier' value='%d' size='2'  disabled></div></td>
            <td><div align='center'><input type='text' name='sab' value='%d' size='2'  disabled></div></td>
            <td><div align='center'><input type='text' name='dom' value='%d' size='2'  disabled></div></td>
            <td><div align='center'><input type='checkbox' id='aprob' disabled></div></td>
</tr>"
,$row["contrato"],$row["actividad"], $row["descripcion"], $row["lun"], $row["mar"], $row["mier"], $row["jue"], $row["vier"], $row["sab"], $row["dom"],""); 



 }
 while(
$row=pg_fetch_array($result));
 
 echo
"  </TABLE>";


echo 
"<input name='contrato' type='hidden' value=' '>";
echo 
"<input name='actividad' type='hidden' value=' '>";
echo 
"<input name='descripcion' type='hidden' value=' '>";
echo 
"<input name='lun' type='hidden' value=' '>";
echo 
"<input name='mar' type='hidden' value=''>";
echo 
"<input name='mier' type='hidden' value=''>";
echo 
"<input name='jue' type='hidden' value=''>";
echo 
"<input name='vier' type='hidden' value='r'>";
echo 
"<input name='sab' type='hidden' value=''>";
echo 
"<input name='dom' type='hidden' value=''>";
echo 
"<input name='filas' type='hidden' value='filas'>";


echo 
"<br>";
echo 
"<br>";
?>



<input type="button" onClick="modificar()" value="modificar"  style="background-color:#003399;color:#ffffff;font-family:Verdana;font-weight:bold; background-color:#003399"> 
<input name="guardar" type="submit" value="Guardar" style="background-color:#003399;color:#ffffff;font-family:Verdana;font-weight:bold; background-color:#003399">

<?
 
}
 else 
{
echo 
"<div align='center'><h4 class='style1'>&iexcl; No se han registrado horas para esta semana !</h4></div>"
}

pg_close($conn);

 
?>
bueno lo q quiero es q una funcion me tome los valores al modificarlos y los guarde en un arreglo (ya q son varias columnas) cada columna,

por ejemplo:

tabla original d ela consulta:
contrato---actividad---horas
1586--------21---------15
1245---------21--------36

y la person amodifico en horas 15 por 16

el resulatdo sea
contrato [1586 1245]
actividad [21 21]
horas [16 36]
sera q ahora si me explico? sino es asi lo vuelvo a intentar

gracias..
__________________
.-._.-. [email protected]._.-.
  #4 (permalink)  
Antiguo 26/06/2006, 10:03
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
hola,

Utilizando tu ejemplito, así es como yo lo haría:
Cita:
<html>
<head>
<script>
datos= new Array()
datos[0]=new Array(1586,1245);
datos[1]=new Array(21,21);
datos[2]=new Array(16,36);

function generar(){
for(y=0;y<datos[0].length;y++){
fila=document.createElement('tr');
for(x=0;x<datos.length;x++){
celda=document.createElement('td');
celda.align="center";
caja=document.createElement('input');
caja.size=8;
caja.type="text";
caja.value=datos[x][y];
caja.setAttribute("onchange","cambiar(this.value," +x+","+y+")");
celda.appendChild(caja);
fila.appendChild(celda);
}
document.getElementById('tabla').appendChild(fila) ;
}
}

function cambiar(valor,xx,yy){
datos[xx][yy]=valor;
mostrararray();
}


function mostrararray(){
alert("Contrato:"+datos[0].join(",")+"\nActividad:"+datos[1].join(",")+"\nHoras:"+datos[2].join(","));
}
</script>
</head>

<body onload="generar()">
<table width="500" border="1" >
<thead>
<tr>
<td><center>
Contrato</center></td>
<td><center>
Actividad</center></td>
<td><center>
Horas</center></td>
</tr></thead>
<tbody id="tabla"></tbody>
</table>

<button onClick="mostrararray()">Mostrar Array</button>
</body>
</html>
no se si se adapta a tu codigo anterior, pero es para que veas el mecanismo.
Espero no haberte confundido aún mas.


saludos
__________________
by Capitán Buscapina
.

Última edición por Cap.Buscapina; 26/06/2006 a las 10:28
  #5 (permalink)  
Antiguo 26/06/2006, 10:11
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 2 meses
Puntos: 10
ehhhh

creo q si quede mas confundida, (no soy nada diestra con javascrip)

lo q quisiera es si sepuede una funcion java scrip q me tome el valor del input (html) y me lo asigne a un avariable en php o q me cree un arreglo con todos los valores q han sido modificados y los q no...

p.d: esta muy bueno lo q hicist--
__________________
.-._.-. [email protected]._.-.
  #6 (permalink)  
Antiguo 28/06/2006, 07:04
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 2 meses
Puntos: 10
ehhhh, holas de nuevo,

hice esta funcion q deberia recorrerme la tabla como si fuese una matriz, pero creo q se queda cono guindada con el bucle do, no se solo creo (nada q sea cierto), les muestro a ver si me ayudan un poquito..

modificar.js

Código PHP:
function cambiar()
{

fila document.getElementById("tabla");
filasfila.rows.length;
for (
j=0;j<10;j++) 
    for (
i=0;i<=filas;i++)
        {
        
cant=fila.rows[i].cells[j].childNodes[0].innerText;
        
document.write(cant);
}



Codigo completo..

Código PHP:
<html>
<head>
<title>Hoja de Tiempo Semanal</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script type="text/javascript">
function modificar() {
for (i=0; ele=document.fcalen.elements[i]; i++)
ele.disabled=false;
}

function cambiar()
{

fila = document.getElementById("tabla");
filas= fila.rows.length;
for (j=0;j<10;j++) 
    for (i=0;i<=filas;i++)
        {
        cant=fila.rows[i].cells[j].childNodes[0].innerText;
        document.write(cant);
}

}



</script>

</head>

<body onLoad="setDefaults1(document.fcalen.fecha_del, document.fcalen.fecha_al)">
<form name="fcalen" method="post" action="hoja_semanal2.php">
<table width="800" height="600" border="0">


  <tr>
    <td height="19" colspan="4" ><div align="center" class="style2">HOJA DE TIEMPO SEMANAL</div></td>
    <td width="103" rowspan="4"><img src="images/Logo Incostas Documentos.jpg" width="100" height="82"></td>
  </tr>
  <tr>
    <td height="20" colspan="4" >&nbsp;</td>
  </tr>

  <tr>
    <td width="163" height="9" ><div align="center" class="style1">C.I: 
        <?
//DB
Include("Conectarse1.php");
$conn=Conectarse1();

//Declaracion y optencion de vaiables
$cedula=$_POST['cedula'];
$fecha_del=$_POST['fecha_del'];
$fecha_al=$_POST['fecha_al'];

?>
    </div></td>
    <td width="217"><div align="center" class="style1">Nombre:</strong></div></td>
    <td width="158"><div align="left" class="style1">Del: </div></td>
    <td width="148" height="9"><div align="left" class="style1">Al:</div></td>
  </tr>
  <tr>
    <td height="10" ><div align="center">

      <input name="cedula" type="text" value="<? echo $cedula?>"> 
      </div></td>
    <td width="217"><div align="center">
      <input  name="nombre" type="text" value="<? echo $nombre; echo " "; echo $apellido?>">
    </div></td>
    <td width="158"><input type="text" name="fecha_del" value="<? echo $fecha_del?>"> </td>
    <td height="10"><input type="text" name="fecha_al" value="<? echo $fecha_al?>"> </td>
  </tr>
 <tr>
    <td height="29" colspan="5">&nbsp;</td>
 </tr> <tr>
    <td height="13" colspan="5"><div align="center" class="style3">HORAS TRABAJADAS </div></td>
  </tr>
 <tr>
   <td height="14" colspan="5">&nbsp;</td>
 </tr> 
 
  <tr>
    <td colspan="5" valign="top">


<table width="800" border="0">
 
    <tr>
        <td height="26" colspan="8"><div align="center">
          <?

//consulta a la db
$query "SELECT contrato, actividad, descripcion, SUM(CASE fecha WHEN '$fecha_del1' THEN horas ELSE 0 END) as lun, SUM(CASE fecha WHEN '$fecha_del2' THEN horas ELSE 0 END) as mar, SUM(CASE fecha WHEN '$fecha_del3' THEN horas ELSE 0 END) as mier, SUM(CASE fecha WHEN '$fecha_del4' THEN horas ELSE 0 END) as jue, SUM(CASE fecha WHEN '$fecha_del5' THEN horas ELSE 0 END) as vier, SUM(CASE fecha WHEN '$fecha_del6' THEN horas ELSE 0 END) as sab, SUM(CASE fecha WHEN '$fecha_del7' THEN horas ELSE 0 END) as dom FROM maestro WHERE cedula='$cedula' and fecha BETWEEN '$fecha_del' AND '$fecha_al' GROUP BY descripcion, actividad, contrato order by contrato, actividad, descripcion";

$result pg_Exec($conn,$query);
$filas=pg_num_rows($result);

if(
$row=pg_fetch_array($result))  

{

echo
"<TABLE width='800' BORDER=0 CELLPADDING=1 CELLSPACING=1 bordercolor='#003399'>";

echo
"  <tr><td colspan='2' width='250'><div align='center' class='style4'>
          CODIGOS
        </div></td>
        <td width='150' rowspan='2'><div align='center' class='style4'>DESCRIPCION DE ACTIVIDAD</div> </td>
        <td colspan='7' width='350'><div align='center' class='style4'>DIAS DE LA SEMANA</div> </td>
        <td width='45'><div align='center' class='style4'></div></td>
              </tr>
      <tr>
        <td width='100' height='29'><div align='center' class='style4'>Proy/Dpto</div></td>
        <td width='150'><div align='center' class='style4'>Actividad</div></td>
        <td width='45'><div align='center' class='style4'>LUN</div></td>
        <td width='45'><div align='center' class='style4'>MAR</div></td>
        <td width='45'><div align='center' class='style4'>MIER</div></td>
        <td width='45'><div align='center' class='style4'>JUE</div></td>
        <td width='45'><div align='center' class='style4'>VIE</div></td>
        <td width='45'><div align='center' class='style4'>SAB</div></td>
        <td width='45'><div align='center' class='style4'>DOM</div></td>
        <td width='45'><div align='center' class='style4'>Aprob</div></td></tr>"
;


 echo
"  </TABLE>";

echo
"<TABLE width='800' BORDER=0 CELLPADDING=1 CELLSPACING=1 bordercolor='#003399'>";
echo  
"<tbody id='tabla'>";
do
 {

 
printf("<tr><td><div align='center'><input type='text' name='contrato' value='%s' onChange='cambiar()' size='10' disabled></div></td>
            <td><div align='center'><input type='text' name='actividad' value='%s' onChange='cambiar()' size='10' disabled></div></td>
            <td><div align='center'><input type='text' name='descripcion' value='%s' onChange='cambiar()' size='15' disabled></div></td>
            <td><div align='center'><input type='text' name='lun' value='%d' size='2' onChange='cambiar()' disabled></div></td>
            <td><div align='center'><input type='text' name='mar' value='%d' size='2' onChange='cambiar()' disabled></div></td>
            <td><div align='center'><input type='text' name='mier' value='%d' size='2' onChange='cambiar()' disabled></div></td>
            <td><div align='center'><input type='text' name='jue' value='%d' size='2' onChange='cambiar()' disabled></div></td>
            <td><div align='center'><input type='text' name='vier' value='%d' size='2' onChange='cambiar()' disabled></div></td>
            <td><div align='center'><input type='text' name='sab' value='%d' size='2' onChange='cambiar()' disabled></div></td>
            <td><div align='center'><input type='text' name='dom' value='%d' size='2' onChange='cambiar()' disabled></div></td>
            <td><div align='center'><input type='checkbox' id='aprob' disabled></div></td>
</tr>"
,$row["contrato"],$row["actividad"], $row["descripcion"], $row["lun"], $row["mar"], $row["mier"], $row["jue"], $row["vier"], $row["sab"], $row["dom"],""); 
 }
 while(
$row=pg_fetch_array($result));
 echo 
"</tbody>";
 echo
"  </TABLE>";
?>



<input type="button" onClick="modificar()" value="modificar"  style="background-color:#003399;color:#ffffff;font-family:Verdana;font-weight:bold; background-color:#003399"> 
<input name="guardar" type="submit" value="Guardar" style="background-color:#003399;color:#ffffff;font-family:Verdana;font-weight:bold; background-color:#003399">

<?
 
}
 else 
{
echo 
"<div align='center'><h4 class='style1'>&iexcl; No se han registrado horas para esta semana !</h4></div>"
}

pg_close($conn);

 
?>
        </div>        
          
            </td>
        </tr>
      <tr>
        <td colspan="8">&nbsp;
</td>
        </tr>
      <tr>
        <td width="11" height="26">&nbsp;</td>
        <td width="11" height="26">&nbsp;</td>
        <td width="11" height="26">&nbsp;</td>
        <td width="110" height="26">&nbsp;</td>
        <td width="242" height="26"></td>
        <td width="177" height="26">  </td>
        <td width="1" height="26">&nbsp;</td>
        <td width="203" height="26">&nbsp;</td>
      </tr>
      <tr>
        <td height="26" colspan="8">&nbsp;</td>
      </tr>
      <tr>
        <td height="26" colspan="8"><div align="right"><a href="salir.php" class="style6">Salir</a></div></td>
      </tr>


    </table>

</td>
  </tr>
  <tr>
    <td colspan="5" valign="top">&nbsp;</td>
  </tr>
</table>
</form>
</body>
</html>
__________________
.-._.-. [email protected]._.-.
  #7 (permalink)  
Antiguo 28/06/2006, 14:11
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 2 meses
Puntos: 10
bueno muchas gracias a todos, logre hacer lo q queria con la siguiente funcion:

funcion:

Código PHP:
function cambiar()
{


fila document.getElementById("tabla");
filasfila.rows.length-1;

var 
varg=new Array (filas); 
var 
varg2=new Array (filas); 
var 
varg3=new Array (filas); 
var 
varg4=new Array (filas); 
var 
varg5=new Array (filas); 
var 
varg6=new Array (filas); 
var 
varg7=new Array (filas); 
var 
varg8=new Array (filas); 
var 
varg9=new Array (filas); 

for (
j=0;j<10;j++) 
    for (
i=0;i<=filas;i++)
        {
        if (
j==0)    
                
varg[i]=fila.rows[i].cells[j].childNodes[0].value;
        if (
j==1)        
                
varg2[i]=fila.rows[i].cells[j].childNodes[0].value;
        if (
j==2)        
                
varg3[i]=fila.rows[i].cells[j].childNodes[0].value;
        if (
j==3)        
                
varg4[i]=fila.rows[i].cells[j].childNodes[0].value;
        if (
j==4)        
                
varg5[i]=fila.rows[i].cells[j].childNodes[0].value;
        if (
j==5)        
                
varg6[i]=fila.rows[i].cells[j].childNodes[0].value;
        if (
j==6)        
                
varg7[i]=fila.rows[i].cells[j].childNodes[0].value;
        if (
j==7)
                
varg7[i]=fila.rows[i].cells[j].childNodes[0].value;
        if (
j==8)
                
varg8[i]=fila.rows[i].cells[j].childNodes[0].value;
        if (
j==9)
                
varg9[i]=fila.rows[i].cells[j].childNodes[0].value;
        
}


document.getElementById('contrato1').value varg;
document.getElementById('actividad1').value varg2;
document.getElementById('descripcion1').value varg3;
document.getElementById('lun1').value varg4;
document.getElementById('mar1').value varg5;
document.getElementById('mier1').value varg6;
document.getElementById('jue1').value varg7;
document.getElementById('vier1').value varg8;
document.getElementById('sab1').value varg9;



__________________
.-._.-. [email protected]._.-.
  #8 (permalink)  
Antiguo 28/06/2006, 23:58
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola Mirovita

Si no he entendido mal lo que necesitas es que a php le lleguen arrays con los valores de los campos por cada columna ¿no? ¿por qué no le indicas directamente que los campos que compartan el mismo nombre son un array en php?

Es decir, a los names de tus campos les agregas un par de corchetes []

<input type="text" name="contrato[]" />

De esa forma llegarán esos valores en un array de nombre contrato a php sin necesidad de usar javascript

Un saludo
  #9 (permalink)  
Antiguo 30/06/2006, 09:24
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 2 meses
Puntos: 10
holas,

como hago para que desde javascript le asigno un valor a una variable en php..

ejemplo uno suele hacer hacer esto: document.getElementById('xxx').value = yyy;

pero no se lo quiero asignar a un valor de un input o algo asi sino a una variable xxx en php..

me explico?
__________________
.-._.-. [email protected]._.-.
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 00:09.