Autor Zpráva
Daemon
Profil
Zdravím, jak udělám, že třeba udělám soubor detail.php a aby se za to přidalo ?id=1 a vypsalo to celou 1 novinku z databáze?

<?php
$id = $_GET['id'];
$con = mysql_query("SELECT id, nadpis, text2, autor, datum FROM novinky WHERE id='".$_GET['id']."'");
while($data = mysqli_fetch_array($con)) { ?>
<?
$cist = mysql_query("SELECT id, nadpis, text2, autor, datum FROM novinky WHERE id='".$_GET['id']."'");
while($data = mysql_fetch_assoc($cist)) { ?>
          <div class="panel panel-success">
          <div class="panel-heading"><div class="info animated zoomIn"><i class="fa fa-newspaper-o" ></i> <?php echo $data['nadpis'];?> <div class="pull-right"><i class="fa fa-pencil"></i> <?php echo $data['autor'];?> <img class="img-rounded" style="width:25px; height:25px;" src="https://cravatar.eu/helmavatar/<?php echo $data['autor'];?>/25.png" /></div></div></div>
          <div class="panel-body">
            <div style="text-align:center;"><?php echo"".$zobraz['text2']."" ?></div>
            <br>
            <hr />
            <span class="label label-success"><?php echo $data['datum']; ?></span> <span class="label label-success"><span class="fa fa-comment"></span> &infin;</span>
            <span class="pull-right">
            </span></div>    
             </div>        
          <?php }?><?php }?>
Na internetu jsem našel něco takového, ale nefunguje to.
Keeehi
Profil
1) není možné kombinovat funkce mysql_* a mysqli_*. Jde o dvě rodiny funkcí, které spolu fungovat nebudou. Jelikož funkce mysql_* jsou zastaralé a v nových verzích PHP už odstraněné, použij mysqli_*.
2) V proměnné con by mělo být připojení do databáze, ne dotaz na výběr.
3) Ty dva while cykly v sobě vůbec nedávají smysl. Bude ti stačit jeden.
4) Uživatelským vstupům se nedá věřit. Ty nikde neověřuješ, co ti uživatel zadal a jeho vstup přímo připojuješ do SQL dotazu. Tím jsi vytvořil bezpečnostní díru. Skrz tuto zranitelnost by mohl případný útočník zjistit jakoukoli informaci z jakékoli tabulky v databázi. Když bude chtít, může si udělat kompletní kopii tvé databáze.

Evidentně máš problémy i se základy PHP. Tak si projdi kurz na www.pehapko.cz/zakladni-kurz/4-zaklady-syntaxe.

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

$id = (int)$_GET['id'];
if ($result = $mysqli->query("SELECT id, nadpis, text2, autor, datum FROM novinky WHERE id=$id")) {
    $data = $result->fetch_assoc();
?>
          <div class="panel panel-success">
          <div class="panel-heading"><div class="info animated zoomIn"><i class="fa fa-newspaper-o" ></i> <?php echo $data['nadpis'];?> <div class="pull-right"><i class="fa fa-pencil"></i> <?php echo $data['autor'];?> <img class="img-rounded" style="width:25px; height:25px;" src="https://cravatar.eu/helmavatar/<?php echo $data['autor'];?>/25.png" /></div></div></div>
          <div class="panel-body">
            <div style="text-align:center;"><?php echo"".$data['text2']."" ?></div>
            <br>
            <hr />
            <span class="label label-success"><?php echo $data['datum']; ?></span> <span class="label label-success"><span class="fa fa-comment"></span> &infin;</span>
            <span class="pull-right">
            </span></div>    
             </div>
<?php
    $result->close();
}
Daemon
Profil
Děkuji moc, funguje :)

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: