1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda em MYSQL

Discussão em 'Web Development' iniciada por corre, 6 de Julho de 2008. (Respostas: 6; Visualizações: 623)

  1. corre

    corre Banido

    pessoal e o seguinte:
    estou a concluir o projecto de 12º ano (em mysql e php) e queria tornar isto mais fácil para o utilizador, fazendo uma tabela de registos mas o problema e que repete mutas vezes a mesma coisa. por exemplo:
    tenho um portátil com nome p1 requisitado para as 8 horas e outro portátil p2 para a mesma hora e então fica assim a tabela
    [​IMG]
    mas queria que ficasse assim:
    [​IMG]
    então tive a informar-me e tenho de fazer um count() para saber quantos campos com "08:00" estão na tabela da base de dados e por esse valor na rowspan da tabela, mas não consigo fazer isso. Será que alguém me pode ajudar?
     
  2. caquito

    caquito Power Member

    O que pretendes é que apareça só uma vez a data é isso?
     
  3. anjo2

    anjo2 Power Member

    Isso é fácil, se organizas a pesquisa por data, os que têem a mesma data aparecem juntos, logo ao mostrares fazer dois ciclos while, um para ir percorrendo as horas e outro para mostrares os registos, acho que me fiz entender.

    Pseudo-código
    $row = mysql_fetch_array($query)
    while($row) {
    echo $hours; // A parte das horas
    while($hours == $row['hours']) {
    echo $row['res'];
    $row = mysql_fetch_array($query);
    }
    }

    Existe muitas formas de o fazer.
     
  4. corre

    corre Banido

    e isso msm.
    eu acho que tenho de fazer um count para ver quantas vezes repete op msm valor e na tabela o valor do rowspan e igual ao valor obtido no count
     
  5. caquito

    caquito Power Member

    sim há uma forma de fazeres isso, também penso ser com o count!
    Eu vou ver isso e ainda hoje posto aqui, provavelmente à noite que tou em exames :D
     
  6. hostmake

    hostmake Power Member

    Yap é com o count do select, a opção group não é para ser usada aqui.
    Um exemplo em baixo:

    Código:
    TABELA HORARIOS
    
    DESCRICAO  | HORARIO | NOME
    _____________________________
     NOVELA TVI | 08-10h     | bla bla
     NOVELA SIC | 09-10h     | ble ble
     NOVELA RTP | 08-10h    |blu blu
     SERIE RTP2 | 09-10h     | blo blo
    PHP:
    $array_horas[]="08-10h";
    $array_horas[]="09-10h";

    foreach (
    $array_horas as $hora) {
                 
    $SQL MYSQL_QUERY("SELECT * FROM HORARIOS WHERE HORARIO='$hora'");
                 
    $total_igual mysql_num_rows($SQL);
                 if (
    $total_igual 0) {
                 while (
    $row myqsl_fetch_assoc($SQL)) {
                 echo 
    "<td rowspawn='".$total_igual."'>$hora</td>";
                 }
                 }
    }
     
  7. se fizeres um group by horas nao te resolve o problema??
     

Partilhar esta Página