Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mostrar campos de MySQL en PHP

Estas en el tema de Mostrar campos de MySQL en PHP en el foro de PHP en Foros del Web. Puede que sea la mayor tontería del mundo pero, ¿cómo se hace? Por ejemplo, tengo la variable php $caliBio y debe ser igual a un ...
  #1 (permalink)  
Antiguo 31/07/2015, 14:43
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Mostrar campos de MySQL en PHP

Puede que sea la mayor tontería del mundo pero, ¿cómo se hace? Por ejemplo, tengo la variable php $caliBio y debe ser igual a un campo de MySQL que se llama $caliBio. Muchas gracias.
  #2 (permalink)  
Antiguo 31/07/2015, 14:47
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Mostrar campos de MySQL en PHP

Otra pregunta: ¿Para asociar cada registro (cada uno tendrá un caliBio y más campos) a un alumno, valdría con hacerlo mediante el ID (y poder poner una nota a cada alumno), cómo se haría?
  #3 (permalink)  
Antiguo 31/07/2015, 15:05
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Mostrar campos de MySQL en PHP

bueno amigo lo que te puedo decir es que falta muuuuuuucha información en tu consulta, para empezar no la entendí, tendrías que mostrar tu código para ver que es lo que necesitas, no has dicho de donde sale la variable, de donde provienen sus datos y cooosas asi..
__________________
[email protected]
HITCEL
  #4 (permalink)  
Antiguo 31/07/2015, 15:14
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Mostrar campos de MySQL en PHP

A ver, tengo dos variables: $caliBio y $actBio . Quiero que esos dos campos reciban información de MySQL (campos caliBio y actBio)
  #5 (permalink)  
Antiguo 31/07/2015, 15:15
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Mostrar campos de MySQL en PHP

Además, hay un caliBio y un actBio por cada alumno, que quiero identificar mediante un ID y cambiar su valor en el mismo PHP mediante un select.
  #6 (permalink)  
Antiguo 31/07/2015, 15:15
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Mostrar campos de MySQL en PHP

El código inicial es:
Código PHP:
Ver original
  1. <?php
  2. $conn = mysql_connect('localhost', 'root', '')
  3.     or die('No se pudo conectar: ' . mysql_error());
  4. mysql_select_db('calificaciones') or die('No se pudo seleccionar la base de datos');
  5. $id = '1';
  6. $query = mysql_query ("SELECT * FROM calificaciones WHERE id = '$id'",$conn);
  7. $caliBio = '7';
  8. $actBio = '+';
  9. $obsBio = 'El alumno aprende adecuadamente.';
  10. $caliSoc = '4';
  11. $actSoc = 'MJR';
  12. $obsSoc = 'Deberá recuperarla en Septiembre.';
  13. ?>
  14. <html>
  15. <head>
  16. <title>Calificaciones: 3º ESO-A</title>
  17. <link href="css/css.css" rel="stylesheet"/>
  18. </head>
  19. <body>
  20. <div id="h1-div">
  21. <font id="h1-azul">Calificaciones</font>
  22. </div>
  23. <table width="98%" align="center" border="0" style="border-collapse: collapse;">
  24. <tr id="tr1-h">
  25. <td align="center" width="50%"><b>Materias</b></td>
  26. <td align="center" width="18%"><b>Calificación</b></td>
  27. <td align="center" width="12%"><b>Actitud</b></td>
  28. <td align="center" width="18%"><b>Observaciones</b></td>
  29. </tr>
  30. <tr id="tr1">
  31. <td align="center" width="50%">Biología y geología</td>
  32. <td align="center" width="18%">
  33. <?php
  34. if ($caliBio == '10'){
  35.     echo 'Sobresaliente';
  36. }elseif ($caliBio == '9'){
  37.     echo 'Sobresaliente';
  38. }elseif ($caliBio == '8'){
  39.     echo 'Notable';
  40. }elseif ($caliBio == '7'){
  41.     echo 'Notable';
  42. }elseif ($caliBio == '6'){
  43.     echo 'Bien';
  44. }elseif ($caliBio == '5'){
  45.     echo 'Suficiente';
  46. }else{
  47.     echo 'Insuficiente';
  48. }
  49. echo ' ';
  50. echo $caliBio;
  51. ?>
  52. </td>
  53. <td align="center" width="12%">
  54. <?php
  55. if ($actBio == '-'){
  56.     echo 'Negativa';
  57. }elseif ($actBio == "+"){
  58.     echo 'Positiva';
  59. }elseif ($actBio == 'PAS'){
  60.     echo 'Pasiva';
  61. }elseif ($actBio == 'MJR'){
  62.     echo 'Mejorable';
  63. }elseif ($actBio == 'N'){
  64.     echo 'Normal';
  65. }
  66. ?>
  67. </td>
  68. <td align="center" width="18%">
  69. <?php
  70. if (!$obsBio){
  71.     echo ' ';
  72. }else{
  73.     echo $obsBio;
  74. }
  75. ?>
  76. </td>
  77. </tr>
  78. <tr id="tr1">
  79. <td align="center" width="50%">Ciencias Sociales, geografía e historia</td>
  80. <td align="center" width="18%">
  81. <?php
  82. if ($caliSoc == '10'){
  83.     echo 'Sobresaliente';
  84. }elseif ($caliSoc == '9'){
  85.     echo 'Sobresaliente';
  86. }elseif ($caliSoc == '8'){
  87.     echo 'Notable';
  88. }elseif ($caliSoc == '7'){
  89.     echo 'Notable';
  90. }elseif ($caliSoc == '6'){
  91.     echo 'Bien';
  92. }elseif ($caliSoc == '5'){
  93.     echo 'Suficiente';
  94. }else{
  95.     echo 'Insuficiente';
  96. }
  97. echo ' ';
  98. echo $caliSoc;
  99. ?>
  100. </td>
  101. <td align="center" width="12%">
  102. <?php
  103. if ($actSoc == '-'){
  104.     echo 'Negativa';
  105. }elseif ($actSoc == "+"){
  106.     echo 'Positiva';
  107. }elseif ($actSoc == 'PAS'){
  108.     echo 'Pasiva';
  109. }elseif ($actSoc == 'MJR'){
  110.     echo 'Mejorable';
  111. }elseif ($actSoc == 'N'){
  112.     echo 'Normal';
  113. }
  114. ?>
  115. </td>
  116. <td align="center" width="18%">
  117. <?php
  118. if (!$obsSoc){
  119.     echo ' ';
  120. }else{
  121.     echo $obsSoc;
  122. }
  123. ?>
  124. </td>
  125. </tr>
  126. </table>
  127. </body>
  128. </html>

