Autor Zpráva
dromedaros
Profil
Takže jsem v php begginer a prosil bych o pomoc.
Vyčetl jsem , že se to dělá pomocí unikátního id, které se přiřadí každému článku. Jenže jak?
PéHáPkař
Profil *
Čusko .. takže .. bude to trochu oříšek. Není to jednoduchá záležitost. Umíš s DB (Databází) ? Píšeš že si Begginer takže XML asi nepřipadá v potaz. Nejlepší by bylo MySQL (Databáze), a jestli to neumíš nevadí i tak se to dá.

Takže mějme dva články. První má ID 1. A druhý 2. Každý článek dejme do jednoho souboru pojmenovaného dle ID v složce 'clanky'. Takže:

1.txt
2.txt

a niní už php script:


<?php 

if (Isset($_GET['ID'])) {
include "clanky/".$_GET['ID'].".txt";
}
?>


do url musíš dát pak parametr GET. tedy by url vipadalo takhle: www.neco.cz/idnex.php?ID=1.

Přeji hodně zdaru :).
Taps
Profil
dromedaros
zkus hledat na netu www.linuxsoft.cz/php, http://www.pecan.cz/index.php?id=43&n=zobrazeni-clanku-z-databaze
dromedaros
Profil
No uplnej begginer zase nejsem jinak bych si na tohle netrouf ale todleto asi nejni vono.
Mám stránku clanky.php tam se mi vypisují všechny odkazy na články. Je tam nadpis, datum, popis, atd. všechno se přidává pomocí formulářů včetně samotného článku. Takže má otázka je jak mám udělat aby když kliknu na odkaz zobraz článek se článek zobrazil.
Taps
A co myslíš, že dělám celý dopoledne
bukaj
Profil
dromedaros
základní je, jestli články máš v databázi nebo v souborech? a pak, budeš mít nějakou jinou stránku, třeba ukazclanek.php, které pomocí get předáš id článku (nebo název nebo cokoli jeného, podle čeho dokážeš článek určit). takže adresa bude třeba ukazclanek.php?id=1. a pokud máš databázi, vybereš z ní data, kde se vyskytuje toto id nebo, pokud v souborech, uděláš to, coříkal PéHáPkař.
dromedaros
Profil
Z toho co jsem vygoogloval jsem docela jelen. Co to je get a jak to mám aplikovat v mé věci?
bukaj
Profil
dromedaros
tak zaprvé: jak máš uložené články?

zadruhé: get (vlastně GET) je způsob, jak přistupovat k datům zvenčí PHP uskutečněný pomocí URI. takže, když máš soubor soubor.php a zavoláš ho jako soubor.php?promenna=hodnota, tak tím PHP předáváš, že GET proměnná promenna má hodnotu hodnota. ve skritptu pak k takové proměnné přisoupíš pomocí asociativního pole $_GET. takže v tomto příkladě by proměnná $_GET["promenna"] == "hodnota". snad jsem ti to trochu osvětlil ;)
dromedaros
Profil
1)Články mám uložený v databázi.
2)No takže toho umím ještě míň než jsem si myslel.
3)Takže pokud jsem dobře čet tak soubor.php je to samí jako ukazclanek.php
4)promenna je ID
5)a hodnota je např. 1
6)možná by bylo dobrý, kdybys mi sem dal odkaz na nějaký tutorial ohledně GET
bukaj
Profil
dromedaros
1) to je opravdu hezké.... ale moc si toho neřekl... podle čeho je může rozlišit? podle jména? podle id?
2) ...
3) soubor.php byl jenom ukázkový příklad pro GET. k proměnným obsažených v URI su může přistupovat v jakémkoli skriptu právě pomocí toho pole $_GET
4) ...
5) ...
6) http://www.linuxsoft.cz/article.php?id_article=269... ale vždyť si říkal, že jsi to četl? :)
dromedaros
Profil
no jo čet ale byl z toho jelen
Chtěl bych to udělat podle id jenže nevím jak ho přiřadit
mám si udělat rozdílnou tabulku pro článek a pro výpis článku?
bukaj
Profil
dromedaros
a jak máš vlastně uložené články v db? jak vypadá tabulka, kde je máš uložené?
dromedaros
Profil
nevím co tim přesně myslíš ale mám je v tý samí tabulce jako pro výpis na stránce clanky.php
Má být rozdílná tabulka na výpis článků a na samotný článek?
CREATE TABLE `clanky` (
`id` int(11) NOT NULL auto_increment,
`nazev` varchar(255) collate latin2_czech_cs NOT NULL,
`autor` varchar(255) collate latin2_czech_cs NOT NULL,
`kategorie` varchar(255) collate latin2_czech_cs NOT NULL,
`popis` text collate latin2_czech_cs NOT NULL,
`clanek` text collate latin2_czech_cs NOT NULL,
`datum` varchar(255) collate latin2_czech_cs NOT NULL default '',
`hit` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_czech_cs AUTO_INCREMENT=1 ;
bukaj
Profil
dromedaros
promiň, pokud jsi to říkal, ale nějak jsem to nepostřehl... ;)

