Autor | Zpráva | ||
---|---|---|---|
casy Profil * |
#1 · Zasláno: 18. 6. 2010, 11:00:18
Ahoj,
potřebuji vypsat do novinky data za předpokladu že id = mnou zvolené číslo. Používám <?php require "inc/db.php"; $vysledek = mysql_query("SELECT id,nadpis,clanek,seo,dat_zve FROM clanky WHERE id = '$_GET[id]'"); while ($zaznam = mysql_fetch_array($vysledek) ): echo "<h1>"; echo $zaznam["nadpis"]; echo "</h1>"; echo "</b>"; echo html_entity_decode($zaznam["clanek"]); echo "<br/>"; echo "</p>"; endwhile; ?> Tady se budu snažit to vyřešit sám, takže to bude docela legrace $doplnek = mysql_query("SELECT FROM clanky WHERE id = '$_GET[id]'"); ($zaznam = mysql_fetch_array($vysledek) ): if ($doplnek == 17) { $vypis="TOTO je opravdu ID 17"; } elseif ($doplnek != 17){ $vypis="Toto není id 17"; } <p>je to id 17 ? <?php echo $vypis; ?></p> Ovšem toto řešení není funkční, i když cítím že jsem blízko. Chybí mi tam nástroj, který by získal stabilní údaj v mém případě id = 17. Pokud na localhostu kliknu na novinku s id 17 provede se stejne nepravda. Později text zaměním za zdrojový kód s fotogalerií, kterou chci zobrazit pouze na jedné novince Děkuji za radu Dan |
||
casy Profil * |
#2 · Zasláno: 18. 6. 2010, 11:02:09
$doplnek = mysql_query("SELECT FROM clanky WHERE id = '$_GET[id]'"); if ($doplnek == 17) { $vypis="TOTO je opravdu ID 17"; } elseif ($doplnek != 17){ $vypis="Toto není id 17"; } <p>je to id 17 ? <?php echo $vypis; ?></p> teda takto tento radek tam nepatri ($zaznam = mysql_fetch_array($vysledek) ): |
||
Taps Profil |
#3 · Zasláno: 18. 6. 2010, 11:06:48 · Upravil/a: Taps
casy:
<?php require "inc/db.php"; $id=intval($_GET['id']); $vysledek = mysql_query("SELECT id,nadpis,clanek,seo,dat_zve FROM clanky WHERE id ='$id'); $zaznam = mysql_fetch_array($vysledek); echo"<h1>".$zaznam["nadpis"]. "</h1></b>".html_entity_decode($zaznam["clanek"])."<br /></p>"; ?> <? $id=intval($_GET['id']); $doplnek = mysql_query("SELECT id FROM clanky WHERE id ='$id'); $zaznam = mysql_fetch_array($doplnek) ; if ($zaznam['id'] == 17) { $vypis="TOTO je opravdu ID 17"; } else{ $vypis="Toto není id 17"; } <p>je to id 17 ? <?php echo $vypis; ?></p> ?> |
||
casy Profil |
#4 · Zasláno: 18. 6. 2010, 11:35:01
Ahoj Taps
Použil jsem tvůj opravený zdroj a doplnil uvozovky a uzavření kódu ?>. Po této mojí úpravě mi to vypisuje chybu na Parse error: syntax error, unexpected ':' in C:\Program Files\EasyPHP-5.3.2\www\Wellness_Salon\news.php on line 6 Změnil jsem to na <?php require "inc/db.php"; $id=intval($_GET['id']); $vysledek = mysql_query("SELECT id,nadpis,clanek,seo,dat_zve FROM clanky WHERE id ='$id'"); while ($zaznam = mysql_fetch_array($vysledek) ): echo"<h1>".$zaznam["nadpis"]. "</h1></b>".html_entity_decode($zaznam["clanek"])."<br /></p>"; endwhile; ?> a <? $id=intval($_GET['id']); $doplnek = mysql_query("SELECT id FROM clanky WHERE id ='$id'"); while ($zaznam = mysql_fetch_array($vysledek) ): if ($zaznam['id'] == 17) { $vypis="TOTO je opravdu ID 17"; } else{ $vypis="Toto není id 17"; } endwhile; ?> <?php echo $vypis; ?> tady je chyba Notice: Undefined variable: vypis in C:\Program Files\EasyPHP-5.3.2\www\Wellness_Salon\news.php on line 25 |
||
Taps Profil |
#5 · Zasláno: 18. 6. 2010, 12:07:15 · Upravil/a: Taps
casy:
<? $vypis=""; $id=intval($_GET['id']); $doplnek = mysql_query("SELECT id FROM clanky WHERE id ='$id'"); while ($zaznam = mysql_fetch_array($vysledek) ): if ($zaznam['id'] == 17) { $vypis.="TOTO je opravdu ID 17"; } else{ $vypis.="Toto není id 17"; } endwhile; ?> <?php echo $vypis; ?> Jinak pokud používáš select pro jeden záznam tak je zbytečné používat cyklus while. Cyklus můžeš použít v případě kdy budeš chtít zobrazovat např 10 záznamů. |
||
casy Profil |
#6 · Zasláno: 18. 6. 2010, 12:40:48
Takže když bych chtěl cyklus odebrat tak stačí napsat
$zaznam = mysql_fetch_array($vysledek); <?php $vypis=""; $id=intval($_GET['id']); $doplnek = mysql_query("SELECT id FROM clanky WHERE id ='$id'"); while ($zaznam = mysql_fetch_array($vysledek) ): if ($zaznam['id'] == 17) { $vypis.="TOTO je opravdu ID 17"; } else{ $vypis.="Toto není id 17"; } endwhile; ?> <p>Odpověď je <?php $vypis?> Teď to tedy vypadá takto, zatím jsem tam ponechal while, bez toho to hlasí chybu ":" Vypisuje se to tedy bez chyby, ale někde nejspíš vznikla, protože se mi nevypisuje žádný údaj. Dalo by se s tím něco dělat? Nebo je vůbec řešení, které jsem vytvořil správné ? Hlavně jsem si to napsal "sám" a jestli by to mělo fungovat tak jsem aspoň někam pokročil, ale pokud je to špatně tak se musím zase vrátit. Díky za odpověď! Ještě mě napadlo nemělo by to být nadtím vším kódem a samotný výpis až dole ? To je pouze moje úvaha. |
||
panther Profil |
#7 · Zasláno: 18. 6. 2010, 12:44:19
casy:
„protože se mi nevypisuje žádný údaj.“ nic to vypisovat nemůže, protože na posledním řádku nemáš echo. |
||
Taps Profil |
#8 · Zasláno: 18. 6. 2010, 12:45:36 · Upravil/a: Taps
casy
V[#3] jsem ti napsal jak kod vypadá bez cyklu while |
||
panther Profil |
#9 · Zasláno: 18. 6. 2010, 12:51:41 · Upravil/a: panther
Taps:
ve [#3] je chyba, na 7. řádku máš dvojtečku místo středníku. EDIT: a o řádek výš máš neukončené uvozovky v dotazu. |
||
Taps Profil |
#10 · Zasláno: 18. 6. 2010, 12:55:33
panther:
Ha, chybička se vloudila. díky |
||
casy Profil |
#11 · Zasláno: 18. 6. 2010, 13:06:29
URL http://localhost/Wellness_Salon/index.php?p=news&id=17 - Odpověď je Toto není id 17 if ($zaznam['id'] == 17) { $vypis.="TOTO je opravdu ID 17"; } else{ $vypis.="Toto není id 17"; } nemelo by to byt takto ? if ($zaznam['id'] == 17) { $vypis.="TOTO je opravdu ID 17"; } else ($zaznam['id'] != 17) { $vypis.="Toto není id 17"; } |
||
panther Profil |
#12 · Zasláno: 18. 6. 2010, 13:10:07
|
||
casy Profil |
#13 · Zasláno: 18. 6. 2010, 14:29:52
panther, Taps:
tak už to mám zaměnil jsem $doplnek = mysql_query("SELECT id FROM clanky WHERE id ='$id'"); $zaznam = mysql_fetch_array($vysledek); místo $doplnek jsem v napsal $vysledek ted uz to jede tak jak má. takže výsledek výpisu novinky z databáze za podmínky že id je rovno 17 se vypíše daný text nebo zdroj <?php require "inc/db.php"; $id=intval($_GET['id']); $vysledek = mysql_query("SELECT id,nadpis,clanek,seo,dat_zve FROM clanky WHERE id ='$id'"); while ($zaznam = mysql_fetch_array($vysledek) ): echo"<h1>".$zaznam["nadpis"]. "</h1></b>".html_entity_decode($zaznam["clanek"])."<br /></p>"; endwhile; ?> <?php $vypis=""; $id=intval($_GET['id']); $doplnek = mysql_query("SELECT id FROM clanky WHERE id ='$id'"); $zaznam = mysql_fetch_array($vysledek); if ($zaznam['id'] == 17) { $vypis.="TOTO je opravdu ID 17"; } else{ $vypis.="Toto není id 17"; } ?> <p>Odpověď je <?php echo $vypis; ?><br /> Děkuji velice za Vaše rady Dan |
||
Časová prodleva: 14 let
|
0