Regresar a la página www.ComoCrearTuWeb.com
Página 1 de 5 12345 ÚltimoÚltimo
Resultados 1 al 15 de 68

Tema: Tomar datos de Base de datos y mostrarlos en la web [Ayuda]

  1. #1
    Me va gustando esto... Habitante
    Fecha de Ingreso
    09 sep, 12
    Mensajes
    130
    Poder de Reputación
    11

    Tomar datos de Base de datos y mostrarlos en la web [Ayuda]

    Desde la web, logro meter los datos en la table de la base de datos

    mysql_query ("INSERT INTO `database`.`CLASIFICACION` (`INICIALES`,`SCORE`) VALUES ('$_POST[INICIALES]','$_POST[SCORE]') ");
    ?>

    Pero tras meter varios datos, quiero poder verlos en la web. Estoy bloqueado, lo único que tengo es esto y lógicamente no me sale.

    $resultado = mysql_query("SELECT * FROM CLASIFICACION") or die(mysql_error());

    echo $resultado;
    Última edición por ZID; 06/10/2012 a las 17:27

  2. #2
    Me va gustando esto... Habitante
    Fecha de Ingreso
    09 sep, 12
    Mensajes
    130
    Poder de Reputación
    11
    He probado con esta otra que he visto por el foro, pero tampoco:

    <body>

    <table>
    <tr>
    <td>Id</td>
    <td>Iniciales</td>
    <td>Score</td>
    </tr>

    <?php
    include "host.php";
    mysql_connect($host, $db_user, $db_pass) or die (mysql_error());

    $result = mysql_db_query($database, "SELECT * FROM CLASIFICACION") or die (mysql_error());

    if (mysql_num_rows($result)) {
    echo "Enlaces del menu:</p>";
    while ($qry = mysql_fetch_array($result)) {
    echo "<tr><td>$qry[id]</td><td>$qry[iniciales]</td><td>$qry[score]</td></tr>"; }
    }
    ?>
    </table>

    </body>

    Lo unico que consigo que salga en la web es esto:

    Enlaces del menu:
    Id Iniciales Score

  3. #3
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    24
    Hola:

    Según yo, esta bien... Intenta esto:

    Código:
    <body>
    
    <table>
    <tr>
    <td>Id</td>
    <td>Iniciales</td>
    <td>Score</td>
    </tr>
    
    <?php
    include "host.php"; 
    mysql_connect($host, $db_user, $db_pass) or die (mysql_error()); 
    
    $result = mysql_db_query($database, "SELECT * FROM CLASIFICACION") or die (mysql_error()); 
    
    if (mysql_num_rows($result)) { 
    echo "Enlaces del menu:</p>"; 
    while ($qry = mysql_fetch_array($result)) {
      print_r( $qry );
    //echo "<tr><td>$qry[id]</td><td>$qry[iniciales]</td><td>$qry[score]</td></tr>"; } 
    }
    ?>
    </table>
    
    </body>
    y dime si aparece lo mismo.

  4. #4
    Me va gustando esto... Habitante
    Fecha de Ingreso
    09 sep, 12
    Mensajes
    130
    Poder de Reputación
    11
    Gracias ya hace tiempo que lo conseguí. Aprovecho para preguntar lo que intento ahora.

    Quiero hacer una base de datos de puntuaciones, de forma que ordene los datos de mayor a menor puntuación, algo similar a las clasificaciones deportivas.

    El caso es que me gustaría saber si existe la forma de crear un campo que asigne el 1º a la puntuación más alta en ese momento, el 2º a la segunda, etc... y que si entra una nueva puntuación más alta que las demás, el 1º pase a esa puntuación y las demás bajen una puntuación.

    Lo quiero poder mostrar en una web con PHP.

    Gracias.


    ---------------------

    Por otro lado, el curso de CCTW habla de MySQL pero resulta que ahora ya no se usa, o al menos se desaconseja su uso. Por lo que veo llego tarde, pero no conozco los cambios respecto al otro. ¿Me podrías ayudar? Basicamente te muestro lo que tengo hecho en MySQL y si no te importa, me copias debajo como quedaría para MYSQLi. Si ves que falta alguna informacion pidemela y la pongo también

    Para subir datos desde la web a la base de datos uso esto:

    <?
    mysql_query ("INTO/REPLACE `database`.`TABLA` (`Nombre`,`Apellidos`) VALUES ('$_POST[Nombre]','$_POST[Apellidos]') ");
    ?>

    Para consultar los datos de la tabla y pasarlos a la web uso esto:

    <?
    $tabla="TABLA";
    $result = mysql_query("select * from $tabla order by NOMBRE DESC");

    while($fila = mysql_fetch_row($result)){
    echo "<tr><td>$fila[1]</td><td>$fila[2]</td></tr>";}

    mysql_close();

    ?>
    Última edición por ZID; 07/10/2012 a las 18:45

  5. #5
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    24
    Quiero hacer una base de datos de puntuaciones, de forma que ordene los datos de mayor a menor puntuación, algo similar a las clasificaciones deportivas...
    Eso sería fácil. Si ya tienes la base de datos lista con algo similar a:

    Código:
    CREATE TABLE puntuaciones (
      puntuacion_id INT(11) NOT NULL UNSIGNED AUTO_INCREMENT,
      # Otras columnas
      puntuacion FLOAT # En realidad no recuerdo como se definen los float :P. Puede ser otro tipo de dato.
    );
    tendrías que extraer los datos así:

    Código PHP:
    $con mysql_connect(...);
    mysql_select_db(...);
    $query "SELECT * FROM puntuaciones ORDER BY puntuacion ASC"// Le dices que seleccione todo de Mayor a Menor (ASC).
    $result mysql_query$query );

    // Aquí muestras los resultados si es que hubieron.
    $cardinal 1;
    while( 
    $fila mysql_fetch_row$result ) ) {
      echo 
    "<tr><td>$fila[puntuacion_id]</td><td>$cardinalº</td></tr>";
      
    $cardinal++; // Aumentas el valor para que el siguienta sea 2º, 3º, etc.

    Por otro lado, el curso de CCTW habla de MySQL pero resulta que ahora ya no se usa, o al menos se desaconseja su uso. Por lo que veo llego tarde, pero no conozco los cambios respecto al otro. ¿Me podrías ayudar? Basicamente te muestro lo que tengo hecho en MySQL y si no te importa, me copias debajo como quedaría para MYSQLi. Si ves que falta alguna informacion pidemela y la pongo también
    Esto es algo un poco más complejo si es que no sabes PHP orientado a objetos. Lo que harías sería esto:

    MySQLi
    Código PHP:
    <?php
      
    // Todos los parámetros que se pasan son opcionales, pero te aconsejo que le pases el host, usuario, contraseña y base de datos,
      // así no tendrás que especificarlos nuevamente.
      
    $mysqli = new mysqli'localhost''root''contraseña''base_datos''3306''socket' );
      if( 
    $mysqli->connect_errno ) {
        echo 
    'No se pudo conectar a la base de datos: ' $mysqli->connect_error;
        exit;
      }

      
    $query 'SELECT * FROM ...';
      if( 
    $result $mysqli->query$query ) ) {
        
    // $result->fetch_object() devolverá un objeto, así: $row = $result->fetch_object; $row->Nombre; $row->Apellidos (cada propiedad será un nombre de columna)
        // $result->fetch_assoc() devolverá un array asociativo (mapa clave valor): $row['Nombre'], $row['Apellidos']
        // $result->fetch_row() devuelve un array numerado: $row[0] (sería el nombre o la primera columna), $row[1], etc.
        
    while( $row $result->fetch_object() ) {
          echo 
    "<tr><td>$row->Nombre</td><td>$row->Apellidos</td></tr>";
        }
      }

      
    $mysqli->close();
    Para insertar es lo mismo, solo que con la consulta INSERT|UPDATE|DELETE y tendrás que preguntar cuantas filas fueron modificadas para saber si tuvo éxito o no.

    Saludos.

  6. #6
    Me va gustando esto... Habitante
    Fecha de Ingreso
    09 sep, 12
    Mensajes
    130
    Poder de Reputación
    11
    CAMPO RANKING
    Gracias, estoy intentando lo de hacer el ranking y me da error el insertar el código que me comentas. Estoy insertando esto:

    CREATE TABLE PUNTUACIONES (puntuacion_id INT(11) NOT NULL UNSIGNED AUTO_INCREMENT,);

    Y me da este error:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNSIGNED AUTO_INCREMENT,)' at line 1


    De todas formas, si lo he entendido bien, lo que indica tu codigo es crear un campo INT que vaya autoincrementandose con cada nuevo valor. Pero luego como sabe la tabla que celda será el 1º y cual la 2º? Porque no siempre cada nueva puntuación insertada será mayor que las demás, igual alguién inserta una puntuación y entra en 4º posición por ejemplo.

    MYSQLi
    Respecto a MySQLi, entiendo que tengo que cambiar todas las páginas para que no me salga error, ¿no? Vamos que si todo lo hago en MySQL y hago una consulta con los comandos de MySQLi, me dará error. Voy a repasar lo que has puesto a ver si soy capaz de pasar todo el codigo a MySQLi sin muchos problemas.


    ESTILOS DE LA TABLA
    Una ultima cosa, a la hora de hacer tablas, uso lo que se explica en el curso, pero solo se explica como asignar un color a las tablas. Yo quisiera que un campo tuviera un color y otro campo otro, y aparte poder cambiar el color y tamaño del texto de la tabla. ¿Como puedo lograrlo en PHP?

    Mi idea sería hacer algo más o menos así:

    <table bgcolor="#000000">
    <tr><td bgcolor="#009900" align="right">
    <font color="#FFFF00">Green Bay</font></td>
    <td><font color="#FFFFFF">13</font></td></tr>
    <tr><td bgcolor="#0000FF" align="right">
    <font color="#DDDDDD" >New England</font></td>
    <td><font color="#FFFFFF">27</font></td>
    </tr>
    </table>
    EDITO: He logrado cambiar tipo y color de letra de cada campo, lo cual es genial, y tambien color de celdas, pero esto ultimo afecta a todas las celdas por igual, no a un campo solo.

    Con esto creo la tabla
    $result = mysql_query("select * from $tabla order by PUNTOS DESC");
    echo "<table width=\"92%\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"celeste\" style=\"border:10px ridge blue\">";
    Y con esto pongo color al texto de cada campo lo cual es fenomenal pues mas de lo que yo quería. También puedo dar color a las celdas si asigno un color a una celda lo toman todas las de la tabla. Me faltarian las siguientes cosas:

    Dar un color distinto a las celdas de cada columna.
    Dar un color a todas las celdas de una misma fila
    Cambiar tipo de letra de todas las celdas de una misma fila

    Esto me permitiria poder dar relevancia al primero de la clasificacion, poniendole otro color a su texto y a las celdas de la primera fila

    echo "<tr width=\"140\" bgcolor=\"#FFFFFF\"><td width=\"40\"><b><font face=\"Arial\" size=\"3\" color=\"#FF0000\">$registro[1]</font></b></td><td width=\"40\"><b><font face=\"Arial\" size=\"5\" color=\"#AAA000\">$registro[2]</td><td>$registro[3]</td><td>$registro[4]</td></tr>";

    Creo que estoy siendo super pesado eh! Y Jorgens sin aparecer!
    Última edición por ZID; 08/10/2012 a las 13:34

  7. #7
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    24
    Y me da este error:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNSIGNED AUTO_INCREMENT,)' at line 1
    Eso es porque te sobra una coma:

    Código:
    CREATE TABLE PUNTUACIONES (puntuacion_id INT(11) NOT NULL UNSIGNED AUTO_INCREMENT,);
    Pero luego como sabe la tabla que celda será el 1º y cual la 2º?
    La tabla no hará el trabajo por si sola, pues de hecho, lo que quieres tiene que ver con la presentación nada más y por ende se lograría a través de la lógica de los scripts al momento de extraer datos. Con la tabla que intentas crear no lo podrás hacer, porque existe un único valor y no habría forma de saberlo, por eso necesitas otra columna que lleve la puntuación:

    puntuaciones (puntuación máxima: 15)
    puntuacion_id | puntuacion
    1 | 5
    2 | 3
    3 | 10
    4 | 15
    5 | 8

    Y así sucesivamente. En este caso no se esta puntuando nada porque no hay una relación con ningún otro dato.

    Suponiendo que quisieras puntuar una categoría, entonces necesitarías 2 tablas:

    Código:
    CREATE TABLE categoria (
      categoria_id INT(11) NOT NULL UNSIGNED AUTO_INCREMENT PRIMARY KEY,
      categoria_nombre VARCHAR(200) NOT NULL
    ) ENGINE=InnoDB CHARSET=utf8;
    
    CREATE TABLE puntuacion (
      puntuacion_id INT(11) NOT NULL UNSIGNED AUTO_INCREMENT PRIMARY KEY,
      puntos INT(2) NOT NULL,
      categoria_id INT(11) NOT NULL UNSIGNED
    ) ENGINE=InnoDB CHARSET=utf8;
    
    ALTER TABLE puntuacion ADD CONSTRAINT fk_puntuacion_ref_categoria FOREIGN KEY (categoria_id) REFERENCES categoria (categoria_id) ON DELETE CASCADE ON UPDATE CASCADE;
    Esa sería una estructura para las tablas. Luego, para insertar los datos en la categoría:

    Código:
    INSERT INTO categoria (categoria_nombre) VALUES ('categoria1'); # y así sucesivamente
    Ahora, para insertar los datos en la tabla puntuacion, primero necesitas saber el ID de la categoría que quieres puntuar:

    Código:
    SELECT categoria_id FROM categoria WHERE categoria_nombre = 'categoria1'; # devolverá el ID de la misma
    INSERT INTO puntuacion (puntos, categoria_id) VALUES (5, id_devuelto_consulta_anterior);
    Para leer los datos cuando hay tablas cruzadas se utiliza JOIN. Join sirve para entrelazar los datos y, dependiendo del tipo de Join, se devolverán los datos repetidos o no:

    Código:
    SELECT * FROM puntuacion
    LEFT JOIN categoria
    USING (categoria_id);
    Para seleccionar la puntuación de una categoría específica es similar a lo anterior, solo tendrías que añadir un WHERE:

    Código:
    SELECT * FROM puntuacion
    LEFT JOIN categoria
    USING (categoria_id)
    WHERE cateogira_nombre = 'categoria_tanto';
    Y por último, para ordenar las categorías de forma ascendente (o descendente; como quieras :P):

    Código:
    SELECT * FROM puntuacion
    LEFT JOIN categoria
    USING (categoria_id)
    ORDER BY puntos ASC|DESC; # Elige ASC para ascendente o DESC para lo contrario y elimina el |
    Respecto a MySQLi, entiendo que tengo que cambiar todas las páginas para que no me salga error, ¿no? Vamos que si todo lo hago en MySQL y hago una consulta con los comandos de MySQLi, me dará error. Voy a repasar lo que has puesto a ver si soy capaz de pasar todo el codigo a MySQLi sin muchos problemas.
    Si no había error antes, entonces debería funcionar igual, pero como dice el manual de PHP, la extensión MySQL esta desaconsejada.

    Una ultima cosa, a la hora de hacer tablas, uso lo que se explica en el curso, pero solo se explica como asignar un color a las tablas. Yo quisiera que un campo tuviera un color y otro campo otro, y aparte poder cambiar el color y tamaño del texto de la tabla. ¿Como puedo lograrlo en PHP?
    Lo que siempre se recomienda es no poner código CSS (<div style=""></div> o <font></font> ni <color></color>) o estilos directamente en HTML porque después es MUY difícil de modificar. Vamos por pasos:

    Yo quisiera que un campo tuviera un color y otro campo otro
    Eso es fácil de hacer con CSS (si es que quieres modificar las filas, no las columnas). Dale una clase a tu(s) tablas:

    <table class='mi-tabla'></table>

    Luego, en una hoja de estilos, escribe esto:

    Código HTML:
    table.mi-tabla tr:nth-child(odd) { /* tr:nth-child(odd) es para las tablas impares (odd) */
      background-color: #fff; /* color de fondo blanco */
      color: lightSkyBlue; /* Color de letra celeste (algún tono de celeste :P) */
    }
    
    table.mi-tabla tr:nth-child(even) { /* esto es para las tablas pares (even)
      /* tus estilos */
    }
    Para cambiar el tamaño de la letra es simple. Utilizando la misma clase anterior:

    Código HTML:
    table.mi-tabla {
      font-size: 1.3em; /* tamaño de letra; en lugar de em (tamaño relativo a la letra 'm') puede ser px (pixeles), % (porcentaje), ex (tamaño relativo a la letra 'x'), pt (puntos o points, que se utilizan más que nada en las plantillas de impresión) o cm (centímetros) */
    }
    Eso es todo creo :P.

    Saludos.

  8. #8
    Me va gustando esto... Habitante
    Fecha de Ingreso
    09 sep, 12
    Mensajes
    130
    Poder de Reputación
    11
    Muchas gracias! Acabo de llegar y me pongo manos a la obra ahora mismo con todo lo que me has escrito. Te iré comentando a lo largo de la tarde como me va.

    Mientras me voy poniendo con todo, te hago una pregunta sobre la posibilidad de asignar un ranking a las puntuaciones y una puntuación a cada posición en la tabla... ¿se podria hacer directamente desde PHP sin necesidad de crear ningun campo en la tabla? Me refiero que a de alguna manera con PHP pueda indicar que la celda que se ponga en primera posicion reciba el numero 1, la siguiente el 2, etc... y luego pasarlo todo a otra tabla.

    ¿Es eso posible?

    Me pongo con lo que me has dicho!

  9. #9
    Me va gustando esto... Habitante
    Fecha de Ingreso
    09 sep, 12
    Mensajes
    130
    Poder de Reputación
    11
    Bueno, lo primero que puedo decir es que todos los codigos de MYSQL me estan dando error. Puedo hacer lo que dices de forma gráfica, pero si lo intento insertando código siempre me da error. Estoy usando el el PHPMyAdmin de CCTW.

    Lo estoy haciendo de forma gráfica y por ahora las tablas se están creando. Me surge una duda, ENGINE=InnoDB que quiere decir? Que lo diferencia del resto de Engines?
    Última edición por ZID; 08/10/2012 a las 18:45

  10. #10
    Me va gustando esto... Habitante
    Fecha de Ingreso
    09 sep, 12
    Mensajes
    130
    Poder de Reputación
    11
    Bien, tengo las tablas que mas has dicho creadas, los campos, todo creado.

    Llego hasta este punto de tu explicación:

    SELECT categoria_id FROM categoria WHERE categoria_nombre = 'categoria1';
    INSERT INTO puntuacion (puntos, categoria_id) VALUES (5, id_devuelto_consulta_anterior);
    Al ejecutar en la base de datos esto:

    SELECT categoria_id FROM categoria WHERE categoria_nombre = 'categoria1';

    Me da como resultado '1' de la Categoria_id

    Excelente, pero... no se como seguir, o no lo entiendo, teniendo en cuenta que las puntuaciones las introduce la gente a través de un formulario en la web, esta línea de código:

    INSERT INTO puntuacion (puntos, categoria_id) VALUES (5, id_devuelto_consulta_anterior);

    ¿Iria en el formulario?


    Mientras me respondes me pongo con los estilos de la tabla, a ver si eso lo entiendo mejor!
    Última edición por ZID; 08/10/2012 a las 19:22

  11. #11
    Me va gustando esto... Habitante
    Fecha de Ingreso
    09 sep, 12
    Mensajes
    130
    Poder de Reputación
    11
    Bien, probado lo de las tablas. Vuelvo a fallar, y seguro que es en una tonteria.

    Escribo:

    <table class='mitabla'></table>

    fuera del codigo PHP y no tiene efecto el CSS
    Si lo escribo dentro del codigo PHP me da error

    Entiendo que tengo que escribirlo fuera del codigo PHP y que dentro del codigo PHP debo de poner en algun sitio algo que haga referencia a "mitabla", ¿Voy bien?

    Es quizás --> echo "<mitabla>";

    ¿?

    Lo dudo porque al hacerlo he formado un estropicio, pero imagino que ando cerca... creo.
    Última edición por ZID; 08/10/2012 a las 19:35

  12. #12
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    24
    Me surge una duda, ENGINE=InnoDB que quiere decir? Que lo diferencia del resto de Engines?
    Los motores funcionan de distinta forma dependiendo para lo que se les use. InnoDB es el único motor de MySQL que reconoce las claves foráneas o extranjeras (FOREIGN KEY), pues el resto de los motores simplemente las ignorarán. De manera muy sencilla, las claves (primary key y foreign key) sirven para relacionar las distintas tablas en el modelo relacional. Idealmente deberías aprender a manejar bien una base de datos antes de utilizarla (los administradores de base de datos ganan bastante dinero, así que espcialízate si te interesa).

    Mientras me voy poniendo con todo, te hago una pregunta sobre la posibilidad de asignar un ranking a las puntuaciones y una puntuación a cada posición en la tabla... ¿se podria hacer directamente desde PHP sin necesidad de crear ningun campo en la tabla? Me refiero que a de alguna manera con PHP pueda indicar que la celda que se ponga en primera posicion reciba el numero 1, la siguiente el 2, etc... y luego pasarlo todo a otra tabla.
    Eso es sencillo. No te quiero hacer el trabajo, así que te diré que debes crear un contador mientras recorres las filas extraídas de la base de datos y mostrar el valor del contador dentro de un <td></td>. Pista suficiente creo :P. Obviamente si pasa mucho tiempo y no lo puedes resolver te ayudo :).

    Bien, tengo las tablas que mas has dicho creadas, los campos, todo creado.

    Llego hasta este punto de tu explicación...
    Ok... primero tienes que entender lo que quieres hacer. Lo primero que aprendí cuando quise programar fue a resolver algoritmos. Un algoritmo se podría definir como el proceso desglosado para llegar a la solución de un problema. Una frase muy común entre los programadores es "divide y vencerás"; esto significa que, luego de plantear el problema, tienes que dividirlo en partes lo más pequeñas posibles.

    En tu caso, el problema es: quiero hacer un sistema de puntuaciones.

    ¿Cómo funcionaría?

    1.- Se muestra al usuario una imagen y al lado un campo de texto y un botón para enviar la puntuación al servidor.
    2.- Una vez enviada la puntuación al servidor hay que:
    2.1.- Revisar que la puntuación sea válida. Esto significa verificar que el texto ingresado sea un número entre la puntuación mas baja y la más alta, ¿no?

    Ahora sigue tú... intenta encontrar los pasos que siguen y quizás entiendas lo que quise decir anteriormente. Utiliza las herramientas que tengas (una de las mejores que tienes en un buscador como Google).

    Escribo:

    <table class='mitabla'></table>

    fuera del codigo PHP y no tiene efecto el CSS
    Si lo escribo dentro del codigo PHP me da error

    Entiendo que tengo que escribirlo fuera del codigo PHP y que dentro del codigo PHP debo de poner en algun sitio algo que haga referencia a "mitabla", ¿Voy bien?

    Es quizás --> echo "<mitabla>";
    No necesariamente debe estar fuera del código PHP, lo importante es que la tabla envuelva sus respectivos tr y td, de lo contrario no funciona:

    echo "<table class='mitabla'><tr><td></td><td></td>ETC.</tr></table>";

    Y luego en el CSS debes escribir los estilos que quieras como te dije antes :P.

    Avísame si no entiendes algo :P.

  13. #13
    Me va gustando esto... Habitante
    Fecha de Ingreso
    09 sep, 12
    Mensajes
    130
    Poder de Reputación
    11
    Vamos por parte, sobre el ranking, si tu mismo me dices que es mucho mas facil hacerlo por PHP... entonces mejor hacerlo por PHP y nos olvidamos de intentar hacerlo mediante tablas, ¿no es mejor? Partimos de que mi experiencia en estos campos es nula. Lo unico que he hecho ha sido seguir el curso de CCTW y tu mismo puedes ver que es muy basico para MySQL, tan basico que realmente ni lo comentan jejeje.

    Entonces, ahora lo que tengo que hacer es segun lo que pones en negrita: debes crear un contador mientras recorres las filas extraídas de la base de datos y mostrar el valor del contador dentro de un <td></td>

    Bien, crear un contador mientras recorro las filas extraidas de la base de datos. Entiendo la idea al 100% ¿Como hacerlo? Ni idea, el curso de CCTW no explicaba esto asi que buscare un poco por google y luego te cuento jejeje

    Luego, cuando logre dar con eso, tendre que lograr que lo muestre el contador dentro de un <td>><td>
    Bien, esto creo que cuando logre hacer el contador, por ensayo y error lo lograre hacer.

    Sobre el CSS, ahora mismo me pongo a ello pues creo que es lo unico que por ahora tengo claro :D

    Gracias! Me estas salvando el pellejo! :D

  14. #14
    Me va gustando esto... Habitante
    Fecha de Ingreso
    09 sep, 12
    Mensajes
    130
    Poder de Reputación
    11
    Bueno, lo del contador aún no he podido buscarlo por google, pero tengo una buena noticia, y es que lo de CSS ya lo empiezo a controlar. La buena noticia es esa, que puedo editar la tabla desde el CSS, dejando el código PHP mucho más limpio.

    La mala noticia que el código que pusiste lo coloco en el CSS y no ocurre nada. Al menos he logrado cambiar los estilos de las columnas, me faltan los de las filas.

    Te dejo la dirección para que veas como quedó

    http://bicheando.comocreartuweb.es/clasificacion3.php

    Desde ahí además puedes ver el estilo.css

    Lo que no puedes ver, el PHP, te lo dejo aquí:

    while ($registro = mysql_fetch_row($result))
    echo "<table class='mitabla'><tr class='mitabla1'><td class='mitabla2'>$registro[1]</td><td class='mitabla2'>$registro[2]</td><td class='mitabla3'>$registro[3]</td><td class='mitabla4'>$registro[4]</td></tr></table>";


    Muchas gracias por la paciencia que estás teniendo!
    Última edición por ZID; 08/10/2012 a las 22:26

  15. #15
    Esto empieza a ser un vicio... Habitante
    Fecha de Ingreso
    02 may, 11
    Ubicación
    Santiago, Chile
    Mensajes
    2,079
    Poder de Reputación
    24
    Un contador no es más que una variable cuyo valor aumenta de uno en uno (o más):

    Código PHP:
    $contador 0;

    while( 
    true ) {
      
    // El orden sí alterará el resultado:
      
    echo "<td>$contador</td>";
      
    $contador++;

    En cuanto al estilo, no es necesario dar una clase (class="clase") a cada elemento dentro de la tabla. Con la clase que le das a la tabla (table class="mitabla") es suficiente. Lo de las filas no funciona porque esta mal puesto. Tu tienes esto:

    Código HTML:
    td.mitabla1 tr:nth-child(odd) {background:Blue;
     border: 1px gold;
     color:Blue;
     font:bold 18px Arial;
     width:25%;
     border:1px solid Gold;
    }
    y deberías tener esto:

    Código HTML:
    table.mitabla tr:nth-child(odd) {
     background:Blue;
     border: 1px gold;
     color:Blue;
     font:bold 18px Arial;
     width:25%;
     border:1px solid Gold;
    }
    En el primer ejemplo, tu le dices al navegador: "toma todas las columnas (td) que sean de la clase mitabla1 y aplica a todas las filas (tr) impares contenidas (dentro del td class='mitabla1') el siguiente estilo"; mientras que en el ejemplo que yo te doy le dices al navegador: "toma la tabla que sea de la clase 'mitabla' y aplica el siguiente estilo a todas las filas (tr) impares (odd)", de esta forma podrías definir 10 tablas con una clase mitabla y todas ellas tendrían el mismo estilo.

    ¿Se entiende :P?

Página 1 de 5 12345 ÚltimoÚltimo

Temas Similares

  1. Error
    Por ZID en el foro Sistema de Registro de Usuarios
    Respuestas: 0
    Último Mensaje: 06/10/2012, 17:11
  2. como hago para usar los datos de mi base de datos???
    Por rafaeladrianmartinez en el foro Foro General
    Respuestas: 1
    Último Mensaje: 07/08/2012, 18:03
  3. Rellenar plantilla con datos extraidos de base de datos
    Por alfevi en el foro Foro General
    Respuestas: 1
    Último Mensaje: 22/06/2012, 03:21
  4. Get de Datos y mostrarlos.
    Por md5 en el foro Php Bases de Datos y MySQL (Nuevo!)
    Respuestas: 2
    Último Mensaje: 15/05/2012, 09:30
  5. mostrar imagen segun datos encontrados en la base de datos dependiendo del valor
    Por Dramidom en el foro Php Bases de Datos y MySQL (Nuevo!)
    Respuestas: 26
    Último Mensaje: 31/08/2011, 18:48

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •