10. august 2006 - 15:58
Der er
9 kommentarer og 1 løsning
Hjælp til trick med db-udtræk..
Hejsa, jeg har lidt problemer med visningen af et mysql-udtræk. I første omgang ser det således ud: $result = mysql_query("$sql")or die(mysql_error()); while ($row = mysql_fetch_object($result)) { echo" <tr> <td><strong>$row->new_date</strong></td> <td align=right>$row->club_home</td> <td align=right>$row->home_score</td> <td align=center> - </td> <td align=left>$row->away_score</td> <td align=left>$row->club_away</td> </tr> "; Men jeg vil gerne have, at datoen kun vises én gang selvom flere rækker har samme dato. F.eks.: <tr> <td colspan=5><strong>$row->new_date</strong></td> <tr> <td align=right>$row->club_home</td> <td align=right>$row->home_score</td> <td align=center> - </td> <td align=left>$row->away_score</td> <td align=left>$row->club_away</td> </tr> Men hvis jeg trækker datoen ud i en anden række vises den jo stadig HVER gang. Kan det lade sig gøre at lave det sådan, som jeg beskriver, eller er det nemmere at tage fat på selve MYSQL-udtrækket? MVH Weeelo
Annonceindlæg tema
Cloud & AI
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
10. august 2006 - 15:59
#1
Hov.. F.eks. sådan her: <tr> <td colspan=5><strong>$row->new_date</strong></td> </tr> <tr> <td align=right>$row->club_home</td> <td align=right>$row->home_score</td> <td align=center> - </td> <td align=left>$row->away_score</td> <td align=left>$row->club_away</td> </tr> <tr> <td align=right>$row->club_home</td> <td align=right>$row->home_score</td> <td align=center> - </td> <td align=left>$row->away_score</td> <td align=left>$row->club_away</td> </tr> <tr> <td align=right>$row->club_home</td> <td align=right>$row->home_score</td> <td align=center> - </td> <td align=left>$row->away_score</td> <td align=left>$row->club_away</td> </tr>
10. august 2006 - 16:27
#2
Eller sådan her... <tr> <td colspan=5><strong>$row->new_date</strong></td> </tr> <tr> <td align=right>$row->club_home</td> <td align=right>$row->home_score</td> <td align=center> - </td> <td align=left>$row->away_score</td> <td align=left>$row->club_away</td> </tr> <tr> <td align=right>$row->club_home</td> <td align=right>$row->home_score</td> <td align=center> - </td> <td align=left>$row->away_score</td> <td align=left>$row->club_away</td> </tr> <tr> <td align=right>$row->club_home</td> <td align=right>$row->home_score</td> <td align=center> - </td> <td align=left>$row->away_score</td> <td align=left>$row->club_away</td> </tr>
10. august 2006 - 16:28
#3
$i = "1"; while ($row = mysql_fetch_object($result)) { if($i == 1){ $tid = dintid; }else{ $tid = ""; } echo" <tr> <td><strong>$tid</strong></td> <td align=right>$row->club_home</td> <td align=right>$row->home_score</td> <td align=center> - </td> <td align=left>$row->away_score</td> <td align=left>$row->club_away</td> </tr> "; $i++;
10. august 2006 - 16:50
#4
zynzz > dintid skal vel være $row->new_date? Det virker kun hvis jeg har en dato, men problemet er at jeg har flere forskellige datoer.. Sådan vises det med din metode: 29/07-06 Hold1 0 - 2 Hold2 Hold3 1 - 0 Hold4 Hold5 2 - 2 Hold6 Hold7 1 - 1 Hold8 Hold9 4 - 0 Hold10 Hold11 1 - 3 Hold12 Sådan her burde den vises: 29/07-06 Hold1 0 - 2 Hold2 30/07-06 Hold3 1 - 0 Hold4 Hold5 2 - 2 Hold6 Hold7 1 - 1 Hold8 Hold9 4 - 0 Hold10 02/08-06 Hold11 1 - 3 Hold12
10. august 2006 - 20:10
#5
$sql = mysql_query("SELECT * FROM dintabel GROUP BY date"); $arr[] = mysql_fetch_array($sql); brug så $arr til at hente ud med..., det vil jeg mene man kan... :)
10. august 2006 - 20:48
#6
Med udgangspunkt i din kode kunne jeg foreslå nedenstående. Jeg tror det vil give dig det ønskede resultat :-) $show_date = 0; $result = mysql_query("$sql")or die(mysql_error()); while ($row = mysql_fetch_object($result)) { /* Only show date when changed. */ if ($show_date != $row->new_date) { $show_date = $row->new_date echo" <tr> <td colspan=5><strong>$row->new_date</strong></td> </tr> "; } /* Always show match-data. */ echo" <tr> <td align=right>$row->club_home</td> <td align=right>$row->home_score</td> <td align=center> - </td> <td align=left>$row->away_score</td> <td align=left>$row->club_away</td> </tr> "; }
10. august 2006 - 20:52
#7
Ok.. Nu får du sgu lige det hele. Jeg er ikke sikker på jeg har forstået hvad du mener, men det ser sådan her ud nu, og printer kun '-' (altså bindestregen): $sql = mysql_query("SELECT c1.name AS club_home, c2.name AS club_away, c1.id AS id_home, c2.id AS id_away, m.score_home AS home_score, m.score_away AS away_score, m.date, DATE_FORMAT(date, '%d/%m-%y') AS new_date, m.id AS id, m.season AS season FROM matches AS m, table_clubs AS c1, table_clubs AS c2 WHERE m.home = c1.id AND m.away = c2.id AND m.league = '$_GET[league]' AND m.season = '$_GET[season]' AND m.score_home IS NOT NULL GROUP BY m.date ORDER BY m.date, m.id LIMIT $r_start, $r_limit "); $arr[] = mysql_fetch_array($sql); echo" <tr> <td colspan=5><strong>$arr[new_date]</strong></td> </tr> <tr> <td align=right>$arr[club_home]</td> <td align=right>$arr[home_score]</td> <td align=center> - </td> <td align=left>$arr[away_score]</td> <td align=left>$arr[club_away]</td> </tr> ";
10. august 2006 - 20:54
#8
skagen > prøver lige..
10. august 2006 - 20:59
#9
skagen > Perfekt, eller næsten! Der manglede lige et semikolon, men det går nok :D Smid et svar så er pointene dine.
10. august 2006 - 22:28
#10
OK! Takker.
Vi tilbyder markedets bedste kurser inden for webudvikling