Autor Zpráva
ondra.prenek
Profil
Ahoj,
hezké svátky. Měl bych dotaz. Mám web a mám zde vkládání inzerátů. Mám normální tabulku na vkládání do databáze. Potom jsem je klasicky vypsal na hlavní stránce. Chtěl bych ale, aby se při vložení inzerátu vytvořila pokaždé nová stránka, na kterou budu jen na té hlavní stránce odkazovat. Na hlavní stránce bude jen pár detailů, ale po rozkliknutí tam bude víc textu a také více údajů. Víte co myslím? Mám přiložit kód stránek, kde se inzerát vkládá a pak vypisuje?
Díky moc za odpověď.
Ondra
Taps
Profil
ondra.prenek:
Chtěl bych ale, aby se při vložení inzerátu vytvořila pokaždé nová stránka
Jde o to, že na hlavní stránce vytvořiš odkaz např.
<a href="detail-clanku.php?id=15">Můj článek</a>
pak v souboru detail-clanku.php pomocí GET získáš id článku a poté tento článek vybereš z databáze a zobrazíš.
<?
$_GET['id'];
?>
ondra.prenek
Profil
Ale jak docilim toho aby se ta stránka vytvořila automaticky?
Pavel Kr.
Profil *
ondra.prenek:
Ta stránka bude pořád jen jedna. Bude se měnit jen obsah na základě $_GET["id].
Taps
Profil
ondra.prenek:
Ale jak docilim toho aby se ta stránka vytvořila automaticky?
Obsah dané stránky se bude automaticky měnit na základě hodnoty id, která bude v odkaze.
ondra.prenek
Profil
jo, ale když budu mít v databázi uloženou id, tak do toho odkazu nebudu psát 15 ale třeba proměnou $_row["id"], je to tak ?
mohlo by to tedy vypadat takto ?

 $query = mysql_query("SELECT * FROM inzeraty order by id DESC");
  while ($row = mysql_fetch_assoc($query)) 
  {
  echo   "<hr>" . "<a href="detail_clanku.php?id= $row["id"]> Více informací zde</a>

}
pochopil jsem to správně?
děkuji
lionel messi
Profil
ondra.prenek:
mohlo by to tedy vypadat takto ?
Presne tak.
ondra.prenek
Profil
ještě jeden dotaz. Až budu tvořit tu stránku, tak stačí vytvořit detail_clanku.php ? ten otazník za tim nebude, že ?
Děkuji moc za ochotu, krásné svátky
Marschmallow
Profil
ondra.prenek:
Bude, protože máš data z GET - viz. [#2] a [#4] příspěvek.
Taps
Profil
ondra.prenek:
samozrejme fyzicky nazev souboru je detail_clanku.php
xaverista
Profil
ondra.prenek:
Až budu tvořit tu stránku, tak stačí vytvořit detail_clanku.php
Ano, ale myslím si že na té straně detaily budeš muset vytvořit MySQL dotaz
 $inzerat = mysql_query("SELECT * FROM inzeraty WHERE id=? ",$row['id']);
A potom treba
$inzerat['obsah']
ondra.prenek
Profil
jasné, díky moc. Užijte si Vánoce :) moc jste mi pomohli:)


Akorát jsem to napsal a nechce se mi stránka zobrazit, není tam někde chyba v uvozovkách? předtím to fungovalo normálně
<?php
include "config.php";

mysql_connect($server, $user, $pass, $db);
mysql_select_db($db); 

  $query = mysql_query("SELECT *, DATE_FORMAT(datum,'%d.%m.%Y') as datum FROM inzeraty order by id DESC");
  while ($row = mysql_fetch_assoc($query)) 
  {
  echo   "<hr>" . "<b>" . $row["typ"] . ":&nbsp" . "<a href='detail_clanku.php?id= $row["id"]'> Více informací zde</a>" . "</b><br>Datum vložení:&nbsp" . $row["datum"] . "<br><i>" . $row["cena"] . "&nbsp Kč</i><br>". $row["text"];
}
?>
Marschmallow
Profil
ondra.prenek:
Na čtvrtém řádku odstraň proměnnou $db. Je neočekávaná, obvykkle tam jsou jen tři parametry. Proměnnou $db totiž definuješ o řádek níže u mysql_select_db.
ondra.prenek
Profil
Jo, to jsem opravil, ale s tím to fungovalo. Problém bude někde v tom odkazu v echu. Za boha nemůžu přijít na to, čím to je
mimochodec
Profil
ondra.prenek:
Nauč se psát přehledně a tyhle problémy mít nebudeš.

echo "<hr>".$row["typ"].":&nbsp;";
echo "<b><a href='detail_clanku.php?id=".$row["id"]."'> Více informací zde</a></b><br>";
echo "Datum vložení:&nbsp;".$row["datum"]."<br>";
echo "<i>".$row["cena"]."&nbsp;Kč</i><br>".$row["text"];
ondra.prenek
Profil
xaverista:
ahoj, už jsem se dostal k vypisování těch dat, na té stránce. Napsal jsem to takhle, aby se vypsal jen text ale stejně to nevypíše. Někde je chyba. Nevidíš tam něco divného?
Díky
v syntaxu asi chyba nebude, zbytek stránky se normálně zobrazí, akorát se nevypíše echo
 

<?php
  include "config.php";
  mysql_connect($server, $user, $pass);
  mysql_select_db($db); 

  $query = mysql_query("SELECT * FROM inzeraty WHERE id=? ",$row['id']);
    while ($row = mysql_fetch_assoc($query)) 
    {
      echo "blabla";

}

?>
ondra.prenek
Profil
zkusil jsem přidat ještě $_GET['id'] ale stejně to nepomohlo, tak nevím na co jsem zapoměl :/
Taps
Profil
ondra.prenek:
zkus to takto

<?php
  include "config.php";
  mysql_connect($server, $user, $pass);
  mysql_select_db($db); 
 
  $query = mysql_query("SELECT * FROM inzeraty WHERE id=".intval($_GET['id']));
    while ($row = mysql_fetch_assoc($query)) 
    {
      echo "blabla";
 
}
 
?>
ondra.prenek
Profil
Paráda!! funguje to :) co znamená to .intval?
Tomáš123
Profil
ondra.prenek:
Prevedie hodnotu akejkoľvek premennej na dátový typ interger. Viac na php.net

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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