Las variables de las que hablaba las he definido manualmente de momento.
  #7 (permalink)  
Antiguo 31/07/2015, 16:48
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Mostrar campos de MySQL en PHP

Código PHP:
Ver original
  1. <?php
  2. $conn = mysql_connect('localhost', 'root', '')
  3.     or die('No se pudo conectar: ' . mysql_error());
  4. mysql_select_db('calificaciones') or die('No se pudo seleccionar la base de datos');
  5. $id = '1';
  6. $query = mysql_query ("SELECT * FROM calificaciones WHERE id = '$id'",$conn);
  7. $row_query = mysql_fetch_assoc($query);
  8.  
  9. $caliBio = $row_query['nombredelcampo'];//'7';
  10. $actBio = $row_query['nombredelcampo'];//'+';
  11. $obsBio = $row_query['nombredelcampo'];//'El alumno aprende adecuadamente.';
  12. $caliSoc = $row_query['nombredelcampo'];//'4';
  13. $actSoc = $row_query['nombredelcampo'];//'MJR';
  14. $obsSoc = $row_query['nombredelcampo'];//'Deberá recuperarla en Septiembre.';
  15. ?>
__________________
[email protected]
HITCEL
  #8 (permalink)  
Antiguo 31/07/2015, 17:02
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Mostrar campos de MySQL en PHP

Estupendo, muchas gracias xfxstudios. Una pregunta: ¿cómo puedo crear un SELECT que contenga todos los alumnos (listados en MySQL, un registro para cada uno) y que para cada uno me muestre sus calificaciones? Gracias.
  #9 (permalink)  
Antiguo 31/07/2015, 17:11
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Mostrar campos de MySQL en PHP

