Autor | Zpráva | ||
---|---|---|---|
Cup Profil |
#1 · Zasláno: 12. 5. 2008, 16:17:30
Takže ... vybafl sem na vas s takovým dlouhým kódem ale toho si vubec nevšímejte ... je to jen abyste pochopili problém
když se podíváte na dotaz ... tak vidíte že mám v db uložený tým_a a tým_b pod id ... a podle id pak vypisuju nazvy tech týmů ... ale je problem v tom že jeden tým dám dohromady jak vidíte ... že ho z toho dotazu nějak dostanu ... ale druhý tým vypisuji pomocí mysql_result když si vytáhnu pomocí id_tymu_b nazev toho tymu .... no snad zatim chapete ... ale zda se mi to docela blby ... protože při každém opakování cyklu se mi to táže na databazi na ten nazev tymu tak sem se vás chtel zeptat zda to nejde udelat i jinak ... jako ten dotaz ... nejak optimalizovat abych se to furt neptalo na db ... :) dekuji snad jste pochopili ... $dotaz2 = mysql_query ("SELECT zapasy.id_zapas, zapasy.kolo_zapas, zapasy.sezona_zapas, zapasy.team_a_zapas, zapasy.vysl_a_zapas," ." zapasy.team_b_zapas, zapasy.vysl_b_zapas, zapasy.vysledek_zapas, za pasy.datum_zapas, tymy.nazev_team, sezona.rok_sez" ." FROM zapasy, tymy, sezona" ." WHERE zapasy.team_a_zapas = tymy.id_team AND zapasy.sezona_zapas = sezona.id_sez AND zapasy.vysledek_zapas is NULL AND sezona.active_sez = 'true'" ." ORDER BY zapasy.id_zapas DESC" , $spojeni); if(!$dotaz2){showerror();} ?> <table id="vypis_cl" border="0"> <tbody> <tr> <th>Id</th> <th>Kolo</th> <th>Domácí</th> <th>Výsl. A</th> <th> : </th> <th>Výsl. B</th> <th>Hosté</th> <th>1. tř.</th> <th>2. tř.</th> <th>3. tř.</th> <th>Ulož</th> </tr> </tbody> <?php $pocet = "0"; while($row=mysql_fetch_array($dotaz2)) { $upravdatum["datum"] = $row["datum_zapas"]; $upravdatum["datum"] = substr($upravdatum["datum"], 8, 2) . "-" . substr($upravdatum["datum"], 5, 2) . "-" . substr($upravdatum["datum"], 0, 4); echo " <tr class=\"".(($pocet++ % 2)? "suda" : "licha")."\">"; // barav radku ...?> <form action="<?php echo $pred_link; ?>insert" method="post"> <td><?php echo $row["id_zapas"];?></td> <td><?php echo $row["kolo_zapas"];?></td> <td><?php echo $row["nazev_team"];?></td> <td> <?php echo"\n <select name=\"vyslA\" >"; for($i=0;$i<=20;$i++) { echo "\n <option value='".$i."'>".$i."</option>"; } echo"\n </select>"; ?> </td> <td> : </td> <td> <?php echo"\n <select name=\"vyslB\" >"; for($i=0;$i<=20;$i++) { echo "\n <option value='".$i."'>".$i."</option>"; } echo"\n </select>"; ?> </td> <td><?php echo mysql_result(mysql_query("SELECT tymy.nazev_team FROM tymy WHERE tymy.id_team = '".$row["team_b_zapas"]."' LIMIT 1"),"nazev_team");?></td> <?php if($row["team_a_zapas"] == $hl_team OR $row["team_b_zapas"] == $hl_team) {?> <td><input type="text" name="tr_1" value="(:)" size="3"/></td> <td><input type="text" name="tr_2" value="(:)" size="3"/></td> <td><input type="text" name="tr_3" value="(:)" size="3"/></td> <?php } else {?> <td></td> <td></td> <td></td> <?php } ?> <td> <input type="hidden" name="id_sezona" value="<?php echo $row['sezona_zapas'];?>" /> <input type="hidden" name="id_zapas" value="<?php echo $row['id_zapas'];?>" /> <input type="hidden" name="tymA" value="<?php echo $row['team_a_zapas'];?>" /> <input type="hidden" name="tymB" value="<?php echo $row['team_b_zapas'];?>" /> <input type="submit" name="odeslat" value="Ulož" /> </form> </td> </tr> <?php } echo " </table>\n"; |
||
Taps Profil |
#2 · Zasláno: 12. 5. 2008, 16:29:35
Cup
nechceš ten dotaz převést na join, ta orientace je v tom docela hrůza |
||
Cup Profil |
#3 · Zasláno: 12. 5. 2008, 16:30:40
ano klidně taky se nevyznávám ale s JOIN neumim :( kdyz mi to prevedes a torchu vysvetlis co kam tak to bude dobre :)
|
||
nightfish Profil |
#4 · Zasláno: 12. 5. 2008, 17:20:43
kdyz mi to prevedes a torchu vysvetlis co kam tak to bude dobre
trochu snahy by neškodilo http://www.linuxsoft.cz/article.php?id_article=827 http://www.linuxsoft.cz/article.php?id_article=837 http://www.linuxsoft.cz/article.php?id_article=841 http://www.linuxsoft.cz/article.php?id_article=854 jinak ještě taková drobnost $pocet = "0"; proč do $pocet přiřazuješ řetězec, když pak do proměnné přičítáš čísla? testuješ funkčnost implicitního přetypování? ;-) |
||
Cup Profil |
#5 · Zasláno: 12. 5. 2008, 17:23:41
nightfish jajaj .. $pocet = "0"; jasny kravovina .... ne nic sem nechtel testovat ... ok ... proctu ... treba to pomuze ale nevim zda to s tim zvladnu ... :-)
|
||
nightfish Profil |
#6 · Zasláno: 12. 5. 2008, 17:55:52
jinak k řešení tvého problému... bude to chtít ještě jeden join na tabulku tymy (pojmenovanou nějakým aliasem), spojení zapasy.tym_b_zapas = t.id_team
|
||
Cup Profil |
#7 · Zasláno: 12. 5. 2008, 18:00:18 · Upravil/a: Cup
ja vim no ... ze to neco takovyho bude chctit ... sem na intru a doma mam sql ucebnici tak to do vikendu odlozim ... a nejak to skusim zmáknout :) diky nightfish
|
||
nightfish Profil |
#8 · Zasláno: 12. 5. 2008, 18:24:17
mohlo by to být nějak takhle...
SELECT zapasy.id_zapas, zapasy.kolo_zapas, zapasy.sezona_zapas, zapasy.team_a_zapas, zapasy.vysl_a_zapas, zapasy.team_b_zapas, zapasy.vysl_b_zapas, zapasy.vysledek_zapas, zapasy.datum_zapas, t1.nazev_team nazev_a, t2.nazev_team nazev_b, sezona.rok_sez FROM zapasy, tymy t1, tymy t2, sezona WHERE zapasy.team_b_zapas = t2.id_team AND zapasy.team_a_zapas = t1.id_team AND zapasy.sezona_zapas = sezona.id_sez AND zapasy.vysledek_zapas is NULL AND sezona.active_sez = 'true' ORDER BY zapasy.id_zapas DESC a pak při výpisu $row["nazev_a"] a $row["nazev_b"] |
||
Cup Profil |
#9 · Zasláno: 12. 5. 2008, 19:38:16
nightfish
díku dík ... :) je to funkční doucim se to s join abych se priste nemusel ptat ... zatim ahoj/naschle... |
||
Časová prodleva: 16 let
|
0