Foros del Web » Programando para Internet » PHP »

problema con sesiones, while y mysql

Estas en el tema de problema con sesiones, while y mysql en el foro de PHP en Foros del Web. Hola Soy nueva en el foro y os mando un saludo jeje. Vereis, tengo un problema como el de muchos que han tenido pero que ...
  #1 (permalink)  
Antiguo 30/06/2011, 04:42
Avatar de larahot18  
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
problema con sesiones, while y mysql

Hola
Soy nueva en el foro y os mando un saludo jeje.
Vereis, tengo un problema como el de muchos que han tenido pero que no he llegado a solucionar.

Al utilizar sesiones con while siempre me da el valor del ultimo registro de mysql, y no se como hacer que tenga el valor de todos los datos.
Este es mi codigo

index.php

Código PHP:
Ver original
  1. <?php
  2. ?>
  3. <html>
  4. <head>
  5. <link rel="stylesheet" href="styles.css" type="text/css">
  6. </head>
  7. <body>
  8.  
  9. <?php
  10. $cn=mysql_connect("localhost","root","");
  11. mysql_select_db("monitor",$cn);
  12. $ord="select * from subirhyip";
  13. $query=mysql_query($ord,$cn);
  14. $row=mysql_fetch_array($query);
  15.  
  16. while($row)
  17.  
  18. {
  19. $_SESSION['id']=$row['id'];
  20. $_SESSION['site']=$row['site'];
  21. $_SESSION['url']=$row['url'];
  22. $_SESSION['inter']=$row['inter'];
  23. $_SESSION['min']=$row['min'];
  24. $_SESSION['max']=$row['mac'];
  25. $_SESSION['ref']=$row['ref'];
  26. $_SESSION['wit']=$row['wit'];
  27.  
  28. $id=$_SESSION['id'];
  29. $site=$_SESSION['site'];
  30. $url=$_SESSION['url'];
  31. $inter=$_SESSION['inter'];
  32. $min=$_SESSION['min'];
  33. $max=$_SESSION['max'];
  34. $ref=$_SESSION['ref'];
  35.  
  36. $wit=$_SESSION['id'];
  37. echo '<table class="todu" width="600" cellspacing="0">
  38. <tr>
  39.  
  40. <td width="200" align="left" class="upaying">
  41. <a href="http://'.$url.'">
  42. <font size="4">'.$site.'</font></a>
  43. </td>
  44.  
  45. <td align="center" width="200" class="upaying" >
  46. <img src="paying.png" height="100%">
  47. </td>
  48.  
  49. <td align="right" width="200" class="upaying">
  50. <a href="datos.php?id='.$site.'">View votes</a> |
  51. <a href="">Report Scam</a>
  52. </td>
  53. </tr>
  54. <tr>
  55.  
  56. <td valign="top" width="200" bgcolor="98FB98">
  57. Min: <b>'.$min.'</b><br>
  58. Max: <b>'.$max.'</b><br>
  59. </td>
  60.  
  61. <td valign="top" colspan="2" width="400" bgcolor="98FB98">
  62. Referral: <b>'.$ref.'</b><br>
  63. Whitdraw:<b>'.$wit.'</b><br>
  64. Added: <b>'.$adde.'</b>
  65. </td>
  66. </tr>
  67. <tr>
  68.  
  69. <td align="left" bgcolor="98FB98" class="plans" colspan="3">
  70. '.$inter.'
  71. </td>
  72. </tr>
  73. </table>';
  74. $row=mysql_fetch_array($query);
  75. }
  76. ?>
  77. </body>
  78. </html>

Hasta aqui todo bien, o eso parece. pero en la segunda pagina,
hyip.php?id="variable" me muestra correctamente la id en la url, pero no el resto de los datos personales de la empresa escogida.
Esta es la segunda pagina

hyip.php

Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3. ?>
  4. <html>
  5. <head>
  6. </head>
  7. <body>
  8. <?php
  9. $cn=mysql_connect("localhost","root","");
  10. mysql_select_db("monitor",$cn);
  11. $ord="select * from subirhyip where id='$id'";
  12. $query=mysql_query($ord,$cn);
  13. $row=mysql_fetch_array($query);
  14.  
  15. echo '<table width="70%" align="center"><tr><td valign="top">';
  16. echo "Sitio:".$row['site']."<br>";
  17. echo "<a href='".$row['url']."'>Ir a la web</a>";
  18. ?>
  19. </body>
  20. </html>

No entiendo porque me salen en todos los casos los mismos datos.

Entonces como e de hacerlo?
Tengo que hacer algo asi como $_SESSION['$variable'], osea meter una variable de $row entre los corchetes?
Tengo que poner las sesiones antes del while, despues, dentro o como lo hago?

Agradezco mucho vuestra ayuda.

Saludos
  #2 (permalink)  
Antiguo 30/06/2011, 04:48
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: problema con sesiones, while y mysql

Veamos

Código PHP:
    <?php
        session_start
();
    
?>
    <html>
    <head>
    </head>
    <body>
    <?php
    $cn
=mysql_connect("localhost","root","");
    
mysql_select_db("monitor",$cn);
    
$ord="select * from subirhyip where id='$id'";
    
$query=mysql_query($ord,$cn);
    
$row=mysql_fetch_array($query);
     
    echo 
'<table width="70%" align="center"><tr><td valign="top">';
    echo 
"Sitio:".$row['site']."<br>";
    echo 
"<a href='".$row['url']."'>Ir a la web</a>";
    
mysql_close($cn);
    
?>
    </body>
    </html>
En este código (hyip.php), haces esto:

Código PHP:
 $ord="select * from subirhyip where id='$id'"
.

Mi pregunta es... ¿Q es $id? ¿Morcillas? ¿Sobrasadas? ¿8? ¿20?. Es lo mismo que pensará php si no le has asignado un valor a la variable previamente.

Es decir, te faltaría algo así como
Código PHP:
 $id $_GET['id']; 
(antes de declarar $ord).

Creo q este es el problema que tienes!

Un saludo

)
PD: Tampoco entiendo el uso que haces de $_SESSION, pero bueno >_< (lo que dices de q siempre te da el ultimo valor de mysql, es pq sobreescribes, a cada row que haces, el valor de $_SESSION....)
  #3 (permalink)  
Antiguo 30/06/2011, 08:12
Avatar de larahot18  
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: problema con sesiones, while y mysql

gracias!!
voy a probar aver si me funciona
  #4 (permalink)  
Antiguo 30/06/2011, 08:25
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: problema con sesiones, while y mysql

Es bueno que te acostumbres desde un principio a tener la coneccion en un archivo aparte:

Código HTML:
Ver original
  1. <?php
  2. $cn=mysql_connect("localhost","root","");
  3. mysql_select_db("monitor",$cn);
  4. ?>

include("coneccion.php");

Así es reutilizable en todo el proyecto y ademas se modifica en un solo lugar a la hora de subir cambios al servidor (sin peligro de pisar los datos).

  #5 (permalink)  
Antiguo 30/06/2011, 08:34
Avatar de larahot18  
Fecha de Ingreso: junio-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: problema con sesiones, while y mysql

pues si funciona!!
a la perfeccion lo del $_get['id'] y el include("coneccion.php").

Gracias a los dos por ayudarme, me habeis salvado la vida XD

Saludos!!

Etiquetas: mysql, sesiones
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 09:47.