algo asi seria el select, para lo otro tendrias que indicarme como tienes estructurada tus tablas y como relacionas los alumnos con sus calificaciones:
Código PHP:
Ver original
  1. <?php
  2. $conn = mysql_connect('localhost', 'root', '')
  3.     or die('No se pudo conectar: ' . mysql_error());
  4. mysql_select_db('calificaciones') or die('No se pudo seleccionar la base de datos');
  5. $id = '1';
  6. $query = mysql_query ("SELECT * FROM alumnos WHERE id = '$id'",$conn);
  7. $total = mysql_num_rows($query);
  8. if($total >=1){
  9.    
  10.     echo "<select name='alumno'>";
  11.     echo "<option selected>Seleccione</option>";
  12.    
  13.         while($row = mysql_fetch_array($query));
  14.             {
  15.                 echo "<option value='".$row['alumno']."'>".$row['alumno']."</option>";
  16.             }
  17.             echo "</select>";
  18. } else {
  19.     echo "No hay registros que mostrar";
  20. }
  21. ?>
__________________
[email protected]
HITCEL
  #10 (permalink)  
Antiguo 31/07/2015, 17:19
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Mostrar campos de MySQL en PHP

Una sola tabla tiene los campos:

- ID: El número de lista del alumno. Lo uso también para su identificación.
- Name: Escribo su nombre completo.
- caliBio.
... con todos los campos de antes.
  #11 (permalink)  
Antiguo 31/07/2015, 17:31
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Mostrar campos de MySQL en PHP

