Php: oldal hozzárendelése mysql id -hez?
van egy táblám -m (legyen mondjuk `profiles`),
minden sornak van egy id -je..
echo "<a href='".$row['id']."'>";
hogy lehet kivitelezni, hogy minden id-hez egy olyan oldalra dobjon, ahol az adott id -hez tartozó adatokat tudom kiírni?
<a href="oldal.php?id="5">Oldal</a>
/****************/
$sql = "SELECT * FROM profiles WHERE id=" . intval($_GET['id']);
$query = mysqli_query($kapcsolat, $sql);
while($row = mysqli_fetch_array($query)) {
echo $row['firstname'] . ' ' . $row['lastname'] . '<br />';
}
Csinálj egy csinos kis menü-táblát (legyen a neve mondjuk `menu`), ahonnan mindenféle dolgokat ki tudsz olvastatni okosan :)
Az oldaladon az a részt, ahol a menüt iratod ki ez alapján a tábla alapján jelenítsd meg.
Legyen a 'menu' táblának a következő cellái:
id - elsődleges kulcs, auto increment, int(10)
name - ez a neve a menüpontnak, text
url - ez a meghívandó fájl, amit a menüpont meghív, text
A táblából behívott adatok alapján a menüpontok linkjei pedig így fognak kinézni:
echo '<a href="index.php?oldal='.$row["id"].'">'.$row["name"].'</a>';
Amikor pedig meghívják, az index.php tartalom kiíratás résznél kérd be az id-nek megfelelő menüpont adatait:
...
$menupont = intval($_GET["oldal"]);
if ($menupont < 1) {$menupont = 1;} // nehogy valaki sunyiskodjon
$menu_qry = mysqli->query("SELECT * FROM `menu` WHERE `id` = ".$menupont." ORDER BY `id` LIMIT 1");
if (!$menudata = mysqli->fetch($menu_qry)) { // ha ismeretlen menüpontot akarna valaki hívni
$menu_qry = mysqli->query("SELECT * FROM `menu` WHERE `id` = 1 ORDER BY `id` LIMIT 1");
$menudata = mysqli->fetch($menu_qry)
}
// a megfelelő oldal beszúrása
include $menudata["url"];
...
Ez persze nagyon le van egyszerűsítve, és vannak ennél lényegesen bonyolultabb hívási eljárások.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!