takže na stránce clanky.php máš nějaký skript, který ti vypíše, předpokládám pomocí mysql_fetch_array() a while články. pro předávání pomocí GET může vypadat třeba nějak takto:

//nějaké to spojení s databází
$clanky = mysql_query("SELECT id, nazev FROM clanky");
while($clanek = mysql_fetch_array($clanky)){
echo '<a href="ukazclanek.php?id=' . $clanek["id"] . '">' . $clanek["nazev"] . '</a><br />';
}
.... //atd.


pak potom na stránce ukazclanek.php bude třeba toto:

//zase spojení s databází
$vyber = mysql_query("SELECT * FROM clanky WHERE id='".$_GET["id"]."'");
$clanek = mysql_fetch_array($vyber);
echo "<h2>" . $clanek["nazev"] . "</h2>";
echo $clanek["clanek"];
...
dromedaros
Profil
dobře tohle jsem pochopil. Děkuju, že se semnou tady celou tu dobu páráš.
Prosimťe myslím, že jsem se už jednou ptal ale jak mám vygenerovat to id
bukaj
Profil
vygenerovat? pokud myslíš, jak se dostane do databáze, tak to se automaticky přidává, když je do tabulky doplněn další řádek (ten sloupec `id` int(11) NOT NULL auto_increment,). MySQL si pamatuje poslední hodnotu a při každém novém řádku tuto hodnotu zvýší o jedničku (tím je zaručena jediněčnost každého záznamu a je to také nejčastěji používáno k rozlišení právě takovýchto věcí).
jinak fakt nevím... zkus to více popsat
dromedaros
Profil
jo je to asi to co říkáš
dromedaros
Profil
nevím co dělám špatně ale kdž vlezu na clanky.php
soubor pridejclanek.php:
<form action="pridej.php">
<input name="nadpis">
<textarea name="clanek"></textarea>
<input type="submit" value="odeslat">
</form>
soubor pridej.php:
<?

$spojeni = mysql_connect("serever","prima06","heslo" ) or die ('Spatne zadane udaje (asi heslo, server nebo jmeno.) v db_conn.php - ' . mysql_error());
mysql_select_db("prima06", $spojeni) or die ('Nepodarilo se vybrat databazi. Asi zadana databaze v db_conn.php - '. mysql_error());
$vysledek = mysql_query( "insert into clanky values(0, '$nadpis','$clanek')", $spojeni);
echo "článek byl přidán";
?>
tiso
Profil
dromedaros - nabudúce tu nedávaj heslo...
dromedaros
Profil
Já tam takový heslo nemám(heslo)
tiso
Profil
dromedaros - pôvodne si tu mal iné heslo, dokonca som ho zmenil i na "heslo", takže si nemôžeš byť istý tým že máš pravdu...
dromedaros
Profil
Vaše prasárna když mi budete rejt do webu. Kdyžtak si ho někam přesunu!
Rád bych abychom se věnovali tématu
tiso
Profil
dromedaros - vysvetlím Ti to teda ešte raz, po slovensky: zmeň si heslo!
Čo sa témy týka, tak pri inserte vymenuj aj stĺpce do ktorých ukladáš hodnoty, lebo values(0, '$nadpis','$clanek') Ti ukladá do nazev, autor, kategorie a to asi nie je dobre, že? Preštuduj si návody niekde na webe...
dromedaros
Profil
Tiso vrať mi zpátky to heslo. A hele měl bych ti vlastně poděkovat změnils heslo abys mě upozornil. Já blbec
dromedaros
Profil
Díky teď to funguje ale to heslo
Toto téma je uzamčeno. Odpověď nelze zaslat.