Autor Zpráva
casy
Profil *
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 *

$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
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
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
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
Takže když bych chtěl cyklus odebrat tak stačí napsat
$zaznam = mysql_fetch_array($vysledek); 
a samozřejmě while a endwhile.

<?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
casy:
protože se mi nevypisuje žádný údaj.
nic to vypisovat nemůže, protože na posledním řádku nemáš echo.
Taps
Profil
casy
V[#3] jsem ti napsal jak kod vypadá bez cyklu while
panther
Profil
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
panther:
Ha, chybička se vloudila. díky
casy
Profil
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
casy:
nemelo by to byt takto ?
ne. Jednak si to můžeš zkusit, co to udělá, pak se můžeš kouknout do manuálu, jaká je správná syntaxe podmínky if (- elseif) - else.
casy
Profil
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0