Autor | Zpráva | ||
---|---|---|---|
dromedaros Profil |
#1 · Zasláno: 7. 5. 2007, 12:30:02 · Upravil/a: dromedaros
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 * |
#2 · Zasláno: 7. 5. 2007, 13:12:09
Č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 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 |
#3 · Zasláno: 7. 5. 2007, 13:20:33
dromedaros
zkus hledat na netu www.linuxsoft.cz/php, http://www.pecan.cz/index.php?id=43&n=zobrazeni-clanku-z-databaze |
||
dromedaros Profil |
#4 · Zasláno: 7. 5. 2007, 13:51:17 · Upravil/a: dromedaros
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 |
#5 · Zasláno: 7. 5. 2007, 17:10:06
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 |
#6 · Zasláno: 7. 5. 2007, 19:43:23
Z toho co jsem vygoogloval jsem docela jelen. Co to je get a jak to mám aplikovat v mé věci?
|
||
bukaj Profil |
#7 · Zasláno: 7. 5. 2007, 21:16:10
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 |
#8 · Zasláno: 8. 5. 2007, 09:52:00 · Upravil/a: dromedaros
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 |
#9 · Zasláno: 8. 5. 2007, 15:54:34
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 |
#10 · Zasláno: 8. 5. 2007, 15:58:33 · Upravil/a: dromedaros
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 |
#11 · Zasláno: 8. 5. 2007, 16:01:11
dromedaros
a jak máš vlastně uložené články v db? jak vypadá tabulka, kde je máš uložené? |
||
dromedaros Profil |
#12 · Zasláno: 8. 5. 2007, 16:05:19 · Upravil/a: dromedaros
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 |
#13 · Zasláno: 8. 5. 2007, 16:26:38
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:
pak potom na stránce ukazclanek.php bude třeba toto:
|
||
dromedaros Profil |
#14 · Zasláno: 8. 5. 2007, 18:19:43
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 |
#15 · Zasláno: 8. 5. 2007, 18:32:48
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 |
#16 · Zasláno: 8. 5. 2007, 18:57:56
jo je to asi to co říkáš
|
||
dromedaros Profil |
#17 · Zasláno: 9. 5. 2007, 11:23:03 · Upravil/a: dromedaros
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 |
#18 · Zasláno: 9. 5. 2007, 13:51:08
dromedaros - nabudúce tu nedávaj heslo...
|
||
dromedaros Profil |
#19 · Zasláno: 9. 5. 2007, 14:03:08
Já tam takový heslo nemám(heslo)
|
||
tiso Profil |
#20 · Zasláno: 9. 5. 2007, 14:12:23
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 |
#21 · Zasláno: 9. 5. 2007, 14:25:13 · Upravil/a: dromedaros
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 |
#22 · Zasláno: 9. 5. 2007, 14:36:25
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 |
#23 · Zasláno: 9. 5. 2007, 19:38:25 · Upravil/a: dromedaros
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 |
#24 · Zasláno: 9. 5. 2007, 19:55:47 · Upravil/a: dromedaros
Díky teď to funguje ale to heslo
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0