Foros del Web » Programando para Internet » PHP »

recorrer una cadena

Estas en el tema de recorrer una cadena en el foro de PHP en Foros del Web. Hola, disculpen.. Necesito ayuda con lo siguiente, lo coloco por aca ya que soy nueva usando l perfil de forosdelweb.. pero bueh.. En fin, la ...
  #1 (permalink)  
Antiguo 26/09/2013, 13:20
 
Fecha de Ingreso: septiembre-2013
Mensajes: 2
Antigüedad: 10 años, 6 meses
Puntos: 0
recorrer una cadena

Hola, disculpen..

Necesito ayuda con lo siguiente, lo coloco por aca ya que soy nueva usando l perfil de forosdelweb.. pero bueh..

En fin, la duda es:

Estoy tratando de, en el siguiente codigo:

////////////////////////////////////////////////////////////////////////////////////////////////////////////
<html>
<head>
<?php
$con=mysql_connect("servidor","usuario","contraseñ a");
mysql_select_db("base de datos", $con);

$sql="SELECT * FROM tabla_de_anos";
$res=mysql_query($sql);

while($ano=mysql_fetch_array($res))
{
$ano['ano_grado'];
}
?>
</head>
<body>
</body>
<?php
mysql_close();
?>
</html>
////////////////////////////////////////////////////////////////////////////////////////////////////////////

guardo la un arreglo que proviene de una base de datos en la variable $res como pueden ver, esto lo hago con php.

Ahora bien, en el siguiente codigo, el cual anexo al head luego del php que observaron:

////////////////////////////////////////////////////////////////////////////////////////////////////////////
<script type="text/javascript">
var anos = "<?php echo $res; ?>" ;
function funcionGraficadora()
{
var data = datosFuncionGraficadora([['Ano', 'Cantidad'],
[anos, cantidad],
]);
}
</script>
////////////////////////////////////////////////////////////////////////////////////////////////////////////

En este, guardo el arreglo $res de php (que es el query que hice de la base de datos) a una variable de javasript llamada "anos", la idea de esto, es usar el arreglo que viene de la base de datos para usarlo como dato en una grafica, este seria los datos de la parte horizontal de la grafica.

El problema esta en que no se como hacer para que el arreglo que viene de la base de datos, es decir los años que se han guardado alli, sean usados en el codigo javascript que pudieron ver, ya que debo mandar ese arreglo para que coloque los datos en el graficados, necesito ayudaaaa pliiiiis...

El codigo junto es este:

////////////////////////////////////////////////////////////////////////////////////////////////////////////
<html>
<head>
<?php
$con=mysql_connect("servidor","usuario","contraseñ a");
mysql_select_db("base de datos", $con);

$sql="SELECT * FROM tabla_de_anos";
$res=mysql_query($sql);

while($ano=mysql_fetch_array($res))
{
$ano['ano_grado'];
}
?>
<script type="text/javascript">
var anos = "<?php echo $res; ?>" ;
function funcionGraficadora()
{
var data = datosFuncionGraficadora([['Ano', 'Cantidad'],
[anos, cantidad],
]);
}
</script>
</head>
<body>
</body>
<?php
mysql_close();
?>
</html>
////////////////////////////////////////////////////////////////////////////////////////////////////////////

Gracias!
  #2 (permalink)  
Antiguo 26/09/2013, 14:35
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: recorrer una cadena

tienes muchos errores:

1 - en el primer ciclo de PHP, no estás haciendo nada:

Código PHP:
Ver original
  1. while($ano=mysql_fetch_array($res))
  2. {
  3. $ano['ano_grado']; //Aquí no asignas a nadie, no hace nada
  4. }

2 - al pasar datos de PHP a JS, debes de hacerlo en un formato que JS comprenda, JSON por ejemplo:

Código PHP:
Ver original
  1. var anos = "<?php echo json_encode($variable); ?>" ;

3 - $res es el resource_id de la consulta, por el cual NO lo puedes pasar a JS, se supone que en el primer ciclo lo construyas:

Código PHP:
Ver original
  1. $anios = array(); //declaro el array que voy a usar para pasarlo a JS con json_encode()
  2. while($ano=mysql_fetch_array($res))
  3. {
  4. $anios[] = $ano['ano_grado']; //lo asigno al arreglo años para recolectarlo
  5. }

Tu tema tiene más que ver con PHP que con JS, por ello reportaré tu tema para que sea movido al foro de PHP, bienvenido al foro y espero que consultes las políticas cuando tengas tiempo
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 26/09/2013, 22:51
 
Fecha de Ingreso: septiembre-2013
Mensajes: 2
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: recorrer una cadena

La verdad no entendí muy bien, de verdad lo lamento, es que soy primeriza en php y js de broma lo he tocado, el codigo que estoy trabajando es este:

////////////////////////////////////////////////////////////////
Código PHP:
<html>
<head>
<?php 
$con
=mysql_connect("localhost","root",""); 
mysql_select_db("bd"$con);

$rangoo1=$_POST['ano_grado1'];
$rangoo2=$_POST['ano_grado2'];

$sql="SELECT * FROM alumnoEgresados where ano_grado='".$rangoo1."' or ano_grado='".$rangoo2."'";
$res=mysql_query($sql); //lo guarda en una variable
$numeroRegistros=mysql_num_rows($res);     //cuenta la cantidad de filas que tiene el query        
 
$sql2="SELECT * FROM ano_grado";
$res2=mysql_query($sql2); 
?>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
    var numeroRegistrosjs = "<?php echo $numeroRegistros?>" ;
    var anos = "<?php echo $ano_grados?>" ;
    
    numeroRegistrosjs2 = parseFloat(numeroRegistrosjs);
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() 
      {            
        var data = google.visualization.arrayToDataTable([['A\u00F1o', 'Egresados'],
                                                     [anos, numeroRegistrosjs2]]);                
                
                var options = {
                              title: 'Estudiantes Egresados por A\u00F1o', titleTextStyle :{fontSize: 22},
                              vAxis: {title: 'Cantidad',  titleTextStyle: {color: 'blue',  fontSize: 20}},
                              hAxis: {title: 'A\u00F1o',  titleTextStyle: {color: 'blue',  fontSize: 20}}
                                };

                var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
                chart.draw(data, options);        
      }

</script>
</head>
<body>
    <div id="chart_div" style="width: 900px; height: 500px;"></div>
    <br>    
    <form action="pagina.php" method="post">                 
                <b><table>
                    <tr>
                        <td align="right"><b>Rango 1: </b><font color="blue"> </font></td> 
                        <td>
                            <select name="ano_grado1">
                            <option value="">  </option>
<?php while($ano_grado=mysql_fetch_array($res2)) //es el forech del query
        

?>                        
                            <option value="<?php echo $ano_grado['ano_grado'];?>"> <?php echo $ano_grado['ano_grado'];?> </option>                        
<?php
}
?>    
                            </select>
                        </td>
                    
                    
                    </tr>    
                    
                    <tr>
                        <td align="right"><b>Rango 2: </b><font color="blue"> </font></td> 
                        <td>
                            <select name="ano_grado2">
                            <option value="">  </option>
<?php while($ano_grado=mysql_fetch_array($res2)) //es el forech del query

?>                        
                            <option value="<?php echo $ano_grado['ano_grado'];?>"> <?php echo $ano_grado['ano_grado'];?> </option>                        
<?php
}
?>
                            </select>
                        </td>
                    </tr>
    
                    <tr>
                        <td> </td>
                        <td align="center"><br><input type="submit" value="Calcular" /></td>
                    </tr>                        
                    
                  </table>    
                  </form>

</body>
 <?php 
       mysql_close
(); 
?> 
</html>
///////////////////////////////////////////////////////////////////////////

El cual ya arroja la grafica pero no con valores, los rangos que son dados por el graficador de google que son dados por la siguientes lineas que ya se vieron arriba:

/////////////////////////////////////////////////////////////////////
Código PHP:
var data google.visualization.arrayToDataTable([['A\u00F1o''Egresados'],
                                                     [
anosnumeroRegistrosjs2]]); 
///////////////////////////////////////////////////////////////////////

Son los que deseo sacar de la base de datos, por medio del parametros año y numeroRegistrosjs2, que son los que no me dan el recorrido que deben dar, estos son valores que deben ser sacados de la base de datos, que estan alli..

Los años deben ir en la parte horizontal, todos los años que posean almacenados en la base de datos, y las cantidades de alumnos por ese año en el lado vertical que es numeroRegistrosjs2, pero ambos valores no los logro resolver, tal ver el de las cantidades sea sencillo para mi porque es un row de la base de datos, pero el otro es el que me esta trayendo problemas por ser una cadena.
  #4 (permalink)  
Antiguo 27/09/2013, 09:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: recorrer una cadena

tu problema está en que no comprendes el ámbito de PHP con respecto a JS.

JS o javascript, se ejecuta en el navegador Cliente, y PHP en el servidor, lo que quiere decir, que cuando realizas una petición HTTP, lo primero que se ejecuta, es todo el código PHP, luego PHP devuelve la respuesta en HTML que le llega al navegador, y es allí donde JS ejecuta:

navegador -> petición HTTP -> web Server -> PHP script -> respueta HTML(HTTP) -> navegador -> JS script

Así que tienes que estudiar acerca del modelo Cliente-servidor en aplicaciones WEB.

En fin, una vez comprendas el concepto (JS cliente/PHP servidor) sólo tienes que modificar el código.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
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 15:20.