Y, por cierto, ¿cómo puedo hacer que se quede seleccionado el último valor señalado (es decir, el valor que se está viendo en pantalla?
  #12 (permalink)  
Antiguo 31/07/2015, 17:41
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Mostrar campos de MySQL en PHP

seria algo como asi, revisalo a ver y adaptalo en caso de que lo necesites:
Código PHP:
Ver original
  1. <?php
  2. $conn = mysql_connect('localhost', 'root', '')
  3.     or die('No se pudo conectar: ' . mysql_error());
  4. mysql_select_db('calificaciones') or die('No se pudo seleccionar la base de datos');
  5. $id = '1';
  6. $query = mysql_query ("SELECT * FROM calificaciones WHERE id = '$id'",$conn);
  7. $total = mysqli_num_rows($query);
  8. if($total >=1){
  9.    
  10.     echo "<table width='100%'>";
  11.     echo "<tr><th>ID</th><th>Nombre</th><th>CalBio</th><th>ActBio</th><th>obsBio</th><th>calSoc</th><th>actSoc</th><th>obsSoc</th></tr>";
  12.    
  13.         while($row = mysql_fetch_array($query));
  14.         //calBio
  15. if ($row['caliBio'] == '10'){
  16.     $calbi = 'Sobresaliente';
  17. }elseif ($row['caliBio'] == '9'){
  18.     $calbi = 'Sobresaliente';
  19. }elseif ($row['caliBio'] == '8'){
  20.     $calbi = 'Notable';
  21. }elseif ($row['caliBio'] == '7'){
  22.     $calbi = 'Notable';
  23. }elseif ($row['caliBio'] == '6'){
  24.     $calbi = 'Bien';
  25. }elseif ($row['caliBio'] == '5'){
  26.     $calbi = 'Suficiente';
  27. }else{
  28.     $calbi = 'Insuficiente';
  29. }
  30.  
  31. //acbio
  32. if ($row['actBio'] == '-'){
  33.     $acvi = 'Negativa';
  34. }elseif ($row['actBio'] == "+"){
  35.     $acvi = 'Positiva';
  36. }elseif ($row['actBio'] == 'PAS'){
  37.     $acvi = 'Pasiva';
  38. }elseif ($row['actBio'] == 'MJR'){
  39.     $acvi = 'Mejorable';
  40. }elseif ($row['actBio'] == 'N'){
  41.     $acvi = 'Normal';
  42. }
  43.    
  44. //caliSoc
  45. if ($row['caliSoc'] == '10'){
  46.     $cali = 'Sobresaliente';
  47. }elseif ($row['caliSoc'] == '9'){
  48.     $cali = 'Sobresaliente';
  49. }elseif ($row['caliSoc'] == '8'){
  50.     $cali = 'Notable';
  51. }elseif ($row['caliSoc'] == '7'){
  52.     $cali = 'Notable';
  53. }elseif ($row['caliSoc'] == '6'){
  54.     $cali = 'Bien';
  55. }elseif ($row['caliSoc'] == '5'){
  56.     $cali = 'Suficiente';
  57. }else{
  58.     $cali = 'Insuficiente';
  59. }
  60.    
  61. //acSoc
  62. if ($row['actSoc'] == '-'){
  63.     $ac = 'Negativa';
  64. }elseif ($row['actSoc'] == "+"){
  65.     $ac = 'Positiva';
  66. }elseif ($row['actSoc'] == 'PAS'){
  67.     $ac = 'Pasiva';
  68. }elseif ($row['actSoc'] == 'MJR'){
  69.     $ac = 'Mejorable';
  70. }elseif ($row['actSoc'] == 'N'){
  71.     $ac = 'Normal';
  72. }
  73.             {
  74.                 echo "<tr>
  75.                     <td>".$row['id']."</td>
  76.                     <td>".$row['nombre']."</td>
  77.                     <td>".$calbi."</td>
  78.                     <td>".$acvi."</td>
  79.                     <td>".$row['obsBio']."</td>
  80.                     <td>".$cali."</td>
  81.                     <td>".$ac."</td>
  82.                     <td>".$row['obsSoc']."</td>
  83.                     </tr>";
  84.             }
  85.             echo "</table>";
  86. } else {
  87.     echo "No hay registros que mostrar";
  88. }
  89.  
  90. ?>
__________________
[email protected]
HITCEL
  #13 (permalink)  
Antiguo 31/07/2015, 17:52
 
Fecha de Ingreso: diciembre-2014
Ubicación: Madrid
Mensajes: 274
Antigüedad: 9 años, 4 meses
Puntos: 5
Respuesta: Mostrar campos de MySQL en PHP

Muchas gracias por todo.
  #14 (permalink)  
Antiguo 31/07/2015, 20:38
 
Fecha de Ingreso: julio-2015
Mensajes: 67
Antigüedad: 8 años, 9 meses
Puntos: 5
Respuesta: Mostrar campos de MySQL en PHP

¿En este caso no sería interesante el uso del switch?

http://php.net/manual/es/control-structures.switch.php

Ahorraría el uso de elseif.

Código PHP:
Ver original
  1. if ($row['caliBio'] == '10'){
  2.     $calbi = 'Sobresaliente';
  3. }elseif ($row['caliBio'] == '9'){
  4.     $calbi = 'Sobresaliente';
  5. }elseif ($row['caliBio'] == '8'){
  6.     $calbi = 'Notable';
  7. }elseif ($row['caliBio'] == '7'){
  8.     $calbi = 'Notable';
  9. }elseif ($row['caliBio'] == '6'){
  10.     $calbi = 'Bien';
  11. }elseif ($row['caliBio'] == '5'){
  12.     $calbi = 'Suficiente';
  13. }else{
  14.     $calbi = 'Insuficiente';
  15. }
  #15 (permalink)  
Antiguo 01/08/2015, 05:45
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Mostrar campos de MySQL en PHP

Cita:
Iniciado por xPHPerox Ver Mensaje
¿En este caso no sería interesante el uso del switch?

http://php.net/manual/es/control-structures.switch.php

Ahorraría el uso de elseif.

Código PHP:
Ver original
  1. if ($row['caliBio'] == '10'){
  2.     $calbi = 'Sobresaliente';
  3. }elseif ($row['caliBio'] == '9'){
  4.     $calbi = 'Sobresaliente';
  5. }elseif ($row['caliBio'] == '8'){
  6.     $calbi = 'Notable';
  7. }elseif ($row['caliBio'] == '7'){
  8.     $calbi = 'Notable';
  9. }elseif ($row['caliBio'] == '6'){
  10.     $calbi = 'Bien';
  11. }elseif ($row['caliBio'] == '5'){
  12.     $calbi = 'Suficiente';
  13. }else{
  14.     $calbi = 'Insuficiente';
  15. }
si tambien le serviria, qudaria algo como asi:
Código PHP:
Ver original
  1. <?php
  2. switch ($row['caliBio']) {
  3.     case 10:
  4.         $cabi = "Sobresaliente";
  5.         break;
  6.     case 9:
  7.         $cabi = "Sobresaliente";
  8.         break;
  9.     case 8:
  10.         $cabi = "Notable";
  11.         break;
  12.     case 7:
  13.         $cabi = "Notable";
  14.         break;
  15.     case 6:
  16.         $cabi = "Bien";
  17.         break;
  18.     case 5:
  19.         $cabi = "Suficiente";
  20.         break;
  21.     default:
  22.        $cabi = "Insuficiente";
  23. }
  24. ?>
__________________
[email protected]
HITCEL

Etiquetas: campos, mysql, variable
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 08:56.